[sugar] New version of piemenu.py, and some cairo questions
    Don Hopkins 
    dhopkins at DonHopkins.com
       
    Tue Feb 27 16:46:49 EST 2007
    
    
  
Thanks, that's just what I needed!
I've converted piemenu.py to use pango and markup text, so you can have 
multi-line labels and headers with html markup in them.
Using pango instead of the low level text api simplified the code, and 
now it does more and looks nicer!
Now you configure the fonts with simple pango font description strings 
like "Helvetica bold 24", instead of having a bunch of obnoxious 
instance variables for font family, weight, slant, size.
I updated the demo to use some gratuitous markup in the top level menu.
http://www.donhopkins.com/home/piemenu.py
    -Don
Marco Pesenti Gritti wrote:
> On Tue, 2007-02-27 at 10:45 +0200, Antoine van Gelder wrote:
>   
>> Don Hopkins wrote:
>>     
>>> I could use some tips about measuring the bounding box of fonts and text 
>>> in cairo, please.
>>>       
>> I gave up entirely on straight cairo text rendering and switched to 
>> pango - which ended up looking something like this:
>>
>> self.pango_context = self.create_pango_context()
>> self.layout = pango.Layout(self.pango_context)
>> fontDescription = pango.FontDescription("Monospace 8")
>> self.layout.set_font_description(fontDescription)
>> self.layout.set_text(text)
>> (self.pixel_width, self.pixel_height) = self.layout.get_pixel_size()
>> cairo_context.show_layout(self.layout)
>>     
>
> Yeah, I think the preferred way to do text rendering is to use pango.
> For a more complex example see the hippo canvas text item:
>
> http://svn.mugshot.org/dumbhippo/trunk/client/common/canvas/hippo/hippo-canvas-text.c
>
> Marco
>   
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.laptop.org/pipermail/sugar/attachments/20070227/e47d823e/attachment.html
    
    
More information about the Sugar
mailing list