@@ -10192,8 +10192,10 @@ def invert_irect(self, bbox=None):
1019210192 return False
1019310193 r = JM_irect_from_py(bbox)
1019410194 if mupdf.fz_is_infinite_irect(r):
10195- r = mupdf.fz_pixmap_bbox( pm)
10196- return bool(JM_invert_pixmap_rect( pm, r))
10195+ mupdf.fz_invert_pixmap(pm)
10196+ return True
10197+ mupdf.fz_invert_pixmap_rect(pm, r)
10198+ return True
1019710199
1019810200 @property
1019910201 def irect(self):
@@ -16289,42 +16291,6 @@ def JM_insert_font(pdf, bfname, fontfile, fontbuffer, set_simple, idx, wmode, se
1628916291 ]
1629016292 return value
1629116293
16292-
16293- def JM_invert_pixmap_rect( dest, b):
16294- '''
16295- invert a rectangle - also supports non-alpha pixmaps
16296- '''
16297- assert isinstance( dest, mupdf.FzPixmap)
16298- assert isinstance( b, mupdf.FzIrect)
16299- b = mupdf.fz_intersect_irect(b, mupdf.fz_pixmap_bbox( dest))
16300- w = b.x1 - b.x0
16301- y = b.y1 - b.y0
16302- if w <= 0 or y <= 0:
16303- return 0
16304-
16305- destspan = dest.stride()
16306- destp = destspan * (b.y0 - dest.y()) + dest.n() * (b.x0 - dest.x())
16307- n0 = dest.n() - dest.alpha()
16308- alpha = dest.alpha()
16309- while 1:
16310- s = destp
16311- for x in range( w):
16312- for i in range( n0):
16313- ss = mupdf.fz_samples_get( dest, s)
16314- ss = 255 - ss
16315- mupdf.fz_samples_set( dest, s, ss)
16316- s += 1
16317- if alpha:
16318- ss = mupdf.fz_samples_get( dest, s)
16319- ss += 1
16320- mupdf.fz_samples_set( dest, s, ss)
16321- destp += destspan
16322- y -= 1
16323- if y == 0:
16324- break
16325- return 1
16326-
16327-
1632816294def JM_irect_from_py(r):
1632916295 '''
1633016296 PySequence to mupdf.FzIrect. Default: infinite irect
0 commit comments