On 5/26/07, Alexandre Julliard <[EMAIL PROTECTED]> wrote:

"Evan Stade" <[EMAIL PROTECTED]> writes:

> I want to write conformance tests for gdiplus and that requires the use
of
> c++.  Even if I were to focus on the gdi+ flat api, the windows SDK
headers
> for that have c++ code in them, also eventually when the gdi+ c++
wrappers
> are written on top of the flat api then we will need to be able to
compile
> c++ in the wine environment.  What do I have to do to be able to write
these
> tests?

I don't see any need to use C++ for that. All the exported APIs are
callable from C code, and the corresponding headers are C compatible
too.

--
Alexandre Julliard
[EMAIL PROTECTED]


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?

-Evan Stade


Reply via email to