1 | /*
|
---|
2 | * Copyright 2009 Vincent Povirk for CodeWeavers
|
---|
3 | *
|
---|
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.
|
---|
8 | *
|
---|
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.
|
---|
13 | *
|
---|
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
|
---|
17 | */
|
---|
18 |
|
---|
19 | /*
|
---|
20 | * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
|
---|
21 | * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
|
---|
22 | * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
|
---|
23 | * a choice of LGPL license versions is made available with the language indicating
|
---|
24 | * that LGPLv2 or any later version may be used, or where a choice of which version
|
---|
25 | * of the LGPL is applied is otherwise unspecified.
|
---|
26 | */
|
---|
27 |
|
---|
28 | import "wtypes.idl";
|
---|
29 | import "propidl.idl";
|
---|
30 | import "ocidl.idl";
|
---|
31 |
|
---|
32 | cpp_quote("#define WINCODEC_SDK_VERSION 0x0236")
|
---|
33 |
|
---|
34 | #define CODEC_FORCE_DWORD 0x7fffffff
|
---|
35 |
|
---|
36 | typedef enum WICDecodeOptions {
|
---|
37 | WICDecodeMetadataCacheOnDemand = 0x00000000,
|
---|
38 | WICDecodeMetadataCacheOnLoad = 0x00000001,
|
---|
39 | WICMETADATACACHEOPTION_FORCE_DWORD = CODEC_FORCE_DWORD
|
---|
40 | } WICDecodeOptions;
|
---|
41 |
|
---|
42 | typedef enum WICBitmapCreateCacheOption {
|
---|
43 | WICBitmapNoCache = 0x00000000,
|
---|
44 | WICBitmapCacheOnDemand = 0x00000001,
|
---|
45 | WICBitmapCacheOnLoad = 0x00000002,
|
---|
46 | WICBITMAPCREATECACHEOPTION_FORCE_DWORD = CODEC_FORCE_DWORD
|
---|
47 | } WICBitmapCreateCacheOption;
|
---|
48 |
|
---|
49 | typedef enum WICBitmapAlphaChannelOption {
|
---|
50 | WICBitmapUseAlpha = 0x00000000,
|
---|
51 | WICBitmapUsePremultipliedAlpha = 0x00000001,
|
---|
52 | WICBitmapIgnoreAlpha = 0x00000002,
|
---|
53 | WICBITMAPALPHACHANNELOPTIONS_FORCE_DWORD = CODEC_FORCE_DWORD
|
---|
54 | } WICBitmapAlphaChannelOption;
|
---|
55 |
|
---|
56 | typedef enum WICBitmapDecoderCapabilities {
|
---|
57 | WICBitmapDecoderCapabilitySameEncoder = 0x00000001,
|
---|
58 | WICBitmapDecoderCapabilityCanDecodeAllImages = 0x00000002,
|
---|
59 | WICBitmapDecoderCapabilityCanDecodeSomeImages = 0x00000004,
|
---|
60 | WICBitmapDecoderCapabilityCanEnumerateMetadata = 0x00000008,
|
---|
61 | WICBitmapDecoderCapabilityCanDecodeThumbnail = 0x00000010,
|
---|
62 | } WICBitmapDecoderCapabilities;
|
---|
63 |
|
---|
64 | typedef enum WICBitmapDitherType {
|
---|
65 | WICBitmapDitherTypeNone = 0x00000000,
|
---|
66 | WICBitmapDitherTypeSolid = 0x00000000,
|
---|
67 | WICBitmapDitherTypeOrdered4x4 = 0x00000001,
|
---|
68 | WICBitmapDitherTypeOrdered8x8 = 0x00000002,
|
---|
69 | WICBitmapDitherTypeOrdered16x16 = 0x00000003,
|
---|
70 | WICBitmapDitherTypeSpiral4x4 = 0x00000004,
|
---|
71 | WICBitmapDitherTypeSpiral8x8 = 0x00000005,
|
---|
72 | WICBitmapDitherTypeDualSpiral4x4 = 0x00000006,
|
---|
73 | WICBitmapDitherTypeDualSpiral8x8 = 0x00000007,
|
---|
74 | WICBitmapDitherTypeErrorDiffusion = 0x00000008,
|
---|
75 | WICBITMAPDITHERTYPE_FORCE_DWORD = CODEC_FORCE_DWORD
|
---|
76 | } WICBitmapDitherType;
|
---|
77 |
|
---|
78 | typedef enum WICBitmapEncoderCacheOption {
|
---|
79 | WICBitmapEncoderCacheInMemory = 0x00000000,
|
---|
80 | WICBitmapEncoderCacheTempFile = 0x00000001,
|
---|
81 | WICBitmapEncoderNoCache = 0x00000002,
|
---|
82 | WICBITMAPENCODERCACHEOPTION_FORCE_DWORD = CODEC_FORCE_DWORD
|
---|
83 | } WICBitmapEncoderCacheOption;
|
---|
84 |
|
---|
85 | typedef enum WICBitmapInterpolationMode {
|
---|
86 | WICBitmapInterpolationModeNearestNeighbor = 0x00000000,
|
---|
87 | WICBitmapInterpolationModeLinear = 0x00000001,
|
---|
88 | WICBitmapInterpolationModeCubic = 0x00000002,
|
---|
89 | WICBitmapInterpolationModeFant = 0x00000003,
|
---|
90 | WICBITMAPINTERPOLATIONMODE_FORCE_DWORD = CODEC_FORCE_DWORD
|
---|
91 | } WICBitmapInterpolationMode;
|
---|
92 |
|
---|
93 | typedef enum WICBitmapLockFlags {
|
---|
94 | WICBitmapLockRead = 0x00000001,
|
---|
95 | WICBitmapLockWrite = 0x00000002,
|
---|
96 | WICBITMAPLOCKFLAGS_FORCE_DWORD = CODEC_FORCE_DWORD
|
---|
97 | } WICBitmapLockFlags;
|
---|
98 |
|
---|
99 | typedef enum WICBitmapPaletteType {
|
---|
100 | WICBitmapPaletteTypeCustom = 0x00000000,
|
---|
101 | WICBitmapPaletteTypeMedianCut = 0x00000001,
|
---|
102 | WICBitmapPaletteTypeFixedBW = 0x00000002,
|
---|
103 | WICBitmapPaletteTypeFixedHalftone8 = 0x00000003,
|
---|
104 | WICBitmapPaletteTypeFixedHalftone27 = 0x00000004,
|
---|
105 | WICBitmapPaletteTypeFixedHalftone64 = 0x00000005,
|
---|
106 | WICBitmapPaletteTypeFixedHalftone125 = 0x00000006,
|
---|
107 | WICBitmapPaletteTypeFixedHalftone216 = 0x00000007,
|
---|
108 | WICBitmapPaletteTypeFixedWebPalette = WICBitmapPaletteTypeFixedHalftone216,
|
---|
109 | WICBitmapPaletteTypeFixedHalftone252 = 0x00000008,
|
---|
110 | WICBitmapPaletteTypeFixedHalftone256 = 0x00000009,
|
---|
111 | WICBitmapPaletteTypeFixedGray4 = 0x0000000A,
|
---|
112 | WICBitmapPaletteTypeFixedGray16 = 0x0000000B,
|
---|
113 | WICBitmapPaletteTypeFixedGray256 = 0x0000000C,
|
---|
114 | WICBITMAPPALETTETYPE_FORCE_DWORD = CODEC_FORCE_DWORD
|
---|
115 | } WICBitmapPaletteType;
|
---|
116 |
|
---|
117 | typedef enum WICBitmapTransformOptions {
|
---|
118 | WICBitmapTransformRotate0 = 0x00000000,
|
---|
119 | WICBitmapTransformRotate90 = 0x00000001,
|
---|
120 | WICBitmapTransformRotate180 = 0x00000002,
|
---|
121 | WICBitmapTransformRotate270 = 0x00000003,
|
---|
122 | WICBitmapTransformFlipHorizontal = 0x00000008,
|
---|
123 | WICBitmapTransformFlipVertical = 0x00000010,
|
---|
124 | WICBITMAPTRANSFORMOPTIONS_FORCE_DWORD = CODEC_FORCE_DWORD
|
---|
125 | } WICBitmapTransformOptions;
|
---|
126 |
|
---|
127 | typedef enum WICColorContextType {
|
---|
128 | WICColorContextUninitialized = 0x00000000,
|
---|
129 | WICColorContextProfile = 0x00000001,
|
---|
130 | WICColorContextExifColorSpace = 0x00000002
|
---|
131 | } WICColorContextType;
|
---|
132 |
|
---|
133 | typedef enum WICComponentType {
|
---|
134 | WICDecoder = 0x00000001,
|
---|
135 | WICEncoder = 0x00000002,
|
---|
136 | WICPixelFormatConverter = 0x00000004,
|
---|
137 | WICMetadataReader = 0x00000008,
|
---|
138 | WICMetadataWriter = 0x00000010,
|
---|
139 | WICPixelFormat = 0x00000020,
|
---|
140 | WICCOMPONENTTYPE_FORCE_DWORD = CODEC_FORCE_DWORD
|
---|
141 | } WICComponentType;
|
---|
142 |
|
---|
143 | typedef enum WICComponentSigning {
|
---|
144 | WICComponentSigned = 0x00000001,
|
---|
145 | WICComponentUnsigned = 0x00000002,
|
---|
146 | WICComponentSafe = 0x00000004,
|
---|
147 | WICComponentDisabled = 0x80000000
|
---|
148 | } WICComponentSigning;
|
---|
149 |
|
---|
150 | typedef enum WICComponentEnumerateOptions {
|
---|
151 | WICComponentEnumerateDefault = 0x00000000,
|
---|
152 | WICComponentEnumerateRefresh = 0x00000001,
|
---|
153 | WICComponentEnumerateBuiltInOnly = 0x20000000,
|
---|
154 | WICComponentEnumerateUnsigned = 0x40000000,
|
---|
155 | WICComponentEnumerateDisabled = 0x80000000
|
---|
156 | } WICComponentEnumerateOptions;
|
---|
157 |
|
---|
158 | typedef enum WICPixelFormatNumericRepresentation {
|
---|
159 | WICPixelFormatNumericRepresentationUnspecified = 0x00000000,
|
---|
160 | WICPixelFormatNumericRepresentationIndexed = 0x00000001,
|
---|
161 | WICPixelFormatNumericRepresentationUnsignedInteger = 0x00000002,
|
---|
162 | WICPixelFormatNumericRepresentationSignedInteger = 0x00000003,
|
---|
163 | WICPixelFormatNumericRepresentationFixed = 0x00000004,
|
---|
164 | WICPixelFormatNumericRepresentationFloat = 0x00000005,
|
---|
165 | WICPIXELFORMATNUMERICREPRESENTATION_FORCE_DWORD = CODEC_FORCE_DWORD
|
---|
166 | } WICPixelFormatNumericRepresentation;
|
---|
167 |
|
---|
168 | typedef enum WICTiffCompressionOption {
|
---|
169 | WICTiffCompressionDontCare = 0x00000000,
|
---|
170 | WICTiffCompressionNone = 0x00000001,
|
---|
171 | WICTiffCompressionCCITT3 = 0x00000002,
|
---|
172 | WICTiffCompressionCCITT4 = 0x00000003,
|
---|
173 | WICTiffCompressionLZW = 0x00000004,
|
---|
174 | WICTiffCompressionRLE = 0x00000005,
|
---|
175 | WICTiffCompressionZIP = 0x00000006,
|
---|
176 | WICTiffCompressionLZWHDifferencing = 0x00000007,
|
---|
177 | WICTIFFCOMPRESSIONOPTION_FORCE_DWORD = CODEC_FORCE_DWORD
|
---|
178 | } WICTiffCompressionOption;
|
---|
179 |
|
---|
180 | typedef GUID WICPixelFormatGUID;
|
---|
181 | typedef REFGUID REFWICPixelFormatGUID;
|
---|
182 |
|
---|
183 | cpp_quote("DEFINE_GUID(GUID_WICPixelFormatDontCare, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x00);")
|
---|
184 | cpp_quote("#define GUID_WICPixelFormatUndefined GUID_WICPixelFormatDontCare")
|
---|
185 |
|
---|
186 | cpp_quote("DEFINE_GUID(GUID_WICPixelFormat1bppIndexed, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x01);")
|
---|
187 | cpp_quote("DEFINE_GUID(GUID_WICPixelFormat2bppIndexed, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x02);")
|
---|
188 | cpp_quote("DEFINE_GUID(GUID_WICPixelFormat4bppIndexed, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x03);")
|
---|
189 | cpp_quote("DEFINE_GUID(GUID_WICPixelFormat8bppIndexed, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x04);")
|
---|
190 |
|
---|
191 | cpp_quote("DEFINE_GUID(GUID_WICPixelFormatBlackWhite, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x05);")
|
---|
192 | cpp_quote("DEFINE_GUID(GUID_WICPixelFormat2bppGray, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x06);")
|
---|
193 | cpp_quote("DEFINE_GUID(GUID_WICPixelFormat4bppGray, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x07);")
|
---|
194 | cpp_quote("DEFINE_GUID(GUID_WICPixelFormat8bppGray, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x08);")
|
---|
195 | cpp_quote("DEFINE_GUID(GUID_WICPixelFormat16bppGray, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0b);")
|
---|
196 |
|
---|
197 | cpp_quote("DEFINE_GUID(GUID_WICPixelFormat16bppBGR555, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x09);")
|
---|
198 | cpp_quote("DEFINE_GUID(GUID_WICPixelFormat16bppBGR565, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0a);")
|
---|
199 | cpp_quote("DEFINE_GUID(GUID_WICPixelFormat16bppBGRA5551, 0x05ec7c2b,0xf1e6,0x4961,0xad,0x46,0xe1,0xcc,0x81,0x0a,0x87,0xd2);")
|
---|
200 | cpp_quote("DEFINE_GUID(GUID_WICPixelFormat24bppBGR, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0c);")
|
---|
201 | cpp_quote("DEFINE_GUID(GUID_WICPixelFormat24bppRGB, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0d);")
|
---|
202 | cpp_quote("DEFINE_GUID(GUID_WICPixelFormat32bppBGR, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0e);")
|
---|
203 | cpp_quote("DEFINE_GUID(GUID_WICPixelFormat32bppBGRA, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0f);")
|
---|
204 | cpp_quote("DEFINE_GUID(GUID_WICPixelFormat32bppPBGRA, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x10);")
|
---|
205 |
|
---|
206 | cpp_quote("DEFINE_GUID(GUID_WICPixelFormat48bppRGB, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x15);")
|
---|
207 | cpp_quote("DEFINE_GUID(GUID_WICPixelFormat64bppRGBA, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x16);")
|
---|
208 | cpp_quote("DEFINE_GUID(GUID_WICPixelFormat64bppPRGBA, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x17);")
|
---|
209 |
|
---|
210 | cpp_quote("DEFINE_GUID(GUID_WICPixelFormat32bppCMYK, 0x6fddc324,0x4e03,0x4fbe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x1c);")
|
---|
211 |
|
---|
212 | typedef struct WICRect {
|
---|
213 | INT X;
|
---|
214 | INT Y;
|
---|
215 | INT Width;
|
---|
216 | INT Height;
|
---|
217 | } WICRect;
|
---|
218 |
|
---|
219 | typedef struct WICBitmapPattern {
|
---|
220 | ULARGE_INTEGER Position;
|
---|
221 | ULONG Length;
|
---|
222 | BYTE *Pattern;
|
---|
223 | BYTE *Mask;
|
---|
224 | BOOL EndOfStream;
|
---|
225 | } WICBitmapPattern;
|
---|
226 |
|
---|
227 | typedef UINT32 WICColor;
|
---|
228 |
|
---|
229 | cpp_quote("#define WINCODEC_ERR_WRONGSTATE 0x88982f04")
|
---|
230 | cpp_quote("#define WINCODEC_ERR_VALUEOUTOFRANGE 0x88982f05")
|
---|
231 | cpp_quote("#define WINCODEC_ERR_NOTINITIALIZED 0x88982f0c")
|
---|
232 | cpp_quote("#define WINCODEC_ERR_ALREADYLOCKED 0x88982f0d")
|
---|
233 | cpp_quote("#define WINCODEC_ERR_PROPERTYNOTFOUND 0x88982f40")
|
---|
234 | cpp_quote("#define WINCODEC_ERR_CODECNOTHUMBNAIL 0x88982f44")
|
---|
235 | cpp_quote("#define WINCODEC_ERR_PALETTEUNAVAILABLE 0x88982f45")
|
---|
236 | cpp_quote("#define WINCODEC_ERR_COMPONENTNOTFOUND 0x88982f50")
|
---|
237 | cpp_quote("#define WINCODEC_ERR_BADIMAGE 0x88982f60")
|
---|
238 | cpp_quote("#define WINCODEC_ERR_FRAMEMISSING 0x88982f62")
|
---|
239 | cpp_quote("#define WINCODEC_ERR_BADMETADATAHEADER 0x88982f63")
|
---|
240 | cpp_quote("#define WINCODEC_ERR_UNSUPPORTEDPIXELFORMAT 0x88982f80")
|
---|
241 | cpp_quote("#define WINCODEC_ERR_UNSUPPORTEDOPERATION 0x88982f81")
|
---|
242 | cpp_quote("#define WINCODEC_ERR_INSUFFICIENTBUFFER 0x88982f8c")
|
---|
243 | cpp_quote("#define WINCODEC_ERR_PROPERTYUNEXPECTEDTYPE 0x88982f8e")
|
---|
244 | cpp_quote("#define WINCODEC_ERR_WIN32ERROR 0x88982f94")
|
---|
245 |
|
---|
246 | interface IWICPalette;
|
---|
247 |
|
---|
248 | [
|
---|
249 | object,
|
---|
250 | uuid(3c613a02-34b2-44ea-9a7c-45aea9c6fd6d)
|
---|
251 | ]
|
---|
252 | interface IWICColorContext : IUnknown
|
---|
253 | {
|
---|
254 | HRESULT InitializeFromFilename(
|
---|
255 | [in] LPCWSTR wzFilename);
|
---|
256 |
|
---|
257 | HRESULT InitializeFromMemory(
|
---|
258 | [in, size_is(cbBufferSize)] const BYTE *pbBuffer,
|
---|
259 | [in] UINT cbBufferSize);
|
---|
260 |
|
---|
261 | HRESULT InitializeFromExifColorSpace(
|
---|
262 | [in] UINT value);
|
---|
263 |
|
---|
264 | HRESULT GetType(
|
---|
265 | [out] WICColorContextType *pType);
|
---|
266 |
|
---|
267 | HRESULT GetProfileBytes(
|
---|
268 | [in] UINT cbBuffer,
|
---|
269 | [in, out, unique, size_is(cbBuffer)] BYTE *pbBuffer,
|
---|
270 | [out] UINT *pcbActual);
|
---|
271 |
|
---|
272 | HRESULT GetExifColorSpace(
|
---|
273 | [out] UINT *pValue);
|
---|
274 | }
|
---|
275 |
|
---|
276 | [
|
---|
277 | object,
|
---|
278 | uuid(00000120-a8f2-4877-ba0a-fd2b6645fb94)
|
---|
279 | ]
|
---|
280 | interface IWICBitmapSource : IUnknown
|
---|
281 | {
|
---|
282 | HRESULT GetSize(
|
---|
283 | [out] UINT *puiWidth,
|
---|
284 | [out] UINT *puiHeight);
|
---|
285 |
|
---|
286 | HRESULT GetPixelFormat(
|
---|
287 | [out] WICPixelFormatGUID *pPixelFormat);
|
---|
288 |
|
---|
289 | HRESULT GetResolution(
|
---|
290 | [out] double *pDpiX,
|
---|
291 | [out] double *pDpiY);
|
---|
292 |
|
---|
293 | HRESULT CopyPalette(
|
---|
294 | [in] IWICPalette *pIPalette);
|
---|
295 |
|
---|
296 | HRESULT CopyPixels(
|
---|
297 | [in] const WICRect *prc,
|
---|
298 | [in] UINT cbStride,
|
---|
299 | [in] UINT cbBufferSize,
|
---|
300 | [out, size_is(cbBufferSize)] BYTE *pbBuffer);
|
---|
301 | }
|
---|
302 |
|
---|
303 | [
|
---|
304 | object,
|
---|
305 | uuid(00000123-a8f2-4877-ba0a-fd2b6645fb94)
|
---|
306 | ]
|
---|
307 | interface IWICBitmapLock : IUnknown
|
---|
308 | {
|
---|
309 | HRESULT GetSize(
|
---|
310 | [out] UINT *pWidth,
|
---|
311 | [out] UINT *pHeight);
|
---|
312 |
|
---|
313 | HRESULT GetStride(
|
---|
314 | [out] UINT *pcbStride);
|
---|
315 |
|
---|
316 | HRESULT GetDataPointer(
|
---|
317 | [out] UINT *pcbBufferSize,
|
---|
318 | [out, size_is(,*pcbBufferSize)] BYTE **ppbData);
|
---|
319 |
|
---|
320 | HRESULT GetPixelFormat(
|
---|
321 | [out] WICPixelFormatGUID *pPixelFormat);
|
---|
322 | }
|
---|
323 |
|
---|
324 | [
|
---|
325 | object,
|
---|
326 | uuid(5009834f-2d6a-41ce-9e1b-17c5aff7a782)
|
---|
327 | ]
|
---|
328 | interface IWICBitmapFlipRotator : IWICBitmapSource
|
---|
329 | {
|
---|
330 | HRESULT Initialize(
|
---|
331 | [in] IWICBitmapSource *pISource,
|
---|
332 | [in] WICBitmapTransformOptions options);
|
---|
333 | }
|
---|
334 |
|
---|
335 | [
|
---|
336 | object,
|
---|
337 | uuid(00000121-a8f2-4877-ba0a-fd2b6645fb94)
|
---|
338 | ]
|
---|
339 | interface IWICBitmap : IWICBitmapSource
|
---|
340 | {
|
---|
341 | HRESULT Lock(
|
---|
342 | [in] const WICRect *prcLock,
|
---|
343 | [in] DWORD flags,
|
---|
344 | [out] IWICBitmapLock **ppILock);
|
---|
345 |
|
---|
346 | HRESULT SetPalette(
|
---|
347 | [in] IWICPalette *pIPalette);
|
---|
348 |
|
---|
349 | HRESULT SetResolution(
|
---|
350 | [in] double dpiX,
|
---|
351 | [in] double dpiY);
|
---|
352 | }
|
---|
353 |
|
---|
354 | [
|
---|
355 | object,
|
---|
356 | uuid(00000040-a8f2-4877-ba0a-fd2b6645fb94)
|
---|
357 | ]
|
---|
358 | interface IWICPalette : IUnknown
|
---|
359 | {
|
---|
360 | HRESULT InitializePredefined(
|
---|
361 | [in] WICBitmapPaletteType ePaletteType,
|
---|
362 | [in] BOOL fAddTransparentColor);
|
---|
363 |
|
---|
364 | HRESULT InitializeCustom(
|
---|
365 | [in, size_is(colorCount)] WICColor *pColors,
|
---|
366 | [in] UINT colorCount);
|
---|
367 |
|
---|
368 | HRESULT InitializeFromBitmap(
|
---|
369 | [in] IWICBitmapSource *pISurface,
|
---|
370 | [in] UINT colorCount,
|
---|
371 | [in] BOOL fAddTransparentColor);
|
---|
372 |
|
---|
373 | HRESULT InitializeFromPalette(
|
---|
374 | [in] IWICPalette *pIPalette);
|
---|
375 |
|
---|
376 | HRESULT GetType(
|
---|
377 | [out] WICBitmapPaletteType *pePaletteType);
|
---|
378 |
|
---|
379 | HRESULT GetColorCount(
|
---|
380 | [out] UINT *pcCount);
|
---|
381 |
|
---|
382 | HRESULT GetColors(
|
---|
383 | [in] UINT colorCount,
|
---|
384 | [out, size_is(colorCount)] WICColor *pColors,
|
---|
385 | [out] UINT *pcActualColors);
|
---|
386 |
|
---|
387 | HRESULT IsBlackWhite(
|
---|
388 | [out] BOOL *pfIsBlackWhite);
|
---|
389 |
|
---|
390 | HRESULT IsGrayscale(
|
---|
391 | [out] BOOL *pfIsGrayscale);
|
---|
392 |
|
---|
393 | HRESULT HasAlpha(
|
---|
394 | [out] BOOL *pfHasAlpha);
|
---|
395 | }
|
---|
396 |
|
---|
397 | [
|
---|
398 | object,
|
---|
399 | uuid(23bc3f0a-698b-4357-886b-f24d50671334)
|
---|
400 | ]
|
---|
401 | interface IWICComponentInfo : IUnknown
|
---|
402 | {
|
---|
403 | HRESULT GetComponentType(
|
---|
404 | [out] WICComponentType *pType);
|
---|
405 |
|
---|
406 | HRESULT GetCLSID(
|
---|
407 | [out] CLSID *pclsid);
|
---|
408 |
|
---|
409 | HRESULT GetSigningStatus(
|
---|
410 | [out] DWORD *pStatus);
|
---|
411 |
|
---|
412 | HRESULT GetAuthor(
|
---|
413 | [in] UINT cchAuthor,
|
---|
414 | [in, out, unique, size_is(cchAuthor)] WCHAR *wzAuthor,
|
---|
415 | [out] UINT *pcchActual);
|
---|
416 |
|
---|
417 | HRESULT GetVendorGUID(
|
---|
418 | [out] GUID *pguidVendor);
|
---|
419 |
|
---|
420 | HRESULT GetVersion(
|
---|
421 | [in] UINT cchVersion,
|
---|
422 | [in, out, unique, size_is(cchVersion)] WCHAR *wzVersion,
|
---|
423 | [out] UINT *pcchActual);
|
---|
424 |
|
---|
425 | HRESULT GetSpecVersion(
|
---|
426 | [in] UINT cchSpecVersion,
|
---|
427 | [in, out, unique, size_is(cchSpecVersion)] WCHAR *wzSpecVersion,
|
---|
428 | [out] UINT *pcchActual);
|
---|
429 |
|
---|
430 | HRESULT GetFriendlyName(
|
---|
431 | [in] UINT cchFriendlyName,
|
---|
432 | [in, out, unique, size_is(cchFriendlyName)] WCHAR *wzFriendlyName,
|
---|
433 | [out] UINT *pcchActual);
|
---|
434 | }
|
---|
435 |
|
---|
436 | [
|
---|
437 | object,
|
---|
438 | uuid(30989668-e1c9-4597-b395-458eedb808df)
|
---|
439 | ]
|
---|
440 | interface IWICMetadataQueryReader : IUnknown
|
---|
441 | {
|
---|
442 | HRESULT GetContainerFormat(
|
---|
443 | [out] GUID *pguidContainerFormat);
|
---|
444 |
|
---|
445 | HRESULT GetLocation(
|
---|
446 | [in] UINT cchMaxLength,
|
---|
447 | [in, out, unique, size_is(cchMaxLength)] WCHAR *wzNamespace,
|
---|
448 | [out] UINT *pcchActualLength);
|
---|
449 |
|
---|
450 | HRESULT GetMetadataByName(
|
---|
451 | [in] LPCWSTR wzName,
|
---|
452 | [in, out, unique] PROPVARIANT *pvarValue);
|
---|
453 |
|
---|
454 | HRESULT GetEnumerator(
|
---|
455 | [out] IEnumString **ppIEnumString);
|
---|
456 | }
|
---|
457 |
|
---|
458 | [
|
---|
459 | object,
|
---|
460 | uuid(a721791a-0def-4d06-bd91-2118bf1db10b)
|
---|
461 | ]
|
---|
462 | interface IWICMetadataQueryWriter : IWICMetadataQueryReader
|
---|
463 | {
|
---|
464 | HRESULT SetMetadataByName(
|
---|
465 | [in] LPCWSTR wzName,
|
---|
466 | [in] const PROPVARIANT *pvarValue);
|
---|
467 |
|
---|
468 | HRESULT RemoveMetadataByName(
|
---|
469 | [in] LPCWSTR wzName);
|
---|
470 | }
|
---|
471 |
|
---|
472 | [
|
---|
473 | object,
|
---|
474 | uuid(3b16811b-6a43-4ec9-a813-3d930c13b940)
|
---|
475 | ]
|
---|
476 | interface IWICBitmapFrameDecode : IWICBitmapSource
|
---|
477 | {
|
---|
478 | HRESULT GetMetadataQueryReader(
|
---|
479 | [out] IWICMetadataQueryReader **ppIMetadataQueryReader);
|
---|
480 |
|
---|
481 | HRESULT GetColorContexts(
|
---|
482 | [in] UINT cCount,
|
---|
483 | [in, out, unique, size_is(cCount)] IWICColorContext **ppIColorContexts,
|
---|
484 | [out] UINT *pcActualCount);
|
---|
485 |
|
---|
486 | HRESULT GetThumbnail(
|
---|
487 | [out] IWICBitmapSource **ppIThumbnail);
|
---|
488 | }
|
---|
489 |
|
---|
490 | [
|
---|
491 | object,
|
---|
492 | uuid(e8eda601-3d48-431a-ab44-69059be88bbe)
|
---|
493 | ]
|
---|
494 | interface IWICPixelFormatInfo : IWICComponentInfo
|
---|
495 | {
|
---|
496 | HRESULT GetFormatGUID(
|
---|
497 | [out] GUID* pFormat);
|
---|
498 |
|
---|
499 | HRESULT GetColorContext(
|
---|
500 | [out] IWICColorContext **ppIColorContext);
|
---|
501 |
|
---|
502 | HRESULT GetBitsPerPixel(
|
---|
503 | [out] UINT *puiBitsPerPixel);
|
---|
504 |
|
---|
505 | HRESULT GetChannelCount(
|
---|
506 | [out] UINT *puiChannelCount);
|
---|
507 |
|
---|
508 | HRESULT GetChannelMask(
|
---|
509 | [in] UINT uiChannelIndex,
|
---|
510 | [in] UINT cbMaskBuffer,
|
---|
511 | [in, out, unique, size_is(cbMaskBuffer)] BYTE *pbMaskBuffer,
|
---|
512 | [out] UINT *pcbActual);
|
---|
513 | }
|
---|
514 |
|
---|
515 | [
|
---|
516 | object,
|
---|
517 | uuid(a9db33a2-af5f-43c7-b679-74f5984b5aa4)
|
---|
518 | ]
|
---|
519 | interface IWICPixelFormatInfo2 : IWICPixelFormatInfo
|
---|
520 | {
|
---|
521 | HRESULT SupportsTransparency(
|
---|
522 | [out] BOOL *pfSupportsTransparency);
|
---|
523 |
|
---|
524 | HRESULT GetNumericRepresentation(
|
---|
525 | [out] WICPixelFormatNumericRepresentation *pNumericRepresentation);
|
---|
526 | }
|
---|
527 |
|
---|
528 | [
|
---|
529 | object,
|
---|
530 | uuid(e87a44c4-b76e-4c47-8b09-298eb12a2714)
|
---|
531 | ]
|
---|
532 | interface IWICBitmapCodecInfo : IWICComponentInfo
|
---|
533 | {
|
---|
534 | HRESULT GetContainerFormat(
|
---|
535 | [out] GUID *pguidContainerFormat);
|
---|
536 |
|
---|
537 | HRESULT GetPixelFormats(
|
---|
538 | [in] UINT cFormats,
|
---|
539 | [in, out, unique, size_is(cFormats)] GUID *pguidPixelFormats,
|
---|
540 | [out] UINT *pcActual);
|
---|
541 |
|
---|
542 | HRESULT GetColorManagementVersion(
|
---|
543 | [in] UINT cchColorManagementVersion,
|
---|
544 | [in, out, unique, size_is(cchColorManagementVersion)] WCHAR *wzColorManagementVersion,
|
---|
545 | [out] UINT *pcchActual);
|
---|
546 |
|
---|
547 | HRESULT GetDeviceManufacturer(
|
---|
548 | [in] UINT cchDeviceManufacturer,
|
---|
549 | [in, out, unique, size_is(cchDeviceManufacturer)] WCHAR *wzDeviceManufacturer,
|
---|
550 | [out] UINT *pcchActual);
|
---|
551 |
|
---|
552 | HRESULT GetDeviceModels(
|
---|
553 | [in] UINT cchDeviceModels,
|
---|
554 | [in, out, unique, size_is(cchDeviceModels)] WCHAR *wzDeviceModels,
|
---|
555 | [out] UINT *pcchActual);
|
---|
556 |
|
---|
557 | HRESULT GetMimeTypes(
|
---|
558 | [in] UINT cchMimeTypes,
|
---|
559 | [in, out, unique, size_is(cchMimeTypes)] WCHAR *wzMimeTypes,
|
---|
560 | [out] UINT *pcchActual);
|
---|
561 |
|
---|
562 | HRESULT GetFileExtensions(
|
---|
563 | [in] UINT cchFileExtensions,
|
---|
564 | [in, out, unique, size_is(cchFileExtensions)] WCHAR *wzFileExtensions,
|
---|
565 | [out] UINT *pcchActual);
|
---|
566 |
|
---|
567 | HRESULT DoesSupportAnimation(
|
---|
568 | [out] BOOL *pfSupportAnimation);
|
---|
569 |
|
---|
570 | HRESULT DoesSupportChromaKey(
|
---|
571 | [out] BOOL *pfSupportChromaKey);
|
---|
572 |
|
---|
573 | HRESULT DoesSupportLossless(
|
---|
574 | [out] BOOL *pfSupportLossless);
|
---|
575 |
|
---|
576 | HRESULT DoesSupportMultiframe(
|
---|
577 | [out] BOOL *pfSupportMultiframe);
|
---|
578 |
|
---|
579 | HRESULT MatchesMimeType(
|
---|
580 | [in] LPCWSTR wzMimeType,
|
---|
581 | [out] BOOL *pfMatches);
|
---|
582 | }
|
---|
583 |
|
---|
584 | interface IWICBitmapDecoder;
|
---|
585 |
|
---|
586 | [
|
---|
587 | object,
|
---|
588 | uuid(d8cd007f-d08f-4191-9bfc-236ea7f0e4b5)
|
---|
589 | ]
|
---|
590 | interface IWICBitmapDecoderInfo : IWICBitmapCodecInfo
|
---|
591 | {
|
---|
592 | [local]
|
---|
593 | HRESULT GetPatterns(
|
---|
594 | [in] UINT cbSizePatterns,
|
---|
595 | [in, out, unique] WICBitmapPattern *pPatterns,
|
---|
596 | [in, out, unique] UINT *pcPatterns,
|
---|
597 | [in, out, unique] UINT *pcbPatternsActual);
|
---|
598 |
|
---|
599 | HRESULT MatchesPattern(
|
---|
600 | [in] IStream *pIStream,
|
---|
601 | [out] BOOL *pfMatches);
|
---|
602 |
|
---|
603 | HRESULT CreateInstance(
|
---|
604 | [out] IWICBitmapDecoder **ppIBitmapDecoder);
|
---|
605 | }
|
---|
606 |
|
---|
607 | [
|
---|
608 | object,
|
---|
609 | uuid(9edde9e7-8dee-47ea-99df-e6faf2ed44bf)
|
---|
610 | ]
|
---|
611 | interface IWICBitmapDecoder : IUnknown
|
---|
612 | {
|
---|
613 | HRESULT QueryCapability(
|
---|
614 | [in] IStream *pIStream,
|
---|
615 | [out] DWORD *pdwCapability);
|
---|
616 |
|
---|
617 | HRESULT Initialize(
|
---|
618 | [in] IStream *pIStream,
|
---|
619 | [in] WICDecodeOptions cacheOptions);
|
---|
620 |
|
---|
621 | HRESULT GetContainerFormat(
|
---|
622 | [out] GUID *pguidContainerFormat);
|
---|
623 |
|
---|
624 | HRESULT GetDecoderInfo(
|
---|
625 | [out] IWICBitmapDecoderInfo **ppIDecoderInfo);
|
---|
626 |
|
---|
627 | HRESULT CopyPalette(
|
---|
628 | [in] IWICPalette *pIPalette);
|
---|
629 |
|
---|
630 | HRESULT GetMetadataQueryReader(
|
---|
631 | [out] IWICMetadataQueryReader **ppIMetadataQueryReader);
|
---|
632 |
|
---|
633 | HRESULT GetPreview(
|
---|
634 | [out] IWICBitmapSource **ppIBitmapSource);
|
---|
635 |
|
---|
636 | HRESULT GetColorContexts(
|
---|
637 | [in] UINT cCount,
|
---|
638 | [in, out, unique, size_is(cCount)] IWICColorContext **ppIColorContexts,
|
---|
639 | [out] UINT *pcActualCount);
|
---|
640 |
|
---|
641 | HRESULT GetThumbnail(
|
---|
642 | [out] IWICBitmapSource **ppIThumbnail);
|
---|
643 |
|
---|
644 | HRESULT GetFrameCount(
|
---|
645 | [out] UINT *pCount);
|
---|
646 |
|
---|
647 | HRESULT GetFrame(
|
---|
648 | [in] UINT index,
|
---|
649 | [out] IWICBitmapFrameDecode **ppIBitmapFrame);
|
---|
650 | }
|
---|
651 |
|
---|
652 | [
|
---|
653 | object,
|
---|
654 | uuid(00000105-a8f2-4877-ba0a-fd2b6645fb94)
|
---|
655 | ]
|
---|
656 | interface IWICBitmapFrameEncode : IUnknown
|
---|
657 | {
|
---|
658 | HRESULT Initialize(
|
---|
659 | [in, unique] IPropertyBag2 *pIEncoderOptions);
|
---|
660 |
|
---|
661 | HRESULT SetSize(
|
---|
662 | [in] UINT uiWidth,
|
---|
663 | [in] UINT uiHeight);
|
---|
664 |
|
---|
665 | HRESULT SetResolution(
|
---|
666 | [in] double dpiX,
|
---|
667 | [in] double dpiY);
|
---|
668 |
|
---|
669 | HRESULT SetPixelFormat(
|
---|
670 | [in, out] WICPixelFormatGUID *pPixelFormat);
|
---|
671 |
|
---|
672 | HRESULT SetColorContexts(
|
---|
673 | [in] UINT cCount,
|
---|
674 | [in, size_is(cCount)] IWICColorContext **ppIColorContext);
|
---|
675 |
|
---|
676 | HRESULT SetPalette(
|
---|
677 | [in] IWICPalette *pIPalette);
|
---|
678 |
|
---|
679 | HRESULT SetThumbnail(
|
---|
680 | [in] IWICBitmapSource *pIThumbnail);
|
---|
681 |
|
---|
682 | HRESULT WritePixels(
|
---|
683 | [in] UINT lineCount,
|
---|
684 | [in] UINT cbStride,
|
---|
685 | [in] UINT cbBufferSize,
|
---|
686 | [in, size_is(cbBufferSize)] BYTE *pbPixels);
|
---|
687 |
|
---|
688 | HRESULT WriteSource(
|
---|
689 | [in] IWICBitmapSource *pIBitmapSource,
|
---|
690 | [in, unique] WICRect *prc);
|
---|
691 |
|
---|
692 | HRESULT Commit();
|
---|
693 |
|
---|
694 | HRESULT GetMetadataQueryWriter(
|
---|
695 | IWICMetadataQueryWriter **ppIMetadataQueryWriter);
|
---|
696 | }
|
---|
697 |
|
---|
698 | interface IWICBitmapEncoder;
|
---|
699 |
|
---|
700 | [
|
---|
701 | object,
|
---|
702 | uuid(94c9b4ee-a09f-4f92-8a1e-4a9bce7e76fb)
|
---|
703 | ]
|
---|
704 | interface IWICBitmapEncoderInfo : IWICBitmapCodecInfo
|
---|
705 | {
|
---|
706 | HRESULT CreateInstance(
|
---|
707 | [out] IWICBitmapEncoder **ppIBitmapEncoder);
|
---|
708 | }
|
---|
709 |
|
---|
710 | [
|
---|
711 | object,
|
---|
712 | uuid(00000103-a8f2-4877-ba0a-fd2b6645fb94)
|
---|
713 | ]
|
---|
714 | interface IWICBitmapEncoder : IUnknown
|
---|
715 | {
|
---|
716 | HRESULT Initialize(
|
---|
717 | [in] IStream *pIStream,
|
---|
718 | [in] WICBitmapEncoderCacheOption cacheOption);
|
---|
719 |
|
---|
720 | HRESULT GetContainerFormat(
|
---|
721 | [out] GUID *pguidContainerFormat);
|
---|
722 |
|
---|
723 | HRESULT GetEncoderInfo(
|
---|
724 | [out] IWICBitmapEncoderInfo **ppIEncoderInfo);
|
---|
725 |
|
---|
726 | HRESULT SetColorContexts(
|
---|
727 | [in] UINT cCount,
|
---|
728 | [in, size_is(cCount)] IWICColorContext **ppIColorContext);
|
---|
729 |
|
---|
730 | HRESULT SetPalette(
|
---|
731 | [in] IWICPalette *pIPalette);
|
---|
732 |
|
---|
733 | HRESULT SetThumbnail(
|
---|
734 | [in] IWICBitmapSource *pIThumbnail);
|
---|
735 |
|
---|
736 | HRESULT SetPreview(
|
---|
737 | [in] IWICBitmapSource *pIPreview);
|
---|
738 |
|
---|
739 | HRESULT CreateNewFrame(
|
---|
740 | [out] IWICBitmapFrameEncode **ppIFrameEncode,
|
---|
741 | [in, out, unique] IPropertyBag2 **ppIEncoderOptions);
|
---|
742 |
|
---|
743 | HRESULT Commit();
|
---|
744 |
|
---|
745 | HRESULT GetMetadataQueryWriter(
|
---|
746 | [out] IWICMetadataQueryWriter **ppIMetadataQueryWriter);
|
---|
747 | }
|
---|
748 |
|
---|
749 | [
|
---|
750 | object,
|
---|
751 | uuid(00000301-a8f2-4877-ba0a-fd2b6645fb94)
|
---|
752 | ]
|
---|
753 | interface IWICFormatConverter : IWICBitmapSource
|
---|
754 | {
|
---|
755 | HRESULT Initialize(
|
---|
756 | [in] IWICBitmapSource *pISource,
|
---|
757 | [in] REFWICPixelFormatGUID dstFormat,
|
---|
758 | [in] WICBitmapDitherType dither,
|
---|
759 | [in] IWICPalette *pIPalette,
|
---|
760 | [in] double alphaThresholdPercent,
|
---|
761 | [in] WICBitmapPaletteType paletteTranslate);
|
---|
762 |
|
---|
763 | HRESULT CanConvert(
|
---|
764 | [in] REFWICPixelFormatGUID srcPixelFormat,
|
---|
765 | [in] REFWICPixelFormatGUID dstPixelFormat,
|
---|
766 | [out] BOOL *pfCanConvert);
|
---|
767 | }
|
---|
768 |
|
---|
769 | [
|
---|
770 | object,
|
---|
771 | uuid(9f34fb65-13f4-4f15-bc57-3726b5e53d9f)
|
---|
772 | ]
|
---|
773 | interface IWICFormatConverterInfo : IWICComponentInfo
|
---|
774 | {
|
---|
775 | HRESULT GetPixelFormats(
|
---|
776 | [in] UINT cFormats,
|
---|
777 | [in, out, size_is(cFormats)] WICPixelFormatGUID *pPixelFormatGUIDs,
|
---|
778 | [out] UINT *pcActual);
|
---|
779 |
|
---|
780 | HRESULT CreateInstance(
|
---|
781 | [out] IWICFormatConverter **ppIConverter);
|
---|
782 | }
|
---|
783 |
|
---|
784 | [
|
---|
785 | object,
|
---|
786 | uuid(135ff860-22b7-4ddf-b0f6-218f4f299a43)
|
---|
787 | ]
|
---|
788 | interface IWICStream : IStream
|
---|
789 | {
|
---|
790 | HRESULT InitializeFromIStream(
|
---|
791 | [in] IStream *pIStream);
|
---|
792 |
|
---|
793 | HRESULT InitializeFromFilename(
|
---|
794 | [in] LPCWSTR wzFileName,
|
---|
795 | [in] DWORD dwAccessMode);
|
---|
796 |
|
---|
797 | HRESULT InitializeFromMemory(
|
---|
798 | [in, size_is(cbBufferSize)] BYTE *pbBuffer,
|
---|
799 | [in] DWORD cbBufferSize);
|
---|
800 |
|
---|
801 | HRESULT InitializeFromIStreamRegion(
|
---|
802 | [in] IStream *pIStream,
|
---|
803 | [in] ULARGE_INTEGER ulOffset,
|
---|
804 | [in] ULARGE_INTEGER ulMaxSize);
|
---|
805 | }
|
---|
806 |
|
---|
807 | [
|
---|
808 | object,
|
---|
809 | uuid(00000302-a8f2-4877-ba0a-fd2b6645fb94)
|
---|
810 | ]
|
---|
811 | interface IWICBitmapScaler : IWICBitmapSource
|
---|
812 | {
|
---|
813 | HRESULT Initialize(
|
---|
814 | [in] IWICBitmapSource *pISource,
|
---|
815 | [in] UINT uiWidth,
|
---|
816 | [in] UINT uiHeight,
|
---|
817 | [in] WICBitmapInterpolationMode mode);
|
---|
818 | }
|
---|
819 |
|
---|
820 | [
|
---|
821 | object,
|
---|
822 | uuid(e4fbcf03-223d-4e81-9333-d635556dd1b5)
|
---|
823 | ]
|
---|
824 | interface IWICBitmapClipper : IWICBitmapSource
|
---|
825 | {
|
---|
826 | HRESULT Initialize(
|
---|
827 | [in] IWICBitmapSource *pISource,
|
---|
828 | [in] const WICRect *prc);
|
---|
829 | }
|
---|
830 |
|
---|
831 | [
|
---|
832 | object,
|
---|
833 | uuid(b66f034f-d0e2-40ab-b436-6de39e321a94)
|
---|
834 | ]
|
---|
835 | interface IWICColorTransform : IWICBitmapSource
|
---|
836 | {
|
---|
837 | HRESULT Initialize(
|
---|
838 | [in] IWICBitmapSource *pIBitmapSource,
|
---|
839 | [in] IWICColorContext *pIContextSource,
|
---|
840 | [in] IWICColorContext *pIContextDest,
|
---|
841 | [in] REFWICPixelFormatGUID pixelFmtDest);
|
---|
842 | }
|
---|
843 |
|
---|
844 | [
|
---|
845 | object,
|
---|
846 | uuid(b84e2c09-78c9-4ac4-8bd3-524ae1663a2f)
|
---|
847 | ]
|
---|
848 | interface IWICFastMetadataEncoder : IUnknown
|
---|
849 | {
|
---|
850 | HRESULT Commit();
|
---|
851 |
|
---|
852 | HRESULT GetMetadataQueryWriter(
|
---|
853 | [out] IWICMetadataQueryWriter **ppIMetadataQueryWriter);
|
---|
854 | }
|
---|
855 |
|
---|
856 | cpp_quote("DEFINE_GUID(CLSID_WICImagingFactory, 0xcacaf262,0x9370,0x4615,0xa1,0x3b,0x9f,0x55,0x39,0xda,0x4c,0x0a);")
|
---|
857 |
|
---|
858 | [
|
---|
859 | object,
|
---|
860 | uuid(ec5ec8a9-c395-4314-9c77-54d7a935ff70)
|
---|
861 | ]
|
---|
862 | interface IWICImagingFactory : IUnknown
|
---|
863 | {
|
---|
864 | HRESULT CreateDecoderFromFilename(
|
---|
865 | [in] LPCWSTR wzFilename,
|
---|
866 | [in, unique] const GUID *pguidVendor,
|
---|
867 | [in] DWORD dwDesiredAccess,
|
---|
868 | [in] WICDecodeOptions metadataOptions,
|
---|
869 | [out, retval] IWICBitmapDecoder **ppIDecoder);
|
---|
870 |
|
---|
871 | HRESULT CreateDecoderFromStream(
|
---|
872 | [in] IStream *pIStream,
|
---|
873 | [in, unique] const GUID *pguidVendor,
|
---|
874 | [in] WICDecodeOptions metadataOptions,
|
---|
875 | [out, retval] IWICBitmapDecoder **ppIDecoder);
|
---|
876 |
|
---|
877 | HRESULT CreateDecoderFromFileHandle(
|
---|
878 | [in] ULONG_PTR hFile,
|
---|
879 | [in, unique] const GUID *pguidVendor,
|
---|
880 | [in] WICDecodeOptions metadataOptions,
|
---|
881 | [out, retval] IWICBitmapDecoder **ppIDecoder);
|
---|
882 |
|
---|
883 | HRESULT CreateComponentInfo(
|
---|
884 | [in] REFCLSID clsidComponent,
|
---|
885 | [out] IWICComponentInfo **ppIInfo);
|
---|
886 |
|
---|
887 | HRESULT CreateDecoder(
|
---|
888 | [in] REFGUID guidContainerFormat,
|
---|
889 | [in, unique] const GUID *pguidVendor,
|
---|
890 | [out, retval] IWICBitmapDecoder **ppIDecoder);
|
---|
891 |
|
---|
892 | HRESULT CreateEncoder(
|
---|
893 | [in] REFGUID guidContainerFormat,
|
---|
894 | [in, unique] const GUID *pguidVendor,
|
---|
895 | [out, retval] IWICBitmapEncoder **ppIEncoder);
|
---|
896 |
|
---|
897 | HRESULT CreatePalette(
|
---|
898 | [out] IWICPalette **ppIPalette);
|
---|
899 |
|
---|
900 | HRESULT CreateFormatConverter(
|
---|
901 | [out] IWICFormatConverter **ppIFormatConverter);
|
---|
902 |
|
---|
903 | HRESULT CreateBitmapScaler(
|
---|
904 | [out] IWICBitmapScaler **ppIBitmapScaler);
|
---|
905 |
|
---|
906 | HRESULT CreateBitmapClipper(
|
---|
907 | [out] IWICBitmapClipper **ppIBitmapClipper);
|
---|
908 |
|
---|
909 | HRESULT CreateBitmapFlipRotator(
|
---|
910 | [out] IWICBitmapFlipRotator **ppIBitmapFlipRotator);
|
---|
911 |
|
---|
912 | HRESULT CreateStream(
|
---|
913 | [out] IWICStream **ppIWICStream);
|
---|
914 |
|
---|
915 | HRESULT CreateColorContext(
|
---|
916 | [out] IWICColorContext **ppIWICColorContext);
|
---|
917 |
|
---|
918 | HRESULT CreateColorTransformer(
|
---|
919 | [out] IWICColorTransform **ppIWICColorTransform);
|
---|
920 |
|
---|
921 | HRESULT CreateBitmap(
|
---|
922 | [in] UINT uiWidth,
|
---|
923 | [in] UINT uiHeight,
|
---|
924 | [in] REFWICPixelFormatGUID pixelFormat,
|
---|
925 | [in] WICBitmapCreateCacheOption option,
|
---|
926 | [out] IWICBitmap **ppIBitmap);
|
---|
927 |
|
---|
928 | HRESULT CreateBitmapFromSource(
|
---|
929 | [in] IWICBitmapSource *piBitmapSource,
|
---|
930 | [in] WICBitmapCreateCacheOption option,
|
---|
931 | [out] IWICBitmap **ppIBitmap);
|
---|
932 |
|
---|
933 | HRESULT CreateBitmapFromSourceRect(
|
---|
934 | [in] IWICBitmapSource *piBitmapSource,
|
---|
935 | [in] UINT x,
|
---|
936 | [in] UINT y,
|
---|
937 | [in] UINT width,
|
---|
938 | [in] UINT height,
|
---|
939 | [out] IWICBitmap **ppIBitmap);
|
---|
940 |
|
---|
941 | HRESULT CreateBitmapFromMemory(
|
---|
942 | [in] UINT uiWidth,
|
---|
943 | [in] UINT uiHeight,
|
---|
944 | [in] REFWICPixelFormatGUID pixelFormat,
|
---|
945 | [in] UINT cbStride,
|
---|
946 | [in] UINT cbBufferSize,
|
---|
947 | [in, size_is(cbBufferSize)] BYTE *pbBuffer,
|
---|
948 | [out] IWICBitmap **ppIBitmap);
|
---|
949 |
|
---|
950 | HRESULT CreateBitmapFromHBITMAP(
|
---|
951 | [in] HBITMAP hBitmap,
|
---|
952 | [in, unique] HPALETTE hPalette,
|
---|
953 | [in] WICBitmapAlphaChannelOption options,
|
---|
954 | [out] IWICBitmap **ppIBitmap);
|
---|
955 |
|
---|
956 | HRESULT CreateBitmapFromHICON(
|
---|
957 | [in] HICON hIcon,
|
---|
958 | [out] IWICBitmap **ppIBitmap);
|
---|
959 |
|
---|
960 | HRESULT CreateComponentEnumerator(
|
---|
961 | [in] DWORD componentTypes,
|
---|
962 | [in] DWORD options,
|
---|
963 | [out] IEnumUnknown **ppIEnumUnknown);
|
---|
964 |
|
---|
965 | HRESULT CreateFastMetadataEncoderFromDecoder(
|
---|
966 | [in] IWICBitmapDecoder *pIDecoder,
|
---|
967 | [out] IWICFastMetadataEncoder **ppIFastEncoder);
|
---|
968 |
|
---|
969 | HRESULT CreateFastMetadataEncoderFromFrameDecode(
|
---|
970 | [in] IWICBitmapFrameDecode *pIFrameDecoder,
|
---|
971 | [out] IWICFastMetadataEncoder **ppIFastEncoder);
|
---|
972 |
|
---|
973 | HRESULT CreateQueryWriter(
|
---|
974 | [in] REFGUID guidMetadataFormat,
|
---|
975 | [in, unique] const GUID *pguidVendor,
|
---|
976 | [out] IWICMetadataQueryWriter **ppIQueryWriter);
|
---|
977 |
|
---|
978 | HRESULT CreateQueryWriterFromReader(
|
---|
979 | [in] IWICMetadataQueryReader *pIQueryReader,
|
---|
980 | [in, unique] const GUID *pguidVendor,
|
---|
981 | [out] IWICMetadataQueryWriter **ppIQueryWriter);
|
---|
982 | }
|
---|
983 |
|
---|
984 | [
|
---|
985 | local,
|
---|
986 | object,
|
---|
987 | uuid(dc2bb46d-3f07-481e-8625-220c4aedbb33)
|
---|
988 | ]
|
---|
989 | interface IWICEnumMetadataItem : IUnknown
|
---|
990 | {
|
---|
991 | HRESULT Next(
|
---|
992 | [in] ULONG celt,
|
---|
993 | [in, out, unique, size_is(celt)] PROPVARIANT *rgeltSchema,
|
---|
994 | [in, out, size_is(celt)] PROPVARIANT *rgeltId,
|
---|
995 | [in, out, optional, size_is(celt)] PROPVARIANT *rgeltValue,
|
---|
996 | [out, optional] ULONG *pceltFetched);
|
---|
997 |
|
---|
998 | HRESULT Skip(
|
---|
999 | [in] ULONG celt);
|
---|
1000 |
|
---|
1001 | HRESULT Reset();
|
---|
1002 |
|
---|
1003 | HRESULT Clone(
|
---|
1004 | [out] IWICEnumMetadataItem **ppIEnumMetadataItem);
|
---|
1005 | }
|
---|
1006 |
|
---|
1007 | cpp_quote("HRESULT WINAPI WICConvertBitmapSource(REFWICPixelFormatGUID dstFormat, IWICBitmapSource *pISrc, IWICBitmapSource **ppIDst);")
|
---|
1008 |
|
---|
1009 | cpp_quote("DEFINE_GUID(CLSID_WICBmpDecoder, 0x6b462062,0x7cbf,0x400d,0x9f,0xdb,0x81,0x3d,0xd1,0x0f,0x27,0x78);")
|
---|
1010 | cpp_quote("DEFINE_GUID(CLSID_WICPngDecoder, 0x389ea17b,0x5078,0x4cde,0xb6,0xef,0x25,0xc1,0x51,0x75,0xc7,0x51);")
|
---|
1011 | cpp_quote("DEFINE_GUID(CLSID_WICIcoDecoder, 0xc61bfcdf,0x2e0f,0x4aad,0xa8,0xd7,0xe0,0x6b,0xaf,0xeb,0xcd,0xfe);")
|
---|
1012 | cpp_quote("DEFINE_GUID(CLSID_WICJpegDecoder, 0x9456a480,0xe88b,0x43ea,0x9e,0x73,0x0b,0x2d,0x9b,0x71,0xb1,0xca);")
|
---|
1013 | cpp_quote("DEFINE_GUID(CLSID_WICGifDecoder, 0x381dda3c,0x9ce9,0x4834,0xa2,0x3e,0x1f,0x98,0xf8,0xfc,0x52,0xbe);")
|
---|
1014 | cpp_quote("DEFINE_GUID(CLSID_WICTiffDecoder, 0xb54e85d9,0xfe23,0x499f,0x8b,0x88,0x6a,0xce,0xa7,0x13,0x75,0x2b);")
|
---|
1015 | cpp_quote("DEFINE_GUID(CLSID_WICWmpDecoder, 0xa26cec36,0x234c,0x4950,0xae,0x16,0xe3,0x4a,0xac,0xe7,0x1d,0x0d);")
|
---|
1016 |
|
---|
1017 | cpp_quote("DEFINE_GUID(CLSID_WICBmpEncoder, 0x69be8bb4,0xd66d,0x47c8,0x86,0x5a,0xed,0x15,0x89,0x43,0x37,0x82);")
|
---|
1018 | cpp_quote("DEFINE_GUID(CLSID_WICPngEncoder, 0x27949969,0x876a,0x41d7,0x94,0x47,0x56,0x8f,0x6a,0x35,0xa4,0xdc);")
|
---|
1019 | cpp_quote("DEFINE_GUID(CLSID_WICJpegEncoder, 0x1a34f5c1,0x4a5a,0x46dc,0xb6,0x44,0x1f,0x45,0x67,0xe7,0xa6,0x76);")
|
---|
1020 | cpp_quote("DEFINE_GUID(CLSID_WICGifEncoder, 0x114f5598,0x0b22,0x40a0,0x86,0xa1,0xc8,0x3e,0xa4,0x95,0xad,0xbd);")
|
---|
1021 | cpp_quote("DEFINE_GUID(CLSID_WICTiffEncoder, 0x0131be10,0x2001,0x4c5f,0xa9,0xb0,0xcc,0x88,0xfa,0xb6,0x4c,0xe8);")
|
---|
1022 | cpp_quote("DEFINE_GUID(CLSID_WICWmpEncoder, 0xac4ce3cb,0xe1c1,0x44cd,0x82,0x15,0x5a,0x16,0x65,0x50,0x9e,0xc2);")
|
---|
1023 |
|
---|
1024 | cpp_quote("DEFINE_GUID(CLSID_WICDefaultFormatConverter, 0x1a3f11dc,0xb514,0x4b17,0x8c,0x5f,0x21,0x54,0x51,0x38,0x52,0xf1);")
|
---|
1025 |
|
---|
1026 | cpp_quote("DEFINE_GUID(GUID_ContainerFormatBmp, 0x0af1d87e,0xfcfe,0x4188,0xbd,0xeb,0xa7,0x90,0x64,0x71,0xcb,0xe3);")
|
---|
1027 | cpp_quote("DEFINE_GUID(GUID_ContainerFormatPng, 0x1b7cfaf4,0x713f,0x473c,0xbb,0xcd,0x61,0x37,0x42,0x5f,0xae,0xaf);")
|
---|
1028 | cpp_quote("DEFINE_GUID(GUID_ContainerFormatIco, 0xa3a860c4,0x338f,0x4c17,0x91,0x9a,0xfb,0xa4,0xb5,0x62,0x8f,0x21);")
|
---|
1029 | cpp_quote("DEFINE_GUID(GUID_ContainerFormatJpeg, 0x19e4a5aa,0x5662,0x4fc5,0xa0,0xc0,0x17,0x58,0x02,0x8e,0x10,0x57);")
|
---|
1030 | cpp_quote("DEFINE_GUID(GUID_ContainerFormatTiff, 0x163bcc30,0xe2e9,0x4f0b,0x96,0x1d,0xa3,0xe9,0xfd,0xb7,0x88,0xa3);")
|
---|
1031 | cpp_quote("DEFINE_GUID(GUID_ContainerFormatGif, 0x1f8a5601,0x7d4d,0x4cbd,0x9c,0x82,0x1b,0xc8,0xd4,0xee,0xb9,0xa5);")
|
---|
1032 | cpp_quote("DEFINE_GUID(GUID_ContainerFormatWmp, 0x57a37caa,0x367a,0x4540,0x91,0x6b,0xf1,0x83,0xc5,0x09,0x3a,0x4b);")
|
---|
1033 |
|
---|
1034 | cpp_quote("DEFINE_GUID(GUID_VendorMicrosoft, 0xf0e749ca,0xedef,0x4589,0xa7,0x3a,0xee,0x0e,0x62,0x6a,0x2a,0x2b);")
|
---|
1035 |
|
---|
1036 | cpp_quote("DEFINE_GUID(CLSID_WICImagingCategories, 0xfae3d380,0xfea4,0x4623,0x8c,0x75,0xc6,0xb6,0x11,0x10,0xb6,0x81);")
|
---|
1037 | cpp_quote("DEFINE_GUID(CATID_WICBitmapDecoders, 0x7ed96837,0x96f0,0x4812,0xb2,0x11,0xf1,0x3c,0x24,0x11,0x7e,0xd3);")
|
---|
1038 | cpp_quote("DEFINE_GUID(CATID_WICBitmapEncoders, 0xac757296,0x3522,0x4e11,0x98,0x62,0xc1,0x7b,0xe5,0xa1,0x76,0x7e);")
|
---|
1039 | cpp_quote("DEFINE_GUID(CATID_WICFormatConverters, 0x7835eae8,0xbf14,0x49d1,0x93,0xce,0x53,0x3a,0x40,0x7b,0x22,0x48);")
|
---|
1040 | cpp_quote("DEFINE_GUID(CATID_WICMetadataReader, 0x05af94d8,0x7174,0x4cd2,0xbe,0x4a,0x41,0x24,0xb8,0x0e,0xe4,0xb8);")
|
---|
1041 | cpp_quote("DEFINE_GUID(CATID_WICPixelFormats, 0x2b46e70f,0xcda7,0x473e,0x89,0xf6,0xdc,0x96,0x30,0xa2,0x39,0x0b);")
|
---|