summaryrefslogtreecommitdiff
path: root/external/gdiplus/include/gdiplustypes.h
diff options
context:
space:
mode:
Diffstat (limited to 'external/gdiplus/include/gdiplustypes.h')
-rw-r--r--external/gdiplus/include/gdiplustypes.h276
1 files changed, 276 insertions, 0 deletions
diff --git a/external/gdiplus/include/gdiplustypes.h b/external/gdiplus/include/gdiplustypes.h
new file mode 100644
index 000000000000..2e46bb4aecde
--- /dev/null
+++ b/external/gdiplus/include/gdiplustypes.h
@@ -0,0 +1,276 @@
+/*
+ * 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