On 5/26/07, <b class="gmail_sendername">Alexandre Julliard</b> &lt;<a href="mailto:julliard@winehq.org">julliard@winehq.org</a>&gt; wrote:<div><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
&quot;Evan Stade&quot; &lt;<a href="mailto:estade@gmail.com">estade@gmail.com</a>&gt; writes:<br><br>&gt; I want to write conformance tests for gdiplus and that requires the use of<br>&gt; c++.&nbsp;&nbsp;Even if I were to focus on the gdi+ flat api, the windows SDK headers
<br>&gt; for that have c++ code in them, also eventually when the gdi+ c++ wrappers<br>&gt; are written on top of the flat api then we will need to be able to compile<br>&gt; c++ in the wine environment.&nbsp;&nbsp;What do I have to do to be able to write these
<br>&gt; tests?<br><br>I don&#39;t see any need to use C++ for that. All the exported APIs are<br>callable from C code, and the corresponding headers are C compatible<br>too.<br><br>--<br>Alexandre Julliard<br><a href="mailto:julliard@winehq.org">
julliard@winehq.org</a><br></blockquote></div><br>Well the Platform SDK headers use C++.&nbsp; From gdiplus.h:<br><br>...<br>&nbsp;&nbsp;&nbsp; namespace DllExports<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #include &quot;GdiplusFlat.h&quot;<br>&nbsp;&nbsp;&nbsp; };<br>...<br><br>
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:<br><br>...<br>class GpBrush {};<br>class GpTexture : public GpBrush {};<br>...<br><br>So
it would be impossible to compile any conformance test for gdi+ in C
using the platform sdk headers.&nbsp; In my eyes it seems that there are 2
options: edit the platform sdk headers so that they are compatible with
C code (change &quot;class GpFoo {};&quot; to &quot;typedef void GpFoo&quot;) or use g++ to
compile.&nbsp; Are you suggesting the former over the latter?
<br><span class="sg"><br>-Evan Stade</span><br>