]> git.proxmox.com Git - rustc.git/blame - src/vendor/winapi-0.2.8/src/windowscodecs.rs
New upstream version 1.25.0+dfsg1
[rustc.git] / src / vendor / winapi-0.2.8 / src / windowscodecs.rs
CommitLineData
8bb4bdeb
XL
1// Copyright © 2015; Connor Hilarides
2// Licensed under the MIT License <LICENSE.md>
3//! Mappings for the contents of wincodec.h
4pub type WICColor = ::UINT32;
5pub type WICInProcPointer = *mut ::BYTE;
6pub type REFWICPixelFormatGUID = ::REFGUID;
7pub type WICPixelFormatGUID = ::GUID;
8STRUCT!{struct WICRect {
9 X: ::INT,
10 Y: ::INT,
11 Width: ::INT,
12 Height: ::INT,
13}}
14ENUM!{enum WICColorContextType {
15 WICColorContextUninitialized = 0,
16 WICColorContextProfile = 0x1,
17 WICColorContextExifColorSpace = 0x2,
18}}
19ENUM!{enum WICBitmapCreateCacheOption {
20 WICBitmapNoCache = 0,
21 WICBitmapCacheOnDemand = 0x1,
22 WICBitmapCacheOnLoad = 0x2,
23}}
24ENUM!{enum WICDecodeOptions {
25 WICDecodeMetadataCacheOnDemand = 0,
26 WICDecodeMetadataCacheOnLoad = 0x1,
27}}
28ENUM!{enum WICBitmapEncoderCacheOption {
29 WICBitmapEncoderCacheInMemory = 0,
30 WICBitmapEncoderCacheTempFile = 0x1,
31 WICBitmapEncoderNoCache = 0x2,
32}}
33FLAGS!{enum WICComponentType {
34 WICDecoder = 0x1,
35 WICEncoder = 0x2,
36 WICPixelFormatConverter = 0x4,
37 WICMetadataReader = 0x8,
38 WICMetadataWriter = 0x10,
39 WICPixelFormat = 0x20,
40 WICAllComponents = 0x3f,
41}}
42FLAGS!{enum WICComponentEnumerateOptions {
43 WICComponentEnumerateDefault = 0,
44 WICComponentEnumerateRefresh = 0x1,
45 WICComponentEnumerateDisabled = 0x80000000,
46 WICComponentEnumerateUnsigned = 0x40000000,
47 WICComponentEnumerateBuiltInOnly = 0x20000000,
48}}
49#[allow(unused_qualifications)]
50STRUCT!{struct WICBitmapPattern {
51 Position: ::ULARGE_INTEGER,
52 Length: ::ULONG,
53 Pattern: *mut ::BYTE,
54 Mask: *mut ::BYTE,
55 EndOfStream: ::BOOL,
56}}
57ENUM!{enum WICBitmapInterpolationMode {
58 WICBitmapInterpolationModeNearestNeighbor = 0,
59 WICBitmapInterpolationModeLinear = 0x1,
60 WICBitmapInterpolationModeCubic = 0x2,
61 WICBitmapInterpolationModeFant = 0x3,
62}}
63ENUM!{enum WICBitmapPaletteType {
64 WICBitmapPaletteTypeCustom = 0,
65 WICBitmapPaletteTypeMedianCut = 0x1,
66 WICBitmapPaletteTypeFixedBW = 0x2,
67 WICBitmapPaletteTypeFixedHalftone8 = 0x3,
68 WICBitmapPaletteTypeFixedHalftone27 = 0x4,
69 WICBitmapPaletteTypeFixedHalftone64 = 0x5,
70 WICBitmapPaletteTypeFixedHalftone125 = 0x6,
71 WICBitmapPaletteTypeFixedHalftone216 = 0x7,
72 WICBitmapPaletteTypeFixedHalftone252 = 0x8,
73 WICBitmapPaletteTypeFixedHalftone256 = 0x9,
74 WICBitmapPaletteTypeFixedGray4 = 0xa,
75 WICBitmapPaletteTypeFixedGray16 = 0xb,
76 WICBitmapPaletteTypeFixedGray256 = 0xc,
77}}
78pub const WICBitmapPaletteTypeFixedWebPalette: WICBitmapPaletteType =
79 WICBitmapPaletteTypeFixedHalftone216;
80ENUM!{enum WICBitmapDitherType {
81 WICBitmapDitherTypeSolid = 0,
82 WICBitmapDitherTypeOrdered4x4 = 0x1,
83 WICBitmapDitherTypeOrdered8x8 = 0x2,
84 WICBitmapDitherTypeOrdered16x16 = 0x3,
85 WICBitmapDitherTypeSpiral4x4 = 0x4,
86 WICBitmapDitherTypeSpiral8x8 = 0x5,
87 WICBitmapDitherTypeDualSpiral4x4 = 0x6,
88 WICBitmapDitherTypeDualSpiral8x8 = 0x7,
89 WICBitmapDitherTypeErrorDiffusion = 0x8,
90}}
91pub const WICBitmapDitherTypeNone: WICBitmapDitherType = WICBitmapDitherTypeSolid;
92ENUM!{enum WICBitmapAlphaChannelOption {
93 WICBitmapUseAlpha = 0,
94 WICBitmapUsePremultipliedAlpha = 0x1,
95 WICBitmapIgnoreAlpha = 0x2,
96}}
97FLAGS!{enum WICBitmapTransformOptions {
98 WICBitmapTransformRotate0 = 0,
99 WICBitmapTransformRotate90 = 0x1,
100 WICBitmapTransformRotate180 = 0x2,
101 WICBitmapTransformRotate270 = 0x3,
102 WICBitmapTransformFlipHorizontal = 0x8,
103 WICBitmapTransformFlipVertical = 0x10,
104}}
105FLAGS!{enum WICBitmapLockFlags {
106 WICBitmapLockRead = 0x1,
107 WICBitmapLockWrite = 0x2,
108}}
109FLAGS!{enum WICBitmapDecoderCapabilities {
110 WICBitmapDecoderCapabilitySameEncoder = 0x1,
111 WICBitmapDecoderCapabilityCanDecodeAllImages = 0x2,
112 WICBitmapDecoderCapabilityCanDecodeSomeImages = 0x4,
113 WICBitmapDecoderCapabilityCanEnumerateMetadata = 0x8,
114 WICBitmapDecoderCapabilityCanDecodeThumbnail = 0x10,
115}}
116FLAGS!{enum WICProgressOperation {
117 WICProgressOperationCopyPixels = 0x1,
118 WICProgressOperationWritePixels = 0x2,
119 WICProgressOperationAll = 0xffff,
120}}
121FLAGS!{enum WICProgressNotification {
122 WICProgressNotificationBegin = 0x10000,
123 WICProgressNotificationEnd = 0x20000,
124 WICProgressNotificationFrequent = 0x40000,
125 WICProgressNotificationAll = 0xffff0000,
126}}
127FLAGS!{enum WICComponentSigning {
128 WICComponentSigned = 0x1,
129 WICComponentUnsigned = 0x2,
130 WICComponentSafe = 0x4,
131 WICComponentDisabled = 0x80000000,
132}}
133ENUM!{enum WICGifLogicalScreenDescriptorProperties {
134 WICGifLogicalScreenSignature = 0x1,
135 WICGifLogicalScreenDescriptorWidth = 0x2,
136 WICGifLogicalScreenDescriptorHeight = 0x3,
137 WICGifLogicalScreenDescriptorGlobalColorTableFlag = 0x4,
138 WICGifLogicalScreenDescriptorColorResolution = 0x5,
139 WICGifLogicalScreenDescriptorSortFlag = 0x6,
140 WICGifLogicalScreenDescriptorGlobalColorTableSize = 0x7,
141 WICGifLogicalScreenDescriptorBackgroundColorIndex = 0x8,
142 WICGifLogicalScreenDescriptorPixelAspectRatio = 0x9,
143}}
144ENUM!{enum WICGifImageDescriptorProperties {
145 WICGifImageDescriptorLeft = 0x1,
146 WICGifImageDescriptorTop = 0x2,
147 WICGifImageDescriptorWidth = 0x3,
148 WICGifImageDescriptorHeight = 0x4,
149 WICGifImageDescriptorLocalColorTableFlag = 0x5,
150 WICGifImageDescriptorInterlaceFlag = 0x6,
151 WICGifImageDescriptorSortFlag = 0x7,
152 WICGifImageDescriptorLocalColorTableSize = 0x8,
153}}
154ENUM!{enum WICGifGraphicControlExtensionProperties {
155 WICGifGraphicControlExtensionDisposal = 0x1,
156 WICGifGraphicControlExtensionUserInputFlag = 0x2,
157 WICGifGraphicControlExtensionTransparencyFlag = 0x3,
158 WICGifGraphicControlExtensionDelay = 0x4,
159 WICGifGraphicControlExtensionTransparentColorIndex = 0x5,
160}}
161ENUM!{enum WICGifApplicationExtensionProperties {
162 WICGifApplicationExtensionApplication = 0x1,
163 WICGifApplicationExtensionData = 0x2,
164}}
165ENUM!{enum WICGifCommentExtensionProperties {
166 WICGifCommentExtensionText = 0x1,
167}}
168ENUM!{enum WICJpegCommentProperties {
169 WICJpegCommentText = 0x1,
170}}
171ENUM!{enum WICJpegLuminanceProperties {
172 WICJpegLuminanceTable = 0x1,
173}}
174ENUM!{enum WICJpegChrominanceProperties {
175 WICJpegChrominanceTable = 0x1,
176}}
177ENUM!{enum WIC8BIMIptcProperties {
178 WIC8BIMIptcPString = 0,
179 WIC8BIMIptcEmbeddedIPTC = 0x1,
180}}
181ENUM!{enum WIC8BIMResolutionInfoProperties {
182 WIC8BIMResolutionInfoPString = 0x1,
183 WIC8BIMResolutionInfoHResolution = 0x2,
184 WIC8BIMResolutionInfoHResolutionUnit = 0x3,
185 WIC8BIMResolutionInfoWidthUnit = 0x4,
186 WIC8BIMResolutionInfoVResolution = 0x5,
187 WIC8BIMResolutionInfoVResolutionUnit = 0x6,
188 WIC8BIMResolutionInfoHeightUnit = 0x7,
189}}
190ENUM!{enum WIC8BIMIptcDigestProperties {
191 WIC8BIMIptcDigestPString = 0x1,
192 WIC8BIMIptcDigestIptcDigest = 0x2,
193}}
194ENUM!{enum WICPngGamaProperties {
195 WICPngGamaGamma = 0x1,
196}}
197ENUM!{enum WICPngBkgdProperties {
198 WICPngBkgdBackgroundColor = 0x1,
199}}
200ENUM!{enum WICPngItxtProperties {
201 WICPngItxtKeyword = 0x1,
202 WICPngItxtCompressionFlag = 0x2,
203 WICPngItxtLanguageTag = 0x3,
204 WICPngItxtTranslatedKeyword = 0x4,
205 WICPngItxtText = 0x5,
206}}
207ENUM!{enum WICPngChrmProperties {
208 WICPngChrmWhitePointX = 0x1,
209 WICPngChrmWhitePointY = 0x2,
210 WICPngChrmRedX = 0x3,
211 WICPngChrmRedY = 0x4,
212 WICPngChrmGreenX = 0x5,
213 WICPngChrmGreenY = 0x6,
214 WICPngChrmBlueX = 0x7,
215 WICPngChrmBlueY = 0x8,
216}}
217ENUM!{enum WICPngHistProperties {
218 WICPngHistFrequencies = 0x1,
219}}
220ENUM!{enum WICPngIccpProperties {
221 WICPngIccpProfileName = 0x1,
222 WICPngIccpProfileData = 0x2,
223}}
224ENUM!{enum WICPngSrgbProperties {
225 WICPngSrgbRenderingIntent = 0x1,
226}}
227ENUM!{enum WICPngTimeProperties {
228 WICPngTimeYear = 0x1,
229 WICPngTimeMonth = 0x2,
230 WICPngTimeDay = 0x3,
231 WICPngTimeHour = 0x4,
232 WICPngTimeMinute = 0x5,
233 WICPngTimeSecond = 0x6,
234}}
235ENUM!{enum WICSectionAccessLevel {
236 WICSectionAccessLevelRead = 0x1,
237 WICSectionAccessLevelReadWrite = 0x3,
238}}
239ENUM!{enum WICPixelFormatNumericRepresentation {
240 WICPixelFormatNumericRepresentationUnspecified = 0,
241 WICPixelFormatNumericRepresentationIndexed = 0x1,
242 WICPixelFormatNumericRepresentationUnsignedInteger = 0x2,
243 WICPixelFormatNumericRepresentationSignedInteger = 0x3,
244 WICPixelFormatNumericRepresentationFixed = 0x4,
245 WICPixelFormatNumericRepresentationFloat = 0x5,
246}}
247ENUM!{enum WICPlanarOptions {
248 WICPlanarOptionsDefault = 0,
249 WICPlanarOptionsPreserveSubsampling = 0x1,
250}}
251#[allow(unused_qualifications)]
252STRUCT!{struct WICImageParameters {
253 PixelFormat: ::D2D1_PIXEL_FORMAT,
254 DpiX: ::FLOAT,
255 DpiY: ::FLOAT,
256 Top: ::FLOAT,
257 Left: ::FLOAT,
258 PixelWidth: ::FLOAT,
259 PixelHeight: ::FLOAT,
260}}
261#[allow(unused_qualifications)]
262STRUCT!{struct WICBitmapPlaneDescription {
263 Format: WICPixelFormatGUID,
264 Width: ::UINT,
265 Height: ::UINT,
266}}
267#[allow(unused_qualifications)]
268STRUCT!{struct WICBitmapPlane {
269 Format: WICPixelFormatGUID,
270 pbBuffer: *mut ::BYTE,
271 cbStride: ::UINT,
272 cbBufferSize: ::UINT,
273}}
274RIDL!(
275interface IWICPalette(IWICPaletteVtbl): IUnknown(IUnknownVtbl) {
276 fn InitializePredefined(
277 &mut self, ePaletteType: WICBitmapPaletteType, fAddTransparentColor: ::BOOL
278 ) -> ::HRESULT,
279 fn InitializeCustom(&mut self, pColors: *mut WICColor, cCount: ::UINT) -> ::HRESULT,
280 fn InitializeFromBitmap(
281 &mut self, pISurface: *mut IWICBitmapSource, cCount: ::UINT, fAddTransparentColor: ::BOOL
282 ) -> ::HRESULT,
283 fn InitializeFromPalette(&mut self, pIPalette: *mut IWICPalette) -> ::HRESULT,
284 fn GetType(&mut self, pePaletteType: *mut WICBitmapPaletteType) -> ::HRESULT,
285 fn GetColorCount(&mut self, pcCount: *mut ::UINT) -> ::HRESULT,
286 fn GetColors(
287 &mut self, cCount: ::UINT, pColros: *mut WICColor, pcActualColors: *mut ::UINT
288 ) -> ::HRESULT,
289 fn IsBlackWhite(&mut self, pfIsBlackWhite: *mut ::BOOL) -> ::HRESULT,
290 fn IsGrayscale(&mut self, pfIsGrayscale: *mut ::BOOL) -> ::HRESULT,
291 fn HasAlpha(&mut self, pfHasAlpha: *mut ::BOOL) -> ::HRESULT
292});
293RIDL!(
294interface IWICBitmapSource(IWICBitmapSourceVtbl): IUnknown(IUnknownVtbl) {
295 fn GetSize(&mut self, puiWidth: *mut ::UINT, puiHeight: ::UINT) -> ::HRESULT,
296 fn GetPixelFormat(&mut self, pPixelFormat: *mut WICPixelFormatGUID) -> ::HRESULT,
297 fn GetResolution(&mut self, pDpiX: *mut f64, pDpiY: *mut f64) -> ::HRESULT,
298 fn CopyPalette(&mut self, pIPalette: *mut IWICPalette) -> ::HRESULT,
299 fn CopyPixels(
300 &mut self, prc: *const WICRect, cbStride: ::UINT, cbBufferSize: ::UINT,
301 pbBuffer: *mut ::BYTE
302 ) -> ::HRESULT
303});
304RIDL!(
305interface IWICFormatConverter(IWICFormatConverterVtbl): IWICBitmapSource(IWICBitmapSourceVtbl) {
306 fn Initialize(
307 &mut self, pISource: *mut IWICBitmapSource, dstFormat: REFWICPixelFormatGUID,
308 dither: WICBitmapDitherType, pIPalette: *mut IWICPalette, alphaThreasholdPercent: f64,
309 paletteTranslate: WICBitmapPaletteType
310 ) -> ::HRESULT,
311 fn CanConvert(
312 &mut self, srcPixelFormat: REFWICPixelFormatGUID, dstPixelFormat: REFWICPixelFormatGUID,
313 pfCanConvert: *mut ::BOOL
314 ) -> ::HRESULT
315});
316RIDL!(
317interface IWICPlanarFormatConverter(IWICPlanarFormatConverterVtbl)
318 : IWICBitmapSource(IWICBitmapSourceVtbl) {
319 fn Initialize(
320 &mut self, ppPlanes: *mut *mut IWICBitmapSource, cPlanes: ::UINT,
321 dstFormat: REFWICPixelFormatGUID, dither: WICBitmapDitherType, pIPalette: *mut IWICPalette,
322 alphaThreasholdPercent: f64, paletteTranslate: WICBitmapPaletteType
323 ) -> ::HRESULT,
324 fn CanConvert(
325 &mut self, pSrcPixelFormats: *const WICPixelFormatGUID, cSrcPlanes: ::UINT,
326 dstPixelFormat: REFWICPixelFormatGUID, pfCanConvert: *mut ::BOOL
327 ) -> ::HRESULT
328});
329RIDL!(
330interface IWICBitmapScaler(IWICBitmapScalerVtbl): IWICBitmapSource(IWICBitmapSourceVtbl) {
331 fn Initialize(
332 &mut self, pISource: *mut IWICBitmapSource, uiWidth: ::UINT, uiHeight: ::UINT,
333 mode: WICBitmapInterpolationMode
334 ) -> ::HRESULT
335});
336RIDL!(
337interface IWICBitmapClipper(IWICBitmapClipperVtbl): IWICBitmapSource(IWICBitmapSourceVtbl) {
338 fn Initialize(&mut self, pISource: *mut IWICBitmapSource, prc: *const WICRect) -> ::HRESULT
339});
340RIDL!(
341interface IWICBitmapFlipRotator(IWICBitmapFlipRotatorVtbl)
342 : IWICBitmapSource(IWICBitmapSourceVtbl) {
343 fn Initialize(
344 &mut self, pISource: *mut IWICBitmapSource, options: WICBitmapTransformOptions
345 ) -> ::HRESULT
346});
347RIDL!(
348interface IWICBitmapLock(IWICBitmapLockVtbl): IUnknown(IUnknownVtbl) {
349 fn GetSize(&mut self, puiWidth: *mut ::UINT, puiHeight: *mut ::UINT) -> ::HRESULT,
350 fn GetStride(&mut self, pcbStride: *mut ::UINT) -> ::HRESULT,
351 fn GetDataPointer(
352 &mut self, pcbBufferSize: *mut ::UINT, ppbData: *mut WICInProcPointer
353 ) -> ::HRESULT,
354 fn GetPixelFormat(&mut self, pPixelFormat: *mut WICPixelFormatGUID) -> ::HRESULT
355});
356RIDL!(
357interface IWICBitmap(IWICBitmapVtbl): IWICBitmapSource(IWICBitmapSourceVtbl) {
358 fn Lock(
359 &mut self, prcLock: *const WICRect, flags: ::DWORD, ppILock: *mut *mut IWICBitmapLock
360 ) -> ::HRESULT,
361 fn SetPalette(&mut self, pIPalette: *mut IWICPalette) -> ::HRESULT,
362 fn SetResolution(&mut self, dpiX: f64, dpiY: f64) -> ::HRESULT
363});