newlib/winsup/w32api/include/gdiplus/gdipluslinecaps.h
Chris Sutcliffe cc077128d3 2010-07-08 Markus Koenig <basilo@users.sourceforge.net>
* 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.
2010-07-08 23:14:54 +00:00

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 */