cc077128d3
* include/gdiplus.h: New file. * include/gdiplus/gdiplus.h: New file. * include/gdiplus/gdiplusbase.h: New file. * include/gdiplus/gdiplusbrush.h: New file. * include/gdiplus/gdipluscolor.h: New file. * include/gdiplus/gdipluscolormatrix.h: New file. * include/gdiplus/gdipluseffects.h: New file. * include/gdiplus/gdiplusenums.h: New file. * include/gdiplus/gdiplusflat.h: New file. * include/gdiplus/gdiplusgpstubs.h: New file. * include/gdiplus/gdiplusgraphics.h: New file. * include/gdiplus/gdiplusheaders.h: New file. * include/gdiplus/gdiplusimageattributes.h: New file. * include/gdiplus/gdiplusimagecodec.h: New file. * include/gdiplus/gdiplusimaging.h: New file. * include/gdiplus/gdiplusimpl.h: New file. * include/gdiplus/gdiplusinit.h: New file. * include/gdiplus/gdipluslinecaps.h: New file. * include/gdiplus/gdiplusmatrix.h: New file. * include/gdiplus/gdiplusmem.h: New file. * include/gdiplus/gdiplusmetafile.h: New file. * include/gdiplus/gdiplusmetaheader.h: New file. * include/gdiplus/gdipluspath.h: New file. * include/gdiplus/gdipluspen.h: New file. * include/gdiplus/gdipluspixelformats.h: New file. * include/gdiplus/gdiplusstringformat.h: New file. * include/gdiplus/gdiplustypes.h: New file. * lib/gdiplus.c: New file containing GDI+ variable definitions and GUIDs. * lib/gdiplus.def: New file. * lib/Makefile.in: Add gdiplus.o to EXTRA_OBJS, add gdiplus.c to SOURCES. * lib/test.c: Include gdiplus.h.
132 lines
3.5 KiB
C++
Executable File
132 lines
3.5 KiB
C++
Executable File
/*
|
|
* gdipluslinecaps.h
|
|
*
|
|
* GDI+ AdjustableArrowCap class
|
|
*
|
|
* This file is part of the w32api package.
|
|
*
|
|
* Contributors:
|
|
* Created by Markus Koenig <markus@stber-koenig.de>
|
|
*
|
|
* THIS SOFTWARE IS NOT COPYRIGHTED
|
|
*
|
|
* This source code is offered for use in the public domain. You may
|
|
* use, modify or distribute it freely.
|
|
*
|
|
* This code is distributed in the hope that it will be useful but
|
|
* WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
|
|
* DISCLAIMED. This includes but is not limited to warranties of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
*
|
|
*/
|
|
|
|
#ifndef __GDIPLUS_LINECAPS_H
|
|
#define __GDIPLUS_LINECAPS_H
|
|
#if __GNUC__ >=3
|
|
#pragma GCC system_header
|
|
#endif
|
|
|
|
#ifndef __cplusplus
|
|
#error "A C++ compiler is required to include gdipluslinecaps.h."
|
|
#endif
|
|
|
|
class AdjustableArrowCap: public CustomLineCap
|
|
{
|
|
public:
|
|
AdjustableArrowCap(REAL height, REAL width, BOOL isFilled):
|
|
CustomLineCap(NULL, Ok)
|
|
{
|
|
GpAdjustableArrowCap *nativeAdjustableArrowCap = NULL;
|
|
lastStatus = DllExports::GdipCreateAdjustableArrowCap(
|
|
height, width, isFilled,
|
|
&nativeAdjustableArrowCap);
|
|
nativeCustomLineCap = nativeAdjustableArrowCap;
|
|
}
|
|
virtual ~AdjustableArrowCap()
|
|
{
|
|
}
|
|
virtual AdjustableArrowCap* Clone() const
|
|
{
|
|
GpCustomLineCap *cloneCustomLineCap = NULL;
|
|
Status status = updateStatus(DllExports::GdipCloneCustomLineCap(
|
|
nativeCustomLineCap, &cloneCustomLineCap));
|
|
if (status == Ok) {
|
|
AdjustableArrowCap *result = new AdjustableArrowCap(
|
|
cloneCustomLineCap, lastStatus);
|
|
if (!result) {
|
|
DllExports::GdipDeleteCustomLineCap(
|
|
cloneCustomLineCap);
|
|
lastStatus = OutOfMemory;
|
|
}
|
|
return result;
|
|
} else {
|
|
return NULL;
|
|
}
|
|
}
|
|
|
|
REAL GetHeight() const
|
|
{
|
|
REAL result = 0.0f;
|
|
updateStatus(DllExports::GdipGetAdjustableArrowCapHeight(
|
|
(GpAdjustableArrowCap*) nativeCustomLineCap,
|
|
&result));
|
|
return result;
|
|
}
|
|
REAL GetMiddleInset() const
|
|
{
|
|
REAL result = 0.0f;
|
|
updateStatus(DllExports::GdipGetAdjustableArrowCapMiddleInset(
|
|
(GpAdjustableArrowCap*) nativeCustomLineCap,
|
|
&result));
|
|
return result;
|
|
}
|
|
REAL GetWidth() const
|
|
{
|
|
REAL result = 0.0f;
|
|
updateStatus(DllExports::GdipGetAdjustableArrowCapWidth(
|
|
(GpAdjustableArrowCap*) nativeCustomLineCap,
|
|
&result));
|
|
return result;
|
|
}
|
|
BOOL IsFilled() const
|
|
{
|
|
BOOL result = FALSE;
|
|
updateStatus(DllExports::GdipGetAdjustableArrowCapFillState(
|
|
(GpAdjustableArrowCap*) nativeCustomLineCap,
|
|
&result));
|
|
return result;
|
|
}
|
|
Status SetFillState(BOOL isFilled)
|
|
{
|
|
return updateStatus(DllExports::GdipSetAdjustableArrowCapFillState(
|
|
(GpAdjustableArrowCap*) nativeCustomLineCap,
|
|
isFilled));
|
|
}
|
|
Status SetHeight(REAL height)
|
|
{
|
|
return updateStatus(DllExports::GdipSetAdjustableArrowCapHeight(
|
|
(GpAdjustableArrowCap*) nativeCustomLineCap,
|
|
height));
|
|
}
|
|
Status SetMiddleInset(REAL middleInset)
|
|
{
|
|
return updateStatus(DllExports::GdipSetAdjustableArrowCapMiddleInset(
|
|
(GpAdjustableArrowCap*) nativeCustomLineCap,
|
|
middleInset));
|
|
}
|
|
Status SetWidth(REAL width)
|
|
{
|
|
return updateStatus(DllExports::GdipSetAdjustableArrowCapWidth(
|
|
(GpAdjustableArrowCap*) nativeCustomLineCap,
|
|
width));
|
|
}
|
|
|
|
private:
|
|
AdjustableArrowCap(GpCustomLineCap *customLineCap, Status status):
|
|
CustomLineCap(customLineCap, status) {}
|
|
AdjustableArrowCap(const AdjustableArrowCap&);
|
|
AdjustableArrowCap& operator=(const AdjustableArrowCap&);
|
|
};
|
|
|
|
#endif /* __GDIPLUS_LINECAPS_H */
|