GDI+ in D (was: Win32 to D)

nomad nospam at home.com
Sun Nov 8 15:40:59 PST 2009


Stewart Gordon Wrote:

> nomad wrote:
> > I would like to use the following Win32 function in D:
> > 
> > GpStatus WINGDIPAPI GdipEnumerateMetafileSrcRectDestPointI(
> >     GpGraphics * graphics,
> >     GDIPCONST GpMetafile * metafile,
> >     GDIPCONST Point & destPoint,
> >     GDIPCONST Rect & srcRect,
> >     Unit srcUnit,
> >     EnumerateMetafileProc callback,
> >     VOID * callbackData,
> >     GDIPCONST GpImageAttributes * imageAttributes
> > );
> > 
> > what is the proper way to do so?
> 
>  From what I can make out, the equivalent D1 declaration is probably
> 
> extern (Windows) GpStatus GdipEnumerateMetafileSrcRectDestPointI(
>      GpGraphics* graphics,
>      GpMetafile* metafile,
>      ref Point destPoint,
>      ref Rect srcRect,
>      Unit srcUnit,
>      EnumerateMetafileProc callback,
>      void* callbackData,
>      GpImageAttributes* imageAttributes
> );
> 
> The equivalent D2 declaration would add a few consts here and there.
> 
> But without seeing how WINGDIPAPI and GDIPCONST are defined, I can't be 
> sure.
> 
> Since a quick search reveals that this is a GDI+ function, I've changed 
> the subject line to make it clearer.  I presume you have the required libs?
> 
> Stewart.

Thanks Stewart. You are correct this is one of the many GDI+ functions I have been trying to port to D. I do not have the libs but was hoping to convert them from generate them from DLLs once I am done, unless of course someone is generous enough to offer them.

The definition of the to constants are as follows:

#define GDIPCONST const
#define WINGDIPAPI __stdcall



More information about the Digitalmars-d-learn mailing list