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