Skip to content

Commit 0d7640b

Browse files
committed
ENH : add stale flag to *Image* classes
1 parent 15cf72f commit 0d7640b

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

lib/matplotlib/image.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -375,6 +375,7 @@ def draw(self, renderer, *args, **kwargs):
375375
im._gid = self.get_gid()
376376
renderer.draw_image(gc, l, b, im)
377377
gc.restore()
378+
self.stale = False
378379

379380
def contains(self, mouseevent):
380381
"""
@@ -437,6 +438,7 @@ def set_data(self, A):
437438
self._rgbacache = None
438439
self._oldxslice = None
439440
self._oldyslice = None
441+
self.stale = True
440442

441443
def set_array(self, A):
442444
"""
@@ -481,6 +483,7 @@ def set_interpolation(self, s):
481483
if s not in self._interpd:
482484
raise ValueError('Illegal interpolation string')
483485
self._interpolation = s
486+
self.stale = True
484487

485488
def set_resample(self, v):
486489
"""
@@ -491,6 +494,7 @@ def set_resample(self, v):
491494
if v is None:
492495
v = rcParams['image.resample']
493496
self._resample = v
497+
self.stale = True
494498

495499
def get_resample(self):
496500
"""Return the image resample boolean"""
@@ -508,6 +512,8 @@ def set_filternorm(self, filternorm):
508512
else:
509513
self._filternorm = 0
510514

515+
self.stale = True
516+
511517
def get_filternorm(self):
512518
"""Return the filternorm setting"""
513519
return self._filternorm
@@ -523,6 +529,7 @@ def set_filterrad(self, filterrad):
523529
if r <= 0:
524530
raise ValueError("The filter radius must be a positive number")
525531
self._filterrad = r
532+
self.stale = True
526533

527534
def get_filterrad(self):
528535
"""return the filterrad setting"""
@@ -671,6 +678,7 @@ def set_extent(self, extent):
671678
self.axes.set_xlim((xmin, xmax), auto=None)
672679
if self.axes._autoscaleYon:
673680
self.axes.set_ylim((ymin, ymax), auto=None)
681+
self.stale = True
674682

675683
def get_extent(self):
676684
"""Get the image extent: left, right, bottom, top"""
@@ -778,6 +786,7 @@ def set_data(self, x, y, A):
778786
# accessed - JDH 3/3/2010
779787
self._oldxslice = None
780788
self._oldyslice = None
789+
self.stale = True
781790

782791
def set_array(self, *args):
783792
raise NotImplementedError('Method not supported')
@@ -890,6 +899,7 @@ def draw(self, renderer, *args, **kwargs):
890899
round(self.axes.bbox.ymin),
891900
im)
892901
gc.restore()
902+
self.stale = False
893903

894904
def set_data(self, x, y, A):
895905
A = cbook.safe_masked_invalid(A)
@@ -923,6 +933,7 @@ def set_data(self, x, y, A):
923933
self._Ax = x
924934
self._Ay = y
925935
self._rgbacache = None
936+
self.stale = True
926937

927938
def set_array(self, *args):
928939
raise NotImplementedError('Method not supported')
@@ -1046,6 +1057,7 @@ def draw(self, renderer, *args, **kwargs):
10461057
gc.set_alpha(self.get_alpha())
10471058
renderer.draw_image(gc, round(self.ox), round(self.oy), im)
10481059
gc.restore()
1060+
self.stale = False
10491061

10501062
def write_png(self, fname):
10511063
"""Write the image to png file with fname"""
@@ -1197,6 +1209,7 @@ def draw(self, renderer, *args, **kwargs):
11971209
b = np.min([y0, y1])
11981210
renderer.draw_image(gc, round(l), round(b), im)
11991211
gc.restore()
1212+
self.stale = True
12001213

12011214

12021215
def imread(fname, format=None):

0 commit comments

Comments
 (0)