[Mono-winforms-list] allow using installed cairo in libgdiplus

John Luke john.luke at gmail.com
Sat Jul 8 18:25:29 EDT 2006


Hello,

I wanted to see if I could make libgdiplus work with my installed
version of cairo instead of the included one.  The attached is what I
came up with and it seems to work ok.  There is currently one use of
pixman in a few places and one use of cairo_ps_ api that was changed in
the 1.2.0 release that prevent it from compiling against the released
cairo 1.2.

The use of pixman_bits_t seems to come from this:
http://galactus.ximian.com/pipermail/mono-winforms-list/2005-February/001439.html
but shouldn't it be 4 even on 64-bit machines?
If not can we substitute a suitable glib type there?

Here is the relevant part of pixman.h:
/*
* This single define controls the basic size of data manipulated
* by this software; it must be log2(sizeof (pixman_bits_t) * 8)
*/

/* We use a 32-bit size on all platforms, (even those with native 64
* bit types). This is consistent with the code currently in the X
* server, so it goes through much more well-tested code paths, (we
* saw rendering bugs when we tried IC_SHIFT==6 and uint64_t for
* pixman_bits_t on 64-bit platofrms). In addition, Keith says that
* his testing indicates that using 32-bits everywhere is a
* performance win in any case, (presumably due to 32-bit datapaths
* between the processor and the video card).
*/
#ifndef IC_SHIFT
#define IC_SHIFT 5
#define FB_SHIFT IC_SHIFT
typedef uint32_t pixman_bits_t;
#endif
-------------- next part --------------
A non-text attachment was scrubbed...
Name: system_cairo.patch
Type: text/x-patch
Size: 8862 bytes
Desc: not available
Url : http://lists.ximian.com/pipermail/mono-winforms-list/attachments/20060708/ec772b22/attachment.bin 


More information about the Mono-winforms-list mailing list