[cairo] cairo_win32_surface_create api change

Stuart Parmenter stuartp at gmail.com
Mon Dec 5 12:14:46 PST 2005

Here's another patch that adds a 2nd api and will keep the old api
around but have it call the new one if it can.  It attempts to get the
width and height from the clip box of the HDC and will use that unless
it fails to get it or the clip box is a null region.


On 12/2/05, Owen Taylor <otaylor at redhat.com> wrote:
> On Thu, 2005-12-01 at 14:54 -0800, Stuart Parmenter wrote:
> > Here is my patch.
> >
> > The things "set up so that the width/height *are not* necessary" are
> > broken it turns out.  You are using the clipbox as the width/height of
> > the surface which will almost always be wrong if you're using
> > clipping. Backend functions such as get_extents need to actually
> > return the proper values for things to work.  Both of these tests hit
> > code paths that use get_extents after setting the clip region to null
> > resulting in a 0,0,0,0 return from get_extents which ends up clipping
> > out lots of stuff, which isn't really what you want.
> Without an actual description of the code paths that aren't working,
> it's hard for me to propose the correct fix, but the extents of a
> DIB or DDB are determinable without extra API and on general grounds
> having a drawing operation depend on the extents of a window almost
> certainly indicates that something is wrong.
> Regards,
>                                                 Owen
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cairo-win32-fix.diff
Type: application/octet-stream
Size: 6846 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/cairo/attachments/20051205/b0c6b802/cairo-win32-fix.obj

More information about the cairo mailing list