similar to the PDF 1.4 composition-based imaging model.
Our implementation is a C# wrapper around the GDI+ C API (also
- called the "GDI+ Flat API").
+ called the <a
+ href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdicpp/GDIPlus/GDIPlusReference.asp">"GDI+
+ Flat API"</a>).
- <img src="images/system-drawing.png">
-
- In Windows Mono uses the GDI+ library that is included
- with the operating system, while in Unix we provide an
- implementation of this API which uses Cairo to do the heavy
- lifting.
+ This means that the C# code is the same for Windows and Unix
+ systems. The following graph explains the situation:
- The implementation of GDI+ lives in mcs/class/System.Drawing
- in the gdiplus directory and requires Cairo to be installed to
- get the package built.
+ <center>
+ <img src="images/system-drawing.png">
+ </center>
+
+ In Windows Mono uses the GDI+ library that is included with
+ the operating system (<tt>GDIPLUS.DLL</tt>, while in Unix we
+ provide an implementation of this API in the
+ <tt>libgdiplus.so</tt> shared library. Our
+ <tt>libgdiplus.so</tt> has the same C Flat API as the
+ <tt>GDIPLUS.DLL</tt>. Our implementation uses Cairo to do
+ the heavy lifting.
+
+ The implementation of GDI+ lives in the libgdiplus cvs module
+ and requires <a
+ href="http://www.cairographics.org">Cairo</a> to be installed
+ to get the package built.
The C# code that implement System.Drawing is the same for
Windows and Unix builds.