On 5/28/07, <b class="gmail_sendername">Dmitry Timoshkov</b> <<a href="mailto:dmitry@codeweavers.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">dmitry@codeweavers.com</a>> 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;">
"Evan Stade" <<a href="mailto:estade@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">estade@gmail.com</a>> wrote:<br><br>> Well the Platform SDK headers use C++. From
gdiplus.h:<br>><br>> ...<br>> namespace DllExports<br>> {
<br>> #include "GdiplusFlat.h"<br>> };<br>> ...<br>><br>> And if you try to just include GdiplusFlat.h (i.e . only using the gdi+ flat<br>> 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<br>> using the platform sdk headers. In my eyes it seems that there are 2
<br>> options: edit the platform sdk headers so that they are compatible with C<br>> code (change "class GpFoo {};" to "typedef void GpFoo") or use g++ to<br>> compile. Are you suggesting the former over the latter?
<br><br>All you need are the API prototypes, and you can get those without including<br>headers that use C++.<br><br>--<br>Dmitry.<br></blockquote></div><br>The API prototypes use types that are defined as C++ classes. For example, one prototype (from
GdiPlusFlat.h) is
<br><br>GpStatus WINGDIPAPI GdipCloneBrush(GpBrush *brush, GpBrush **cloneBrush);<br><br>And GpBrush is defined as <br><br>class GpBrush {};<br>