@@ -59,7 +59,7 @@ def __init__(self,
5959 self ._rotation = rotation
6060 self ._fontproperties = fontproperties
6161 self ._bbox = None
62-
62+ self . _renderer = None
6363 def _get_multialignment (self ):
6464 if self ._multialignment is not None : return self ._multialignment
6565 else : return self ._horizontalalignment
@@ -209,6 +209,8 @@ def set_bbox(self, rectprops):
209209 def draw (self , renderer ):
210210 if not self .get_visible (): return
211211 if self ._text == '' : return
212+ if renderer is not None :
213+ self ._renderer = renderer
212214
213215 gc = renderer .new_gc ()
214216 gc .set_foreground (self ._color )
@@ -315,8 +317,12 @@ def get_verticalalignment(self):
315317 "Return the vertical alignment as string"
316318 return self ._verticalalignment
317319
318- def get_window_extent (self , renderer ):
319- bbox , info = self ._get_layout (renderer )
320+ def get_window_extent (self , renderer = None ):
321+ if renderer is not None :
322+ self ._renderer = renderer
323+ if self ._renderer is None :
324+ raise RuntimeError ('Cannot get window extent w/o renderer' )
325+ bbox , info = self ._get_layout (self ._renderer )
320326 return bbox
321327
322328
0 commit comments