msxml3: Fix compile without xml headers.
[wine/wine64.git] / include / gdiplusimaging.h
blob00ed3d1202476fb6fc734a9e30c2cf9cbb8098df
1 /*
2 * Copyright (C) 2007 Google (Evan Stade)
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifndef _GDIPLUSIMAGING_H
20 #define _GDIPLUSIMAGING_H
22 enum ImageLockMode
24 ImageLockModeRead = 1,
25 ImageLockModeWrite = 2,
26 ImageLockModeUserInputBuf = 4
29 #ifdef __cplusplus
30 class EncoderParameter
32 public:
33 GUID Guid;
34 ULONG NumberOfValues;
35 ULONG Type;
36 VOID* Value;
39 class EncoderParameters
41 public:
42 UINT Count;
43 EncoderParameter Parameter[1];
46 class ImageCodecInfo
48 public:
49 CLSID Clsid;
50 GUID FormatID;
51 const WCHAR* CodecName;
52 const WCHAR* DllName;
53 const WCHAR* FormatDescription;
54 const WCHAR* FilenameExtension;
55 const WCHAR* MimeType;
56 DWORD Flags;
57 DWORD Version;
58 DWORD SigCount;
59 DWORD SigSize;
60 const BYTE* SigPattern;
61 const BYTE* SigMask;
64 class BitmapData
66 public:
67 UINT Width;
68 UINT Height;
69 INT Stride;
70 PixelFormat PixelFormat;
71 VOID* Scan0;
72 UINT_PTR Reserved;
75 class ImageItemData
77 public:
78 UINT Size;
79 UINT Position;
80 VOID* Desc;
81 UINT DescSize;
82 VOID* Data;
83 UINT DataSize;
84 UINT Cookie;
87 #else /* end of c++ typedefs */
89 typedef enum ImageLockMode ImageLockMode;
91 typedef struct EncoderParameter
93 GUID Guid;
94 ULONG NumberOfValues;
95 ULONG Type;
96 VOID* Value;
97 } EncoderParameter;
99 typedef struct EncoderParameters
101 UINT Count;
102 EncoderParameter Parameter[1];
103 } EncoderParameters;
105 typedef struct ImageCodecInfo
107 CLSID Clsid;
108 GUID FormatID;
109 const WCHAR* CodecName;
110 const WCHAR* DllName;
111 const WCHAR* FormatDescription;
112 const WCHAR* FilenameExtension;
113 const WCHAR* MimeType;
114 DWORD Flags;
115 DWORD Version;
116 DWORD SigCount;
117 DWORD SigSize;
118 const BYTE* SigPattern;
119 const BYTE* SigMask;
120 } ImageCodecInfo;
122 typedef struct BitmapData
124 UINT Width;
125 UINT Height;
126 INT Stride;
127 PixelFormat PixelFormat;
128 VOID* Scan0;
129 UINT_PTR Reserved; /* undocumented: stores the lock mode */
130 } BitmapData;
132 typedef struct ImageItemData
134 UINT Size;
135 UINT Position;
136 VOID* Desc;
137 UINT DescSize;
138 VOID* Data;
139 UINT DataSize;
140 UINT Cookie;
141 } ImageItemData;
143 #endif /* end of c typedefs */
145 #endif /* _GDIPLUSIMAGING_H */