@@ -103,36 +103,6 @@ def _set_width_height(self, width, height):
103103 self .width = width
104104 self .height = height
105105
106- def get_canvas_width_height (self ):
107- if DEBUG : print 'backend_cairo.RendererCairo.%s()' % _fn_name ()
108- return self .width , self .height
109-
110-
111- def get_text_width_height (self , s , prop , ismath ):
112- if DEBUG : print 'backend_cairo.RendererCairo.%s()' % _fn_name ()
113- if ismath :
114- print 'ismath get_text_width_height() not implemented yet'
115- return 1 , 1
116- else :
117- ctx = self .text_ctx
118- ctx .save ()
119- ctx .select_font (prop .get_name (),
120- self .fontangles [prop .get_style ()],
121- self .fontweights [prop .get_weight ()])
122-
123- # 1.4 scales font to a similar size to GTK / GTKAgg backends
124- size = prop .get_size_in_points () * self .dpi .get () / PIXELS_PER_INCH * 1.4
125- # problem - scale remembers last setting and font can become
126- # enormous causing program to crash
127- # save/restore prevents the problem
128- ctx .scale_font (size )
129-
130- w , h = ctx .text_extents (s )[2 :4 ]
131- ctx .restore ()
132-
133- return w , h
134-
135-
136106 def draw_arc (self , gc , rgbFace , x , y , width , height , angle1 , angle2 ):
137107 if DEBUG : print 'backend_cairo.RendererCairo.%s()' % _fn_name ()
138108 # cairo draws circular arcs (width=height)
@@ -280,6 +250,36 @@ def flipy(self):
280250 return True
281251
282252
253+ def get_canvas_width_height (self ):
254+ if DEBUG : print 'backend_cairo.RendererCairo.%s()' % _fn_name ()
255+ return self .width , self .height
256+
257+
258+ def get_text_width_height (self , s , prop , ismath ):
259+ if DEBUG : print 'backend_cairo.RendererCairo.%s()' % _fn_name ()
260+ if ismath :
261+ print 'ismath get_text_width_height() not implemented yet'
262+ return 1 , 1
263+ else :
264+ ctx = self .text_ctx
265+ ctx .save ()
266+ ctx .select_font (prop .get_name (),
267+ self .fontangles [prop .get_style ()],
268+ self .fontweights [prop .get_weight ()])
269+
270+ # 1.4 scales font to a similar size to GTK / GTKAgg backends
271+ size = prop .get_size_in_points () * self .dpi .get () / PIXELS_PER_INCH * 1.4
272+ # problem - scale remembers last setting and font can become
273+ # enormous causing program to crash
274+ # save/restore prevents the problem
275+ ctx .scale_font (size )
276+
277+ w , h = ctx .text_extents (s )[2 :4 ]
278+ ctx .restore ()
279+
280+ return w , h
281+
282+
283283 def new_gc (self ):
284284 if DEBUG : print 'backend_cairo.RendererCairo.%s()' % _fn_name ()
285285 gc = GraphicsContextCairo (renderer = self )
0 commit comments