[cairo] API proposal: cairo_format_from_content and cairo_content_from_format

Behdad Esfahbod behdad at behdad.org
Tue Apr 24 11:11:31 PDT 2007


On Tue, 2007-04-24 at 17:40 -0400, Radek Doulik wrote:
> > Ok, so the obvious question would be: why doesn't the generic path work
> > for all platforms?
> 
> 	Because I need the system level drawable to do the text rendering which
> unfortunately has to happen in another part of OOo.
> 
> 	I still use cairo 1.0.x and so it is impossible to get the X11 drawable
> (or other system level drawable on the other platforms) from a surface
> created with cairo_surface_create_similar.

Ok, makes sense.  But with cairo 1.4.4 already out, isn't it time to
move to 1.2?  1.2 provides cairo_xlib_surface_get_drawable.  I assume
similar API may be missing in other backends, but we will not be able to
magically add it if you don't tell us about it.  Please do so.


Thanks,
behdad

> 	Thus I am creating the drawable beforehand and pass it to
> cairo_xlib_surface_create_with_xrender_format (similarly on other
> platforms)
> 
> Cheers
> Radek
> 
> > > Best Regards,
> > > 
> > >            Mox
> > > 
> > > P.S. I have not created the original OOo functions (e.g.
> > > getSurface()), just doing porting work for Mac OS X...
> > > 
> > > On 4/24/07, Carl Worth <cworth at cworth.org> wrote:
> > > > On Mon, 23 Apr 2007 17:32:39 -0400, Behdad Esfahbod wrote:
> > > > > Given the definition above, it's apparently something image-surface
> > > > > centric.  I was ignoring that until Max showed us how OO.o has the two
> > > > > following functions implemented:
> > > > >
> > > > > Format cairoHelperFormatFromContent(Content aContent);
> > > > > int cairoHelperX11FormatFromContent(Content aContent);
> > > > >
> > > > > Now that makes a lot more sense.
> > > >
> > > > Yeah, that's really the only way it would start making any
> > > > sense. Within the context of a given backend, you could want to ask
> > > > what format is associated with the surface returned by create_similar
> > > > for a particular content value.
> > > >
> > > > But even then, it still doesn't make a lot of sense. For example, if
> > > > you're running an X server with a 565 visual, then doing
> > > > create_similar with CAIRO_CONTENT_COLOR will give you a surface
> > > > targeting an X11 Pixmap with a 565 visual. But we still don't have any
> > > > cairo_format_t to describe that, so I don't see how trying to map a
> > > > content to a format in an "xlib aware" fashion would help.
> > > >
> > > > I guess I still don't see where this would be used. In what sequences
> > > > does OO.o find this useful?
> > > >
> > > > -Carl
> > > >
> > > > _______________________________________________
> > > > cairo mailing list
> > > > cairo at cairographics.org
> > > > http://cairographics.org/cgi-bin/mailman/listinfo/cairo
> > > >
> > > >
> > > 
> > > 
> 
> _______________________________________________
> cairo mailing list
> cairo at cairographics.org
> http://cairographics.org/cgi-bin/mailman/listinfo/cairo
-- 
behdad
http://behdad.org/

"Those who would give up Essential Liberty to purchase a little
 Temporary Safety, deserve neither Liberty nor Safety."
        -- Benjamin Franklin, 1759





More information about the cairo mailing list