On 5/28/07, Dmitry Timoshkov <[EMAIL PROTECTED]> wrote:
"Evan Stade" <[EMAIL PROTECTED]> wrote: > Well the Platform SDK headers use C++. From gdiplus.h: > > ... > namespace DllExports > { > #include "GdiplusFlat.h" > }; > ... > > And if you try to just include GdiplusFlat.h (i.e . only using the gdi+ flat > api), you have to include GdiplusGpStubs.h. From GdiplusGpStubs.h: > > ... > class GpBrush {}; > class GpTexture : public GpBrush {}; > ... > > So it would be impossible to compile any conformance test for gdi+ in C > using the platform sdk headers. In my eyes it seems that there are 2 > options: edit the platform sdk headers so that they are compatible with C > code (change "class GpFoo {};" to "typedef void GpFoo") or use g++ to > compile. Are you suggesting the former over the latter? All you need are the API prototypes, and you can get those without including headers that use C++. -- Dmitry.
The API prototypes use types that are defined as C++ classes. For example, one prototype (from GdiPlusFlat.h) is GpStatus WINGDIPAPI GdipCloneBrush(GpBrush *brush, GpBrush **cloneBrush); And GpBrush is defined as class GpBrush {};