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 {};


Reply via email to