[cairo] API proposal: cairo_format_from_content and
behdad at behdad.org
Mon Apr 23 22:35:00 PDT 2007
On Tue, 2007-04-24 at 07:54 +0300, Mox Soini wrote:
> Hi Carl, others.
> The function using that conversion in OOo is the OOo's equivalent "get similar":
> Surface* Surface::getSimilar( Content aContent, int width, int height );
> That getSimilar boils down to platform specific cairo calls, or a
> generic one, which are:
> - cairo_quartz_surface_create( nFormat, width, height ));
> - cairo_win32_surface_.... (... nFormat...);
> - cairo_xlib_surface_create_with_xrender_format( ... pFormat );
> - cairo_surface_create_similar( mpSurface, aContent, width, height )
> nFormat = cairoHelperFormatFromContent(aContent);
> pFormat = XRenderFindStandardFormat(...
> cairoHelperX11FormatFromContent(Content aContent)...);
Ok, so the obvious question would be: why doesn't the generic path work
for all platforms?
> Best Regards,
> 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
"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