/include/gdiplustypes.h
https://github.com/YokoZar/wine · C Header · 276 lines · 209 code · 46 blank · 21 comment · 10 complexity · e525867227c0209cd5320a7142606104 MD5 · raw file
- /*
- * Copyright (C) 2007 Google (Evan Stade)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
- #ifndef _GDIPLUSTYPES_H
- #define _GDIPLUSTYPES_H
- typedef float REAL;
- enum Status{
- Ok = 0,
- GenericError = 1,
- InvalidParameter = 2,
- OutOfMemory = 3,
- ObjectBusy = 4,
- InsufficientBuffer = 5,
- NotImplemented = 6,
- Win32Error = 7,
- WrongState = 8,
- Aborted = 9,
- FileNotFound = 10,
- ValueOverflow = 11,
- AccessDenied = 12,
- UnknownImageFormat = 13,
- FontFamilyNotFound = 14,
- FontStyleNotFound = 15,
- NotTrueTypeFont = 16,
- UnsupportedGdiplusVersion = 17,
- GdiplusNotInitialized = 18,
- PropertyNotFound = 19,
- PropertyNotSupported = 20,
- ProfileNotFound = 21
- };
- #ifdef __cplusplus
- extern "C" {
- #endif
- typedef BOOL (CALLBACK * ImageAbort)(VOID *);
- typedef ImageAbort DrawImageAbort;
- typedef ImageAbort GetThumbnailImageAbort;
- typedef BOOL (CALLBACK * EnumerateMetafileProc)(EmfPlusRecordType,UINT,UINT,const BYTE*,VOID*);
- #ifdef __cplusplus
- }
- #endif
- #ifdef __cplusplus
- class Point
- {
- public:
- Point()
- {
- X = Y = 0;
- }
- Point(IN const Point &pt)
- {
- X = pt.X;
- Y = pt.Y;
- }
- /* FIXME: missing constructor that takes a Size */
- Point(IN INT x, IN INT y)
- {
- X = x;
- Y = y;
- }
- Point operator+(IN const Point& pt) const
- {
- return Point(X + pt.X, Y + pt.Y);
- }
- Point operator-(IN const Point& pt) const
- {
- return Point(X - pt.X, Y - pt.Y);
- }
- BOOL Equals(IN const Point& pt)
- {
- return (X == pt.X) && (Y == pt.Y);
- }
- public:
- INT X;
- INT Y;
- };
- class PointF
- {
- public:
- PointF()
- {
- X = Y = 0.0f;
- }
- PointF(IN const PointF &pt)
- {
- X = pt.X;
- Y = pt.Y;
- }
- /* FIXME: missing constructor that takes a SizeF */
- PointF(IN REAL x, IN REAL y)
- {
- X = x;
- Y = y;
- }
- PointF operator+(IN const PointF& pt) const
- {
- return PointF(X + pt.X, Y + pt.Y);
- }
- PointF operator-(IN const PointF& pt) const
- {
- return PointF(X - pt.X, Y - pt.Y);
- }
- BOOL Equals(IN const PointF& pt)
- {
- return (X == pt.X) && (Y == pt.Y);
- }
- public:
- REAL X;
- REAL Y;
- };
- class PathData
- {
- public:
- PathData()
- {
- Count = 0;
- Points = NULL;
- Types = NULL;
- }
- ~PathData()
- {
- if (Points != NULL)
- {
- delete Points;
- }
- if (Types != NULL)
- {
- delete Types;
- }
- }
- private:
- PathData(const PathData &);
- PathData& operator=(const PathData &);
- public:
- INT Count;
- PointF* Points;
- BYTE* Types;
- };
- /* FIXME: missing the methods. */
- class RectF
- {
- public:
- REAL X;
- REAL Y;
- REAL Width;
- REAL Height;
- };
- /* FIXME: missing the methods. */
- class Rect
- {
- public:
- INT X;
- INT Y;
- INT Width;
- INT Height;
- };
- class CharacterRange
- {
- public:
- CharacterRange()
- {
- First = Length = 0;
- }
- CharacterRange(INT first, INT length)
- {
- First = first;
- Length = length;
- }
- CharacterRange& operator=(const CharacterRange& rhs)
- {
- First = rhs.First;
- Length = rhs.Length;
- return *this;
- }
- public:
- INT First;
- INT Length;
- };
- #else /* end of c++ typedefs */
- typedef struct Point
- {
- INT X;
- INT Y;
- } Point;
- typedef struct PointF
- {
- REAL X;
- REAL Y;
- } PointF;
- typedef struct PathData
- {
- INT Count;
- PointF* Points;
- BYTE* Types;
- } PathData;
- typedef struct RectF
- {
- REAL X;
- REAL Y;
- REAL Width;
- REAL Height;
- } RectF;
- typedef struct Rect
- {
- INT X;
- INT Y;
- INT Width;
- INT Height;
- } Rect;
- typedef struct CharacterRange
- {
- INT First;
- INT Length;
- } CharacterRange;
- typedef enum Status Status;
- #endif /* end of c typedefs */
- #endif