wincodec.idl 48 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313
  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. import "wtypes.idl";
  19. import "propidl.idl";
  20. import "ocidl.idl";
  21. import "dxgiformat.idl";
  22. cpp_quote ("#include \"dcommon.h\"")
  23. cpp_quote("#define WINCODEC_SDK_VERSION 0x0236")
  24. #define CODEC_FORCE_DWORD 0x7fffffff
  25. typedef enum WICDecodeOptions {
  26. WICDecodeMetadataCacheOnDemand = 0x00000000,
  27. WICDecodeMetadataCacheOnLoad = 0x00000001,
  28. WICMETADATACACHEOPTION_FORCE_DWORD = CODEC_FORCE_DWORD
  29. } WICDecodeOptions;
  30. typedef enum WICBitmapCreateCacheOption {
  31. WICBitmapNoCache = 0x00000000,
  32. WICBitmapCacheOnDemand = 0x00000001,
  33. WICBitmapCacheOnLoad = 0x00000002,
  34. WICBITMAPCREATECACHEOPTION_FORCE_DWORD = CODEC_FORCE_DWORD
  35. } WICBitmapCreateCacheOption;
  36. typedef enum WICBitmapAlphaChannelOption {
  37. WICBitmapUseAlpha = 0x00000000,
  38. WICBitmapUsePremultipliedAlpha = 0x00000001,
  39. WICBitmapIgnoreAlpha = 0x00000002,
  40. WICBITMAPALPHACHANNELOPTIONS_FORCE_DWORD = CODEC_FORCE_DWORD
  41. } WICBitmapAlphaChannelOption;
  42. typedef enum WICBitmapDecoderCapabilities {
  43. WICBitmapDecoderCapabilitySameEncoder = 0x00000001,
  44. WICBitmapDecoderCapabilityCanDecodeAllImages = 0x00000002,
  45. WICBitmapDecoderCapabilityCanDecodeSomeImages = 0x00000004,
  46. WICBitmapDecoderCapabilityCanEnumerateMetadata = 0x00000008,
  47. WICBitmapDecoderCapabilityCanDecodeThumbnail = 0x00000010,
  48. } WICBitmapDecoderCapabilities;
  49. typedef enum WICBitmapDitherType {
  50. WICBitmapDitherTypeNone = 0x00000000,
  51. WICBitmapDitherTypeSolid = 0x00000000,
  52. WICBitmapDitherTypeOrdered4x4 = 0x00000001,
  53. WICBitmapDitherTypeOrdered8x8 = 0x00000002,
  54. WICBitmapDitherTypeOrdered16x16 = 0x00000003,
  55. WICBitmapDitherTypeSpiral4x4 = 0x00000004,
  56. WICBitmapDitherTypeSpiral8x8 = 0x00000005,
  57. WICBitmapDitherTypeDualSpiral4x4 = 0x00000006,
  58. WICBitmapDitherTypeDualSpiral8x8 = 0x00000007,
  59. WICBitmapDitherTypeErrorDiffusion = 0x00000008,
  60. WICBITMAPDITHERTYPE_FORCE_DWORD = CODEC_FORCE_DWORD
  61. } WICBitmapDitherType;
  62. typedef enum WICBitmapEncoderCacheOption {
  63. WICBitmapEncoderCacheInMemory = 0x00000000,
  64. WICBitmapEncoderCacheTempFile = 0x00000001,
  65. WICBitmapEncoderNoCache = 0x00000002,
  66. WICBITMAPENCODERCACHEOPTION_FORCE_DWORD = CODEC_FORCE_DWORD
  67. } WICBitmapEncoderCacheOption;
  68. typedef enum WICBitmapInterpolationMode {
  69. WICBitmapInterpolationModeNearestNeighbor = 0x00000000,
  70. WICBitmapInterpolationModeLinear = 0x00000001,
  71. WICBitmapInterpolationModeCubic = 0x00000002,
  72. WICBitmapInterpolationModeFant = 0x00000003,
  73. WICBITMAPINTERPOLATIONMODE_FORCE_DWORD = CODEC_FORCE_DWORD
  74. } WICBitmapInterpolationMode;
  75. typedef enum WICBitmapLockFlags {
  76. WICBitmapLockRead = 0x00000001,
  77. WICBitmapLockWrite = 0x00000002,
  78. WICBITMAPLOCKFLAGS_FORCE_DWORD = CODEC_FORCE_DWORD
  79. } WICBitmapLockFlags;
  80. typedef enum WICBitmapPaletteType {
  81. WICBitmapPaletteTypeCustom = 0x00000000,
  82. WICBitmapPaletteTypeMedianCut = 0x00000001,
  83. WICBitmapPaletteTypeFixedBW = 0x00000002,
  84. WICBitmapPaletteTypeFixedHalftone8 = 0x00000003,
  85. WICBitmapPaletteTypeFixedHalftone27 = 0x00000004,
  86. WICBitmapPaletteTypeFixedHalftone64 = 0x00000005,
  87. WICBitmapPaletteTypeFixedHalftone125 = 0x00000006,
  88. WICBitmapPaletteTypeFixedHalftone216 = 0x00000007,
  89. WICBitmapPaletteTypeFixedWebPalette = WICBitmapPaletteTypeFixedHalftone216,
  90. WICBitmapPaletteTypeFixedHalftone252 = 0x00000008,
  91. WICBitmapPaletteTypeFixedHalftone256 = 0x00000009,
  92. WICBitmapPaletteTypeFixedGray4 = 0x0000000A,
  93. WICBitmapPaletteTypeFixedGray16 = 0x0000000B,
  94. WICBitmapPaletteTypeFixedGray256 = 0x0000000C,
  95. WICBITMAPPALETTETYPE_FORCE_DWORD = CODEC_FORCE_DWORD
  96. } WICBitmapPaletteType;
  97. typedef enum WICBitmapTransformOptions {
  98. WICBitmapTransformRotate0 = 0x00000000,
  99. WICBitmapTransformRotate90 = 0x00000001,
  100. WICBitmapTransformRotate180 = 0x00000002,
  101. WICBitmapTransformRotate270 = 0x00000003,
  102. WICBitmapTransformFlipHorizontal = 0x00000008,
  103. WICBitmapTransformFlipVertical = 0x00000010,
  104. WICBITMAPTRANSFORMOPTIONS_FORCE_DWORD = CODEC_FORCE_DWORD
  105. } WICBitmapTransformOptions;
  106. typedef enum WICColorContextType {
  107. WICColorContextUninitialized = 0x00000000,
  108. WICColorContextProfile = 0x00000001,
  109. WICColorContextExifColorSpace = 0x00000002
  110. } WICColorContextType;
  111. typedef enum WICComponentType {
  112. WICDecoder = 0x00000001,
  113. WICEncoder = 0x00000002,
  114. WICPixelFormatConverter = 0x00000004,
  115. WICMetadataReader = 0x00000008,
  116. WICMetadataWriter = 0x00000010,
  117. WICPixelFormat = 0x00000020,
  118. WICCOMPONENTTYPE_FORCE_DWORD = CODEC_FORCE_DWORD
  119. } WICComponentType;
  120. typedef enum WICComponentSigning {
  121. WICComponentSigned = 0x00000001,
  122. WICComponentUnsigned = 0x00000002,
  123. WICComponentSafe = 0x00000004,
  124. WICComponentDisabled = 0x80000000
  125. } WICComponentSigning;
  126. typedef enum WICComponentEnumerateOptions {
  127. WICComponentEnumerateDefault = 0x00000000,
  128. WICComponentEnumerateRefresh = 0x00000001,
  129. WICComponentEnumerateBuiltInOnly = 0x20000000,
  130. WICComponentEnumerateUnsigned = 0x40000000,
  131. WICComponentEnumerateDisabled = 0x80000000
  132. } WICComponentEnumerateOptions;
  133. typedef enum WICJpegYCrCbSubsamplingOption {
  134. WICJpegYCrCbSubsamplingDefault = 0x00000000,
  135. WICJpegYCrCbSubsampling420 = 0x00000001,
  136. WICJpegYCrCbSubsampling422 = 0x00000002,
  137. WICJpegYCrCbSubsampling444 = 0x00000003,
  138. WICJpegYCrCbSubsampling440 = 0x00000004
  139. } WICJpegYCrCbSubsamplingOption;
  140. typedef enum WICPixelFormatNumericRepresentation {
  141. WICPixelFormatNumericRepresentationUnspecified = 0x00000000,
  142. WICPixelFormatNumericRepresentationIndexed = 0x00000001,
  143. WICPixelFormatNumericRepresentationUnsignedInteger = 0x00000002,
  144. WICPixelFormatNumericRepresentationSignedInteger = 0x00000003,
  145. WICPixelFormatNumericRepresentationFixed = 0x00000004,
  146. WICPixelFormatNumericRepresentationFloat = 0x00000005,
  147. WICPIXELFORMATNUMERICREPRESENTATION_FORCE_DWORD = CODEC_FORCE_DWORD
  148. } WICPixelFormatNumericRepresentation;
  149. typedef enum WICTiffCompressionOption {
  150. WICTiffCompressionDontCare = 0x00000000,
  151. WICTiffCompressionNone = 0x00000001,
  152. WICTiffCompressionCCITT3 = 0x00000002,
  153. WICTiffCompressionCCITT4 = 0x00000003,
  154. WICTiffCompressionLZW = 0x00000004,
  155. WICTiffCompressionRLE = 0x00000005,
  156. WICTiffCompressionZIP = 0x00000006,
  157. WICTiffCompressionLZWHDifferencing = 0x00000007,
  158. WICTIFFCOMPRESSIONOPTION_FORCE_DWORD = CODEC_FORCE_DWORD
  159. } WICTiffCompressionOption;
  160. typedef enum WICPngFilterOption {
  161. WICPngFilterUnspecified = 0,
  162. WICPngFilterNone = 1,
  163. WICPngFilterSub = 2,
  164. WICPngFilterUp = 3,
  165. WICPngFilterAverage = 4,
  166. WICPngFilterPaeth = 5,
  167. WICPngFilterAdaptive = 6,
  168. WICPNFFILTEROPTION_FORCE_DWORD = CODEC_FORCE_DWORD
  169. } WICPngFilterOption;
  170. typedef enum WICSectionAccessLevel {
  171. WICSectionAccessLevelRead = 0x00000001,
  172. WICSectionAccessLevelReadWrite = 0x00000003,
  173. WICSectionAccessLevel_FORCE_DWORD = CODEC_FORCE_DWORD
  174. } WICSectionAccessLevel;
  175. typedef enum WICDdsDimension {
  176. WICDdsTexture1D = 0x00000000,
  177. WICDdsTexture2D = 0x00000001,
  178. WICDdsTexture3D = 0x00000002,
  179. WICDdsTextureCube = 0x00000003,
  180. WICDDSTEXTURE_FORCE_DWORD = CODEC_FORCE_DWORD
  181. } WICDdsDimension;
  182. typedef enum WICDdsAlphaMode {
  183. WICDdsAlphaModeUnknown = 0x00000000,
  184. WICDdsAlphaModeStraight = 0x00000001,
  185. WICDdsAlphaModePremultiplied = 0x00000002,
  186. WICDdsAlphaModeOpaque = 0x00000003,
  187. WICDdsAlphaModeCustom = 0x00000004,
  188. WICDDSALPHAMODE_FORCE_DWORD = CODEC_FORCE_DWORD
  189. } WICDdsAlphaMode;
  190. typedef GUID WICPixelFormatGUID;
  191. typedef REFGUID REFWICPixelFormatGUID;
  192. cpp_quote("DEFINE_GUID(GUID_WICPixelFormatDontCare, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x00);")
  193. cpp_quote("#define GUID_WICPixelFormatUndefined GUID_WICPixelFormatDontCare")
  194. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat1bppIndexed, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x01);")
  195. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat2bppIndexed, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x02);")
  196. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat4bppIndexed, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x03);")
  197. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat8bppIndexed, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x04);")
  198. cpp_quote("DEFINE_GUID(GUID_WICPixelFormatBlackWhite, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x05);")
  199. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat2bppGray, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x06);")
  200. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat4bppGray, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x07);")
  201. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat8bppGray, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x08);")
  202. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat16bppGray, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0b);")
  203. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat8bppAlpha, 0xe6cd0116,0xeeba,0x4161,0xaa,0x85,0x27,0xdd,0x9f,0xb3,0xa8,0x95);")
  204. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat16bppBGR555, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x09);")
  205. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat16bppBGR565, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0a);")
  206. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat16bppBGRA5551, 0x05ec7c2b,0xf1e6,0x4961,0xad,0x46,0xe1,0xcc,0x81,0x0a,0x87,0xd2);")
  207. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat24bppBGR, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0c);")
  208. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat24bppRGB, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0d);")
  209. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat32bppBGR, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0e);")
  210. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat32bppBGRA, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0f);")
  211. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat32bppPBGRA, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x10);")
  212. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat32bppRGB, 0xd98c6b95,0x3efe,0x47d6,0xbb,0x25,0xeb,0x17,0x48,0xab,0x0c,0xf1);")
  213. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat32bppRGBA, 0xf5c7ad2d,0x6a8d,0x43dd,0xa7,0xa8,0xa2,0x99,0x35,0x26,0x1a,0xe9);")
  214. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat32bppPRGBA, 0x3cc4a650,0xa527,0x4d37,0xa9,0x16,0x31,0x42,0xc7,0xeb,0xed,0xba);")
  215. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat32bppGrayFloat, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x11);")
  216. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat48bppRGB, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x15);")
  217. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat48bppBGR, 0xe605a384,0xb468,0x46ce,0xbb,0x2e,0x36,0xf1,0x80,0xe6,0x43,0x13);")
  218. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat64bppRGB, 0xa1182111,0x186d,0x4d42,0xbc,0x6a,0x9c,0x83,0x03,0xa8,0xdf,0xf9);")
  219. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat64bppRGBA, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x16);")
  220. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat64bppBGRA, 0x1562ff7c,0xd352,0x46f9,0x97,0x9e,0x42,0x97,0x6b,0x79,0x22,0x46);")
  221. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat64bppPRGBA, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x17);")
  222. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat64bppPBGRA, 0x8c518e8e,0xa4ec,0x468b,0xae,0x70,0xc9,0xa3,0x5a,0x9c,0x55,0x30);")
  223. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat16bppGrayFixedPoint, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x13);")
  224. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat32bppBGR101010, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x14);")
  225. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat48bppRGBFixedPoint, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x12);")
  226. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat48bppBGRFixedPoint, 0x49ca140e,0xcab6,0x493b,0x9d,0xdf,0x60,0x18,0x7c,0x37,0x53,0x2a);")
  227. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat96bppRGBFixedPoint, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x18);")
  228. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat96bppRGBFloat, 0xe3fed78f,0xe8db,0x4acf,0x84,0xc1,0xe9,0x7f,0x61,0x36,0xb3,0x27);")
  229. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat128bppRGBAFloat, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x19);")
  230. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat128bppPRGBAFloat, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x1a);")
  231. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat128bppRGBFloat, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x1b);")
  232. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat32bppCMYK, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x1c);")
  233. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat64bppRGBAFixedPoint, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x1d);")
  234. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat64bppBGRAFixedPoint, 0x356de33c,0x54d2,0x4a23,0xbb,0x4,0x9b,0x7b,0xf9,0xb1,0xd4,0x2d);")
  235. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat64bppRGBFixedPoint, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x40);")
  236. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat128bppRGBAFixedPoint, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x1e);")
  237. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat128bppRGBFixedPoint, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x41);")
  238. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat64bppRGBAHalf, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x3a);")
  239. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat64bppPRGBAHalf, 0x58ad26c2,0xc623,0x4d9d,0xb3,0x20,0x38,0x7e,0x49,0xf8,0xc4,0x42);")
  240. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat64bppRGBHalf, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x42);")
  241. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat48bppRGBHalf, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x3b);")
  242. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat32bppRGBE, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x3d);")
  243. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat16bppGrayHalf, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x3e);")
  244. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat32bppGrayFixedPoint, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x3f);")
  245. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat32bppRGBA1010102, 0x25238d72,0xfcf9,0x4522,0xb5,0x14,0x55,0x78,0xe5,0xad,0x55,0xe0);")
  246. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat32bppRGBA1010102XR, 0x00de6b9a,0xc101,0x434b,0xb5,0x02,0xd0,0x16,0x5e,0xe1,0x12,0x2c);")
  247. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat32bppR10G10B10A2, 0x604e1bb5,0x8a3c,0x4b65,0xb1,0x1c,0xbc,0x0b,0x8d,0xd7,0x5b,0x7f);")
  248. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat32bppR10G10B10A2HDR10, 0x9c215c5d,0x1acc,0x4f0e,0xa4,0xbc,0x70,0xfb,0x3a,0xe8,0xfd,0x28);")
  249. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat64bppCMYK, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x1f);")
  250. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat24bpp3Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x20);")
  251. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat32bpp4Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x21);")
  252. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat40bpp5Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x22);")
  253. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat48bpp6Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x23);")
  254. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat56bpp7Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x24);")
  255. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat64bpp8Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x25);")
  256. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat48bpp3Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x26);")
  257. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat64bpp4Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x27);")
  258. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat80bpp5Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x28);")
  259. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat96bpp6Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x29);")
  260. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat112bpp7Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x2a);")
  261. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat128bpp8Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x2b);")
  262. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat40bppCMYKAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x2c);")
  263. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat80bppCMYKAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x2d);")
  264. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat32bpp3ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x2e);")
  265. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat40bpp4ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x2f);")
  266. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat48bpp5ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x30);")
  267. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat56bpp6ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x31);")
  268. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat64bpp7ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x32);")
  269. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat72bpp8ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x33);")
  270. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat64bpp3ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x34);")
  271. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat80bpp4ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x35);")
  272. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat96bpp5ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x36);")
  273. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat112bpp6ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x37);")
  274. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat128bpp7ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x38);")
  275. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat144bpp8ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x39);")
  276. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat8bppY, 0x91b4db54,0x2df9,0x42f0,0xb4,0x49,0x29,0x09,0xbb,0x3d,0xf8,0x8e);")
  277. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat8bppCb, 0x1339f224,0x6bfe,0x4c3e,0x93,0x02,0xe4,0xf3,0xa6,0xd0,0xca,0x2a);")
  278. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat8bppCr, 0xb8145053,0x2116,0x49f0,0x88,0x35,0xed,0x84,0x4b,0x20,0x5c,0x51);")
  279. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat16bppCbCr, 0xff95ba6e,0x11e0,0x4263,0xbb,0x45,0x01,0x72,0x1f,0x34,0x60,0xa4);")
  280. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat16bppYQuantizedDctCoefficients, 0xa355f433,0x48e8,0x4a42,0x84,0xd8,0xe2,0xaa,0x26,0xca,0x80,0xa4);")
  281. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat16bppCbQuantizedDctCoefficients, 0xd2c4ff61,0x56a5,0x49c2,0x8b,0x5c,0x4c,0x19,0x25,0x96,0x48,0x37);")
  282. cpp_quote("DEFINE_GUID(GUID_WICPixelFormat16bppCrQuantizedDctCoefficients, 0x2fe354f0,0x1680,0x42d8,0x92,0x31,0xe7,0x3c,0x05,0x65,0xbf,0xc1);")
  283. cpp_quote("#if 0")
  284. typedef DWORD *D2D1_PIXEL_FORMAT;
  285. cpp_quote ("#endif")
  286. typedef struct WICRect {
  287. INT X;
  288. INT Y;
  289. INT Width;
  290. INT Height;
  291. } WICRect;
  292. typedef struct WICBitmapPattern {
  293. ULARGE_INTEGER Position;
  294. ULONG Length;
  295. BYTE *Pattern;
  296. BYTE *Mask;
  297. BOOL EndOfStream;
  298. } WICBitmapPattern;
  299. typedef struct WICImageParameters
  300. {
  301. D2D1_PIXEL_FORMAT PixelFormat;
  302. FLOAT DpiX;
  303. FLOAT DpiY;
  304. FLOAT Top;
  305. FLOAT Left;
  306. UINT32 PixelWidth;
  307. UINT32 PixelHeight;
  308. } WICImageParameters;
  309. typedef struct WICDdsParameters {
  310. UINT Width;
  311. UINT Height;
  312. UINT Depth;
  313. UINT MipLevels;
  314. UINT ArraySize;
  315. DXGI_FORMAT DxgiFormat;
  316. WICDdsDimension Dimension;
  317. WICDdsAlphaMode AlphaMode;
  318. } WICDdsParameters;
  319. typedef struct WICDdsFormatInfo {
  320. DXGI_FORMAT DxgiFormat;
  321. UINT BytesPerBlock;
  322. UINT BlockWidth;
  323. UINT BlockHeight;
  324. } WICDdsFormatInfo;
  325. typedef UINT32 WICColor;
  326. interface ID2D1Device;
  327. interface ID2D1Image;
  328. interface IWICPalette;
  329. [
  330. object,
  331. uuid(3c613a02-34b2-44ea-9a7c-45aea9c6fd6d)
  332. ]
  333. interface IWICColorContext : IUnknown
  334. {
  335. HRESULT InitializeFromFilename(
  336. [in] LPCWSTR wzFilename);
  337. HRESULT InitializeFromMemory(
  338. [in, size_is(cbBufferSize)] const BYTE *pbBuffer,
  339. [in] UINT cbBufferSize);
  340. HRESULT InitializeFromExifColorSpace(
  341. [in] UINT value);
  342. HRESULT GetType(
  343. [out] WICColorContextType *pType);
  344. HRESULT GetProfileBytes(
  345. [in] UINT cbBuffer,
  346. [in, out, unique, size_is(cbBuffer)] BYTE *pbBuffer,
  347. [out] UINT *pcbActual);
  348. HRESULT GetExifColorSpace(
  349. [out] UINT *pValue);
  350. }
  351. [
  352. object,
  353. uuid(00000120-a8f2-4877-ba0a-fd2b6645fb94)
  354. ]
  355. interface IWICBitmapSource : IUnknown
  356. {
  357. HRESULT GetSize(
  358. [out] UINT *puiWidth,
  359. [out] UINT *puiHeight);
  360. HRESULT GetPixelFormat(
  361. [out] WICPixelFormatGUID *pPixelFormat);
  362. HRESULT GetResolution(
  363. [out] double *pDpiX,
  364. [out] double *pDpiY);
  365. HRESULT CopyPalette(
  366. [in] IWICPalette *pIPalette);
  367. HRESULT CopyPixels(
  368. [in] const WICRect *prc,
  369. [in] UINT cbStride,
  370. [in] UINT cbBufferSize,
  371. [out, size_is(cbBufferSize)] BYTE *pbBuffer);
  372. }
  373. [
  374. object,
  375. uuid(00000123-a8f2-4877-ba0a-fd2b6645fb94)
  376. ]
  377. interface IWICBitmapLock : IUnknown
  378. {
  379. HRESULT GetSize(
  380. [out] UINT *pWidth,
  381. [out] UINT *pHeight);
  382. HRESULT GetStride(
  383. [out] UINT *pcbStride);
  384. HRESULT GetDataPointer(
  385. [out] UINT *pcbBufferSize,
  386. [out, size_is(,*pcbBufferSize)] BYTE **ppbData);
  387. HRESULT GetPixelFormat(
  388. [out] WICPixelFormatGUID *pPixelFormat);
  389. }
  390. [
  391. object,
  392. uuid(5009834f-2d6a-41ce-9e1b-17c5aff7a782)
  393. ]
  394. interface IWICBitmapFlipRotator : IWICBitmapSource
  395. {
  396. HRESULT Initialize(
  397. [in] IWICBitmapSource *pISource,
  398. [in] WICBitmapTransformOptions options);
  399. }
  400. [
  401. object,
  402. uuid(00000121-a8f2-4877-ba0a-fd2b6645fb94)
  403. ]
  404. interface IWICBitmap : IWICBitmapSource
  405. {
  406. HRESULT Lock(
  407. [in] const WICRect *prcLock,
  408. [in] DWORD flags,
  409. [out] IWICBitmapLock **ppILock);
  410. HRESULT SetPalette(
  411. [in] IWICPalette *pIPalette);
  412. HRESULT SetResolution(
  413. [in] double dpiX,
  414. [in] double dpiY);
  415. }
  416. [
  417. object,
  418. uuid(00000040-a8f2-4877-ba0a-fd2b6645fb94)
  419. ]
  420. interface IWICPalette : IUnknown
  421. {
  422. HRESULT InitializePredefined(
  423. [in] WICBitmapPaletteType ePaletteType,
  424. [in] BOOL fAddTransparentColor);
  425. HRESULT InitializeCustom(
  426. [in, size_is(colorCount)] WICColor *pColors,
  427. [in] UINT colorCount);
  428. HRESULT InitializeFromBitmap(
  429. [in] IWICBitmapSource *pISurface,
  430. [in] UINT colorCount,
  431. [in] BOOL fAddTransparentColor);
  432. HRESULT InitializeFromPalette(
  433. [in] IWICPalette *pIPalette);
  434. HRESULT GetType(
  435. [out] WICBitmapPaletteType *pePaletteType);
  436. HRESULT GetColorCount(
  437. [out] UINT *pcCount);
  438. HRESULT GetColors(
  439. [in] UINT colorCount,
  440. [out, size_is(colorCount)] WICColor *pColors,
  441. [out] UINT *pcActualColors);
  442. HRESULT IsBlackWhite(
  443. [out] BOOL *pfIsBlackWhite);
  444. HRESULT IsGrayscale(
  445. [out] BOOL *pfIsGrayscale);
  446. HRESULT HasAlpha(
  447. [out] BOOL *pfHasAlpha);
  448. }
  449. [
  450. object,
  451. uuid(23bc3f0a-698b-4357-886b-f24d50671334)
  452. ]
  453. interface IWICComponentInfo : IUnknown
  454. {
  455. HRESULT GetComponentType(
  456. [out] WICComponentType *pType);
  457. HRESULT GetCLSID(
  458. [out] CLSID *pclsid);
  459. HRESULT GetSigningStatus(
  460. [out] DWORD *pStatus);
  461. HRESULT GetAuthor(
  462. [in] UINT cchAuthor,
  463. [in, out, unique, size_is(cchAuthor)] WCHAR *wzAuthor,
  464. [out] UINT *pcchActual);
  465. HRESULT GetVendorGUID(
  466. [out] GUID *pguidVendor);
  467. HRESULT GetVersion(
  468. [in] UINT cchVersion,
  469. [in, out, unique, size_is(cchVersion)] WCHAR *wzVersion,
  470. [out] UINT *pcchActual);
  471. HRESULT GetSpecVersion(
  472. [in] UINT cchSpecVersion,
  473. [in, out, unique, size_is(cchSpecVersion)] WCHAR *wzSpecVersion,
  474. [out] UINT *pcchActual);
  475. HRESULT GetFriendlyName(
  476. [in] UINT cchFriendlyName,
  477. [in, out, unique, size_is(cchFriendlyName)] WCHAR *wzFriendlyName,
  478. [out] UINT *pcchActual);
  479. }
  480. [
  481. object,
  482. uuid(30989668-e1c9-4597-b395-458eedb808df)
  483. ]
  484. interface IWICMetadataQueryReader : IUnknown
  485. {
  486. HRESULT GetContainerFormat(
  487. [out] GUID *pguidContainerFormat);
  488. HRESULT GetLocation(
  489. [in] UINT cchMaxLength,
  490. [in, out, unique, size_is(cchMaxLength)] WCHAR *wzNamespace,
  491. [out] UINT *pcchActualLength);
  492. HRESULT GetMetadataByName(
  493. [in] LPCWSTR wzName,
  494. [in, out, unique] PROPVARIANT *pvarValue);
  495. HRESULT GetEnumerator(
  496. [out] IEnumString **ppIEnumString);
  497. }
  498. [
  499. object,
  500. uuid(a721791a-0def-4d06-bd91-2118bf1db10b)
  501. ]
  502. interface IWICMetadataQueryWriter : IWICMetadataQueryReader
  503. {
  504. HRESULT SetMetadataByName(
  505. [in] LPCWSTR wzName,
  506. [in] const PROPVARIANT *pvarValue);
  507. HRESULT RemoveMetadataByName(
  508. [in] LPCWSTR wzName);
  509. }
  510. [
  511. object,
  512. uuid(3b16811b-6a43-4ec9-a813-3d930c13b940)
  513. ]
  514. interface IWICBitmapFrameDecode : IWICBitmapSource
  515. {
  516. HRESULT GetMetadataQueryReader(
  517. [out] IWICMetadataQueryReader **ppIMetadataQueryReader);
  518. HRESULT GetColorContexts(
  519. [in] UINT cCount,
  520. [in, out, unique, size_is(cCount)] IWICColorContext **ppIColorContexts,
  521. [out] UINT *pcActualCount);
  522. HRESULT GetThumbnail(
  523. [out] IWICBitmapSource **ppIThumbnail);
  524. }
  525. [
  526. object,
  527. uuid(e8eda601-3d48-431a-ab44-69059be88bbe)
  528. ]
  529. interface IWICPixelFormatInfo : IWICComponentInfo
  530. {
  531. HRESULT GetFormatGUID(
  532. [out] GUID* pFormat);
  533. HRESULT GetColorContext(
  534. [out] IWICColorContext **ppIColorContext);
  535. HRESULT GetBitsPerPixel(
  536. [out] UINT *puiBitsPerPixel);
  537. HRESULT GetChannelCount(
  538. [out] UINT *puiChannelCount);
  539. HRESULT GetChannelMask(
  540. [in] UINT uiChannelIndex,
  541. [in] UINT cbMaskBuffer,
  542. [in, out, unique, size_is(cbMaskBuffer)] BYTE *pbMaskBuffer,
  543. [out] UINT *pcbActual);
  544. }
  545. [
  546. object,
  547. uuid(a9db33a2-af5f-43c7-b679-74f5984b5aa4)
  548. ]
  549. interface IWICPixelFormatInfo2 : IWICPixelFormatInfo
  550. {
  551. HRESULT SupportsTransparency(
  552. [out] BOOL *pfSupportsTransparency);
  553. HRESULT GetNumericRepresentation(
  554. [out] WICPixelFormatNumericRepresentation *pNumericRepresentation);
  555. }
  556. [
  557. object,
  558. uuid(e87a44c4-b76e-4c47-8b09-298eb12a2714)
  559. ]
  560. interface IWICBitmapCodecInfo : IWICComponentInfo
  561. {
  562. HRESULT GetContainerFormat(
  563. [out] GUID *pguidContainerFormat);
  564. HRESULT GetPixelFormats(
  565. [in] UINT cFormats,
  566. [in, out, unique, size_is(cFormats)] GUID *pguidPixelFormats,
  567. [out] UINT *pcActual);
  568. HRESULT GetColorManagementVersion(
  569. [in] UINT cchColorManagementVersion,
  570. [in, out, unique, size_is(cchColorManagementVersion)] WCHAR *wzColorManagementVersion,
  571. [out] UINT *pcchActual);
  572. HRESULT GetDeviceManufacturer(
  573. [in] UINT cchDeviceManufacturer,
  574. [in, out, unique, size_is(cchDeviceManufacturer)] WCHAR *wzDeviceManufacturer,
  575. [out] UINT *pcchActual);
  576. HRESULT GetDeviceModels(
  577. [in] UINT cchDeviceModels,
  578. [in, out, unique, size_is(cchDeviceModels)] WCHAR *wzDeviceModels,
  579. [out] UINT *pcchActual);
  580. HRESULT GetMimeTypes(
  581. [in] UINT cchMimeTypes,
  582. [in, out, unique, size_is(cchMimeTypes)] WCHAR *wzMimeTypes,
  583. [out] UINT *pcchActual);
  584. HRESULT GetFileExtensions(
  585. [in] UINT cchFileExtensions,
  586. [in, out, unique, size_is(cchFileExtensions)] WCHAR *wzFileExtensions,
  587. [out] UINT *pcchActual);
  588. HRESULT DoesSupportAnimation(
  589. [out] BOOL *pfSupportAnimation);
  590. HRESULT DoesSupportChromaKey(
  591. [out] BOOL *pfSupportChromaKey);
  592. HRESULT DoesSupportLossless(
  593. [out] BOOL *pfSupportLossless);
  594. HRESULT DoesSupportMultiframe(
  595. [out] BOOL *pfSupportMultiframe);
  596. HRESULT MatchesMimeType(
  597. [in] LPCWSTR wzMimeType,
  598. [out] BOOL *pfMatches);
  599. }
  600. interface IWICBitmapDecoder;
  601. [
  602. object,
  603. uuid(d8cd007f-d08f-4191-9bfc-236ea7f0e4b5)
  604. ]
  605. interface IWICBitmapDecoderInfo : IWICBitmapCodecInfo
  606. {
  607. [local]
  608. HRESULT GetPatterns(
  609. [in] UINT cbSizePatterns,
  610. [in, out, unique] WICBitmapPattern *pPatterns,
  611. [in, out, unique] UINT *pcPatterns,
  612. [in, out, unique] UINT *pcbPatternsActual);
  613. HRESULT MatchesPattern(
  614. [in] IStream *pIStream,
  615. [out] BOOL *pfMatches);
  616. HRESULT CreateInstance(
  617. [out] IWICBitmapDecoder **ppIBitmapDecoder);
  618. }
  619. [
  620. object,
  621. uuid(9edde9e7-8dee-47ea-99df-e6faf2ed44bf)
  622. ]
  623. interface IWICBitmapDecoder : IUnknown
  624. {
  625. HRESULT QueryCapability(
  626. [in] IStream *pIStream,
  627. [out] DWORD *pdwCapability);
  628. HRESULT Initialize(
  629. [in] IStream *pIStream,
  630. [in] WICDecodeOptions cacheOptions);
  631. HRESULT GetContainerFormat(
  632. [out] GUID *pguidContainerFormat);
  633. HRESULT GetDecoderInfo(
  634. [out] IWICBitmapDecoderInfo **ppIDecoderInfo);
  635. HRESULT CopyPalette(
  636. [in] IWICPalette *pIPalette);
  637. HRESULT GetMetadataQueryReader(
  638. [out] IWICMetadataQueryReader **ppIMetadataQueryReader);
  639. HRESULT GetPreview(
  640. [out] IWICBitmapSource **ppIBitmapSource);
  641. HRESULT GetColorContexts(
  642. [in] UINT cCount,
  643. [in, out, unique, size_is(cCount)] IWICColorContext **ppIColorContexts,
  644. [out] UINT *pcActualCount);
  645. HRESULT GetThumbnail(
  646. [out] IWICBitmapSource **ppIThumbnail);
  647. HRESULT GetFrameCount(
  648. [out] UINT *pCount);
  649. HRESULT GetFrame(
  650. [in] UINT index,
  651. [out] IWICBitmapFrameDecode **ppIBitmapFrame);
  652. }
  653. [
  654. object,
  655. uuid(00000105-a8f2-4877-ba0a-fd2b6645fb94)
  656. ]
  657. interface IWICBitmapFrameEncode : IUnknown
  658. {
  659. HRESULT Initialize(
  660. [in, unique] IPropertyBag2 *pIEncoderOptions);
  661. HRESULT SetSize(
  662. [in] UINT uiWidth,
  663. [in] UINT uiHeight);
  664. HRESULT SetResolution(
  665. [in] double dpiX,
  666. [in] double dpiY);
  667. HRESULT SetPixelFormat(
  668. [in, out] WICPixelFormatGUID *pPixelFormat);
  669. HRESULT SetColorContexts(
  670. [in] UINT cCount,
  671. [in, size_is(cCount)] IWICColorContext **ppIColorContext);
  672. HRESULT SetPalette(
  673. [in] IWICPalette *pIPalette);
  674. HRESULT SetThumbnail(
  675. [in] IWICBitmapSource *pIThumbnail);
  676. HRESULT WritePixels(
  677. [in] UINT lineCount,
  678. [in] UINT cbStride,
  679. [in] UINT cbBufferSize,
  680. [in, size_is(cbBufferSize)] BYTE *pbPixels);
  681. HRESULT WriteSource(
  682. [in] IWICBitmapSource *pIBitmapSource,
  683. [in, unique] WICRect *prc);
  684. HRESULT Commit();
  685. HRESULT GetMetadataQueryWriter(
  686. IWICMetadataQueryWriter **ppIMetadataQueryWriter);
  687. }
  688. interface IWICBitmapEncoder;
  689. [
  690. object,
  691. uuid(94c9b4ee-a09f-4f92-8a1e-4a9bce7e76fb)
  692. ]
  693. interface IWICBitmapEncoderInfo : IWICBitmapCodecInfo
  694. {
  695. HRESULT CreateInstance(
  696. [out] IWICBitmapEncoder **ppIBitmapEncoder);
  697. }
  698. [
  699. object,
  700. uuid(00000103-a8f2-4877-ba0a-fd2b6645fb94)
  701. ]
  702. interface IWICBitmapEncoder : IUnknown
  703. {
  704. HRESULT Initialize(
  705. [in] IStream *pIStream,
  706. [in] WICBitmapEncoderCacheOption cacheOption);
  707. HRESULT GetContainerFormat(
  708. [out] GUID *pguidContainerFormat);
  709. HRESULT GetEncoderInfo(
  710. [out] IWICBitmapEncoderInfo **ppIEncoderInfo);
  711. HRESULT SetColorContexts(
  712. [in] UINT cCount,
  713. [in, size_is(cCount)] IWICColorContext **ppIColorContext);
  714. HRESULT SetPalette(
  715. [in] IWICPalette *pIPalette);
  716. HRESULT SetThumbnail(
  717. [in] IWICBitmapSource *pIThumbnail);
  718. HRESULT SetPreview(
  719. [in] IWICBitmapSource *pIPreview);
  720. HRESULT CreateNewFrame(
  721. [out] IWICBitmapFrameEncode **ppIFrameEncode,
  722. [in, out, unique] IPropertyBag2 **ppIEncoderOptions);
  723. HRESULT Commit();
  724. HRESULT GetMetadataQueryWriter(
  725. [out] IWICMetadataQueryWriter **ppIMetadataQueryWriter);
  726. }
  727. [
  728. object,
  729. uuid(00000301-a8f2-4877-ba0a-fd2b6645fb94)
  730. ]
  731. interface IWICFormatConverter : IWICBitmapSource
  732. {
  733. HRESULT Initialize(
  734. [in] IWICBitmapSource *pISource,
  735. [in] REFWICPixelFormatGUID dstFormat,
  736. [in] WICBitmapDitherType dither,
  737. [in] IWICPalette *pIPalette,
  738. [in] double alphaThresholdPercent,
  739. [in] WICBitmapPaletteType paletteTranslate);
  740. HRESULT CanConvert(
  741. [in] REFWICPixelFormatGUID srcPixelFormat,
  742. [in] REFWICPixelFormatGUID dstPixelFormat,
  743. [out] BOOL *pfCanConvert);
  744. }
  745. [
  746. object,
  747. uuid(9f34fb65-13f4-4f15-bc57-3726b5e53d9f)
  748. ]
  749. interface IWICFormatConverterInfo : IWICComponentInfo
  750. {
  751. HRESULT GetPixelFormats(
  752. [in] UINT cFormats,
  753. [in, out, size_is(cFormats)] WICPixelFormatGUID *pPixelFormatGUIDs,
  754. [out] UINT *pcActual);
  755. HRESULT CreateInstance(
  756. [out] IWICFormatConverter **ppIConverter);
  757. }
  758. [
  759. object,
  760. uuid(135ff860-22b7-4ddf-b0f6-218f4f299a43)
  761. ]
  762. interface IWICStream : IStream
  763. {
  764. HRESULT InitializeFromIStream(
  765. [in] IStream *pIStream);
  766. HRESULT InitializeFromFilename(
  767. [in] LPCWSTR wzFileName,
  768. [in] DWORD dwAccessMode);
  769. HRESULT InitializeFromMemory(
  770. [in, size_is(cbBufferSize)] BYTE *pbBuffer,
  771. [in] DWORD cbBufferSize);
  772. HRESULT InitializeFromIStreamRegion(
  773. [in] IStream *pIStream,
  774. [in] ULARGE_INTEGER ulOffset,
  775. [in] ULARGE_INTEGER ulMaxSize);
  776. }
  777. [
  778. object,
  779. uuid(00000302-a8f2-4877-ba0a-fd2b6645fb94)
  780. ]
  781. interface IWICBitmapScaler : IWICBitmapSource
  782. {
  783. HRESULT Initialize(
  784. [in] IWICBitmapSource *pISource,
  785. [in] UINT uiWidth,
  786. [in] UINT uiHeight,
  787. [in] WICBitmapInterpolationMode mode);
  788. }
  789. [
  790. object,
  791. uuid(e4fbcf03-223d-4e81-9333-d635556dd1b5)
  792. ]
  793. interface IWICBitmapClipper : IWICBitmapSource
  794. {
  795. HRESULT Initialize(
  796. [in] IWICBitmapSource *pISource,
  797. [in] const WICRect *prc);
  798. }
  799. [
  800. object,
  801. uuid(b66f034f-d0e2-40ab-b436-6de39e321a94)
  802. ]
  803. interface IWICColorTransform : IWICBitmapSource
  804. {
  805. HRESULT Initialize(
  806. [in] IWICBitmapSource *pIBitmapSource,
  807. [in] IWICColorContext *pIContextSource,
  808. [in] IWICColorContext *pIContextDest,
  809. [in] REFWICPixelFormatGUID pixelFmtDest);
  810. }
  811. [
  812. object,
  813. uuid(b84e2c09-78c9-4ac4-8bd3-524ae1663a2f)
  814. ]
  815. interface IWICFastMetadataEncoder : IUnknown
  816. {
  817. HRESULT Commit();
  818. HRESULT GetMetadataQueryWriter(
  819. [out] IWICMetadataQueryWriter **ppIMetadataQueryWriter);
  820. }
  821. [
  822. object,
  823. uuid(04c75bf8-3ce1-473b-acc5-3cc4f5e94999),
  824. local
  825. ]
  826. interface IWICImageEncoder : IUnknown
  827. {
  828. HRESULT WriteFrame(
  829. [in] ID2D1Image *image,
  830. [in] IWICBitmapFrameEncode *encode,
  831. [in, unique] const WICImageParameters *parameters);
  832. HRESULT WriteFrameThumbnail(
  833. [in] ID2D1Image *image,
  834. [in] IWICBitmapFrameEncode *encode,
  835. [in, unique] const WICImageParameters *parameters);
  836. HRESULT WriteThumbnail(
  837. [in] ID2D1Image *image,
  838. [in] IWICBitmapEncoder *encoder,
  839. [in, unique] const WICImageParameters *parameters);
  840. }
  841. cpp_quote("DEFINE_GUID(CLSID_WICImagingFactory, 0xcacaf262,0x9370,0x4615,0xa1,0x3b,0x9f,0x55,0x39,0xda,0x4c,0x0a);")
  842. cpp_quote("DEFINE_GUID(CLSID_WICImagingFactory1, 0xcacaf262,0x9370,0x4615,0xa1,0x3b,0x9f,0x55,0x39,0xda,0x4c,0x0a);")
  843. cpp_quote("DEFINE_GUID(CLSID_WICImagingFactory2, 0x317d06e8,0x5f24,0x433d,0xbd,0xf7,0x79,0xce,0x68,0xd8,0xab,0xc2);")
  844. [
  845. object,
  846. uuid(ec5ec8a9-c395-4314-9c77-54d7a935ff70)
  847. ]
  848. interface IWICImagingFactory : IUnknown
  849. {
  850. HRESULT CreateDecoderFromFilename(
  851. [in] LPCWSTR wzFilename,
  852. [in, unique] const GUID *pguidVendor,
  853. [in] DWORD dwDesiredAccess,
  854. [in] WICDecodeOptions metadataOptions,
  855. [out, retval] IWICBitmapDecoder **ppIDecoder);
  856. HRESULT CreateDecoderFromStream(
  857. [in] IStream *pIStream,
  858. [in, unique] const GUID *pguidVendor,
  859. [in] WICDecodeOptions metadataOptions,
  860. [out, retval] IWICBitmapDecoder **ppIDecoder);
  861. HRESULT CreateDecoderFromFileHandle(
  862. [in] ULONG_PTR hFile,
  863. [in, unique] const GUID *pguidVendor,
  864. [in] WICDecodeOptions metadataOptions,
  865. [out, retval] IWICBitmapDecoder **ppIDecoder);
  866. HRESULT CreateComponentInfo(
  867. [in] REFCLSID clsidComponent,
  868. [out] IWICComponentInfo **ppIInfo);
  869. HRESULT CreateDecoder(
  870. [in] REFGUID guidContainerFormat,
  871. [in, unique] const GUID *pguidVendor,
  872. [out, retval] IWICBitmapDecoder **ppIDecoder);
  873. HRESULT CreateEncoder(
  874. [in] REFGUID guidContainerFormat,
  875. [in, unique] const GUID *pguidVendor,
  876. [out, retval] IWICBitmapEncoder **ppIEncoder);
  877. HRESULT CreatePalette(
  878. [out] IWICPalette **ppIPalette);
  879. HRESULT CreateFormatConverter(
  880. [out] IWICFormatConverter **ppIFormatConverter);
  881. HRESULT CreateBitmapScaler(
  882. [out] IWICBitmapScaler **ppIBitmapScaler);
  883. HRESULT CreateBitmapClipper(
  884. [out] IWICBitmapClipper **ppIBitmapClipper);
  885. HRESULT CreateBitmapFlipRotator(
  886. [out] IWICBitmapFlipRotator **ppIBitmapFlipRotator);
  887. HRESULT CreateStream(
  888. [out] IWICStream **ppIWICStream);
  889. HRESULT CreateColorContext(
  890. [out] IWICColorContext **ppIWICColorContext);
  891. HRESULT CreateColorTransformer(
  892. [out] IWICColorTransform **ppIWICColorTransform);
  893. HRESULT CreateBitmap(
  894. [in] UINT uiWidth,
  895. [in] UINT uiHeight,
  896. [in] REFWICPixelFormatGUID pixelFormat,
  897. [in] WICBitmapCreateCacheOption option,
  898. [out] IWICBitmap **ppIBitmap);
  899. HRESULT CreateBitmapFromSource(
  900. [in] IWICBitmapSource *piBitmapSource,
  901. [in] WICBitmapCreateCacheOption option,
  902. [out] IWICBitmap **ppIBitmap);
  903. HRESULT CreateBitmapFromSourceRect(
  904. [in] IWICBitmapSource *piBitmapSource,
  905. [in] UINT x,
  906. [in] UINT y,
  907. [in] UINT width,
  908. [in] UINT height,
  909. [out] IWICBitmap **ppIBitmap);
  910. HRESULT CreateBitmapFromMemory(
  911. [in] UINT uiWidth,
  912. [in] UINT uiHeight,
  913. [in] REFWICPixelFormatGUID pixelFormat,
  914. [in] UINT cbStride,
  915. [in] UINT cbBufferSize,
  916. [in, size_is(cbBufferSize)] BYTE *pbBuffer,
  917. [out] IWICBitmap **ppIBitmap);
  918. HRESULT CreateBitmapFromHBITMAP(
  919. [in] HBITMAP hBitmap,
  920. [in, unique] HPALETTE hPalette,
  921. [in] WICBitmapAlphaChannelOption options,
  922. [out] IWICBitmap **ppIBitmap);
  923. HRESULT CreateBitmapFromHICON(
  924. [in] HICON hIcon,
  925. [out] IWICBitmap **ppIBitmap);
  926. HRESULT CreateComponentEnumerator(
  927. [in] DWORD componentTypes,
  928. [in] DWORD options,
  929. [out] IEnumUnknown **ppIEnumUnknown);
  930. HRESULT CreateFastMetadataEncoderFromDecoder(
  931. [in] IWICBitmapDecoder *pIDecoder,
  932. [out] IWICFastMetadataEncoder **ppIFastEncoder);
  933. HRESULT CreateFastMetadataEncoderFromFrameDecode(
  934. [in] IWICBitmapFrameDecode *pIFrameDecoder,
  935. [out] IWICFastMetadataEncoder **ppIFastEncoder);
  936. HRESULT CreateQueryWriter(
  937. [in] REFGUID guidMetadataFormat,
  938. [in, unique] const GUID *pguidVendor,
  939. [out] IWICMetadataQueryWriter **ppIQueryWriter);
  940. HRESULT CreateQueryWriterFromReader(
  941. [in] IWICMetadataQueryReader *pIQueryReader,
  942. [in, unique] const GUID *pguidVendor,
  943. [out] IWICMetadataQueryWriter **ppIQueryWriter);
  944. }
  945. [
  946. object,
  947. uuid(7b816b45-1996-4476-b132-de9e247c8af0),
  948. local
  949. ]
  950. interface IWICImagingFactory2 : IWICImagingFactory
  951. {
  952. HRESULT CreateImageEncoder(
  953. [in] ID2D1Device *device,
  954. [out] IWICImageEncoder **encoder);
  955. }
  956. [
  957. local,
  958. object,
  959. uuid(dc2bb46d-3f07-481e-8625-220c4aedbb33)
  960. ]
  961. interface IWICEnumMetadataItem : IUnknown
  962. {
  963. HRESULT Next(
  964. [in] ULONG celt,
  965. [in, out, unique, size_is(celt)] PROPVARIANT *rgeltSchema,
  966. [in, out, size_is(celt)] PROPVARIANT *rgeltId,
  967. [in, out, optional, size_is(celt)] PROPVARIANT *rgeltValue,
  968. [out, optional] ULONG *pceltFetched);
  969. HRESULT Skip(
  970. [in] ULONG celt);
  971. HRESULT Reset();
  972. HRESULT Clone(
  973. [out] IWICEnumMetadataItem **ppIEnumMetadataItem);
  974. }
  975. [
  976. object,
  977. uuid(409cd537-8532-40cb-9774-e2feb2df4e9c)
  978. ]
  979. interface IWICDdsDecoder : IUnknown
  980. {
  981. HRESULT GetParameters(
  982. [out] WICDdsParameters *parameters);
  983. HRESULT GetFrame(
  984. [in] UINT arrayIndex,
  985. [in] UINT mipLevel,
  986. [in] UINT sliceIndex,
  987. [out, retval] IWICBitmapFrameDecode **bitmapFrame);
  988. };
  989. [
  990. object,
  991. uuid(5cacdb4c-407e-41b3-b936-d0f010cd6732)
  992. ]
  993. interface IWICDdsEncoder : IUnknown
  994. {
  995. HRESULT SetParameters(
  996. [in] WICDdsParameters *parameters);
  997. HRESULT GetParameters(
  998. [out] WICDdsParameters *parameters);
  999. HRESULT CreateNewFrame(
  1000. [out] IWICBitmapFrameEncode **frameEncode,
  1001. [out, optional] UINT *arrayIndex,
  1002. [out, optional] UINT *mipLevel,
  1003. [out, optional] UINT *sliceIndex);
  1004. };
  1005. [
  1006. object,
  1007. uuid(3d4c0c61-18a4-41e4-bd80-481a4fc9f464)
  1008. ]
  1009. interface IWICDdsFrameDecode : IUnknown
  1010. {
  1011. HRESULT GetSizeInBlocks(
  1012. [out] UINT *widthInBlocks,
  1013. [out] UINT *heightInBlocks);
  1014. HRESULT GetFormatInfo(
  1015. [out] WICDdsFormatInfo *formatInfo);
  1016. HRESULT CopyBlocks(
  1017. [in, unique] const WICRect *boundsInBlocks,
  1018. [in] UINT stride,
  1019. [in] UINT bufferSize,
  1020. [out, size_is(bufferSize)] BYTE *buffer);
  1021. };
  1022. [
  1023. object,
  1024. uuid(b9bd430d-28a8-41d3-a1f5-f36ee02840bf)
  1025. ]
  1026. interface IWICWineDecoder : IUnknown
  1027. {
  1028. HRESULT Initialize(
  1029. [in] IStream *stream,
  1030. [in] WICDecodeOptions options);
  1031. };
  1032. cpp_quote("HRESULT WINAPI WICConvertBitmapSource(REFWICPixelFormatGUID dstFormat, IWICBitmapSource *pISrc, IWICBitmapSource **ppIDst);")
  1033. cpp_quote("HRESULT WINAPI WICCreateBitmapFromSection(UINT width, UINT height, REFWICPixelFormatGUID format, HANDLE section, UINT stride, UINT offset, IWICBitmap **bitmap);")
  1034. cpp_quote("HRESULT WINAPI WICCreateBitmapFromSectionEx(UINT width, UINT height, REFWICPixelFormatGUID format, HANDLE section, UINT stride, UINT offset, WICSectionAccessLevel access, IWICBitmap **bitmap);")
  1035. cpp_quote("HRESULT WINAPI WICMapGuidToShortName(REFGUID,UINT,WCHAR *,UINT *);")
  1036. cpp_quote("HRESULT WINAPI WICMapShortNameToGuid(PCWSTR,GUID *);")
  1037. cpp_quote("HRESULT WINAPI WICMapSchemaToName(REFGUID,LPWSTR,UINT,WCHAR *,UINT *);")
  1038. cpp_quote("DEFINE_GUID(CLSID_WICBmpDecoder, 0x6b462062,0x7cbf,0x400d,0x9f,0xdb,0x81,0x3d,0xd1,0x0f,0x27,0x78);")
  1039. cpp_quote("DEFINE_GUID(CLSID_WICPngDecoder, 0x389ea17b,0x5078,0x4cde,0xb6,0xef,0x25,0xc1,0x51,0x75,0xc7,0x51);")
  1040. cpp_quote("DEFINE_GUID(CLSID_WICPngDecoder1, 0x389ea17b,0x5078,0x4cde,0xb6,0xef,0x25,0xc1,0x51,0x75,0xc7,0x51);")
  1041. cpp_quote("DEFINE_GUID(CLSID_WICPngDecoder2, 0xe018945b,0xaa86,0x4008,0x9b,0xd4,0x67,0x77,0xa1,0xe4,0x0c,0x11);")
  1042. cpp_quote("DEFINE_GUID(CLSID_WICIcoDecoder, 0xc61bfcdf,0x2e0f,0x4aad,0xa8,0xd7,0xe0,0x6b,0xaf,0xeb,0xcd,0xfe);")
  1043. cpp_quote("DEFINE_GUID(CLSID_WICJpegDecoder, 0x9456a480,0xe88b,0x43ea,0x9e,0x73,0x0b,0x2d,0x9b,0x71,0xb1,0xca);")
  1044. cpp_quote("DEFINE_GUID(CLSID_WICGifDecoder, 0x381dda3c,0x9ce9,0x4834,0xa2,0x3e,0x1f,0x98,0xf8,0xfc,0x52,0xbe);")
  1045. cpp_quote("DEFINE_GUID(CLSID_WICTiffDecoder, 0xb54e85d9,0xfe23,0x499f,0x8b,0x88,0x6a,0xce,0xa7,0x13,0x75,0x2b);")
  1046. cpp_quote("DEFINE_GUID(CLSID_WICWmpDecoder, 0xa26cec36,0x234c,0x4950,0xae,0x16,0xe3,0x4a,0xac,0xe7,0x1d,0x0d);")
  1047. cpp_quote("DEFINE_GUID(CLSID_WICDdsDecoder, 0x9053699f,0xa341,0x429d,0x9e,0x90,0xee,0x43,0x7c,0xf8,0x0c,0x73);")
  1048. cpp_quote("DEFINE_GUID(CLSID_WICBmpEncoder, 0x69be8bb4,0xd66d,0x47c8,0x86,0x5a,0xed,0x15,0x89,0x43,0x37,0x82);")
  1049. cpp_quote("DEFINE_GUID(CLSID_WICPngEncoder, 0x27949969,0x876a,0x41d7,0x94,0x47,0x56,0x8f,0x6a,0x35,0xa4,0xdc);")
  1050. cpp_quote("DEFINE_GUID(CLSID_WICJpegEncoder, 0x1a34f5c1,0x4a5a,0x46dc,0xb6,0x44,0x1f,0x45,0x67,0xe7,0xa6,0x76);")
  1051. cpp_quote("DEFINE_GUID(CLSID_WICGifEncoder, 0x114f5598,0x0b22,0x40a0,0x86,0xa1,0xc8,0x3e,0xa4,0x95,0xad,0xbd);")
  1052. cpp_quote("DEFINE_GUID(CLSID_WICTiffEncoder, 0x0131be10,0x2001,0x4c5f,0xa9,0xb0,0xcc,0x88,0xfa,0xb6,0x4c,0xe8);")
  1053. cpp_quote("DEFINE_GUID(CLSID_WICWmpEncoder, 0xac4ce3cb,0xe1c1,0x44cd,0x82,0x15,0x5a,0x16,0x65,0x50,0x9e,0xc2);")
  1054. cpp_quote("DEFINE_GUID(CLSID_WICDdsEncoder, 0xa61dde94,0x66ce,0x4ac1,0x88,0x1b,0x71,0x68,0x05,0x88,0x89,0x5e);")
  1055. cpp_quote("DEFINE_GUID(CLSID_WICAdngDecoder, 0x981d9411,0x909e,0x42a7,0x8f,0x5d,0xa7,0x47,0xff,0x05,0x2e,0xdb);")
  1056. cpp_quote("DEFINE_GUID(CLSID_WICJpegQualcommPhoneEncoder, 0x68ed5c62,0xf534,0x4979,0xb2,0xb3,0x68,0x6a,0x12,0xb2,0xb3,0x4c);")
  1057. cpp_quote("DEFINE_GUID(CLSID_WICHeifDecoder, 0xe9a4a80a,0x44fe,0x4de4,0x89,0x71,0x71,0x50,0xb1,0x0a,0x51,0x99);")
  1058. cpp_quote("DEFINE_GUID(CLSID_WICHeifEncoder, 0x0dbecec1,0x9eb3,0x4860,0x9c,0x6f,0xdd,0xbe,0x86,0x63,0x45,0x75);")
  1059. cpp_quote("DEFINE_GUID(CLSID_WICWebpDecoder, 0x7693e886,0x51c9,0x4070,0x84,0x19,0x9f,0x70,0x73,0x8e,0xc8,0xfa);")
  1060. cpp_quote("DEFINE_GUID(CLSID_WICRAWDecoder, 0x41945702,0x8302,0x44a6,0x94,0x45,0xac,0x98,0xe8,0xaf,0xa0,0x86);")
  1061. cpp_quote("DEFINE_GUID(CLSID_WICDefaultFormatConverter, 0x1a3f11dc,0xb514,0x4b17,0x8c,0x5f,0x21,0x54,0x51,0x38,0x52,0xf1);")
  1062. cpp_quote("DEFINE_GUID(CLSID_WICFormatConverterHighColor, 0xac75d454,0x9f37,0x48f8,0xb9,0x72,0x4e,0x19,0xbc,0x85,0x60,0x11);")
  1063. cpp_quote("DEFINE_GUID(CLSID_WICFormatConverterNChannel, 0xc17cabb2,0xd4a3,0x47d7,0xa5,0x57,0x33,0x9b,0x2e,0xfb,0xd4,0xf1);")
  1064. cpp_quote("DEFINE_GUID(CLSID_WICFormatConverterWMPhoto, 0x9cb5172b,0xd600,0x46ba,0xab,0x77,0x77,0xbb,0x7e,0x3a,0x00,0xd9);")
  1065. cpp_quote("DEFINE_GUID(CLSID_WICPlanarFormatConverter, 0x184132b8,0x32f8,0x4784,0x91,0x31,0xdd,0x72,0x24,0xb2,0x34,0x38);")
  1066. cpp_quote("DEFINE_GUID(GUID_ContainerFormatBmp, 0x0af1d87e,0xfcfe,0x4188,0xbd,0xeb,0xa7,0x90,0x64,0x71,0xcb,0xe3);")
  1067. cpp_quote("DEFINE_GUID(GUID_ContainerFormatPng, 0x1b7cfaf4,0x713f,0x473c,0xbb,0xcd,0x61,0x37,0x42,0x5f,0xae,0xaf);")
  1068. cpp_quote("DEFINE_GUID(GUID_ContainerFormatIco, 0xa3a860c4,0x338f,0x4c17,0x91,0x9a,0xfb,0xa4,0xb5,0x62,0x8f,0x21);")
  1069. cpp_quote("DEFINE_GUID(GUID_ContainerFormatJpeg, 0x19e4a5aa,0x5662,0x4fc5,0xa0,0xc0,0x17,0x58,0x02,0x8e,0x10,0x57);")
  1070. cpp_quote("DEFINE_GUID(GUID_ContainerFormatTiff, 0x163bcc30,0xe2e9,0x4f0b,0x96,0x1d,0xa3,0xe9,0xfd,0xb7,0x88,0xa3);")
  1071. cpp_quote("DEFINE_GUID(GUID_ContainerFormatGif, 0x1f8a5601,0x7d4d,0x4cbd,0x9c,0x82,0x1b,0xc8,0xd4,0xee,0xb9,0xa5);")
  1072. cpp_quote("DEFINE_GUID(GUID_ContainerFormatWmp, 0x57a37caa,0x367a,0x4540,0x91,0x6b,0xf1,0x83,0xc5,0x09,0x3a,0x4b);")
  1073. cpp_quote("DEFINE_GUID(GUID_ContainerFormatDds, 0x9967cb95,0x2e85,0x4ac8,0x8c,0xa2,0x83,0xd7,0xcc,0xd4,0x25,0xc9);")
  1074. cpp_quote("DEFINE_GUID(GUID_ContainerFormatAdng, 0xf3ff6d0d,0x38c0,0x41c4,0xb1,0xfe,0x1f,0x38,0x24,0xf1,0x7b,0x84);")
  1075. cpp_quote("DEFINE_GUID(GUID_ContainerFormatHeif, 0xe1e62521,0x6787,0x405b,0xa3,0x39,0x50,0x07,0x15,0xb5,0x76,0x3f);")
  1076. cpp_quote("DEFINE_GUID(GUID_ContainerFormatWebp, 0xe094b0e2,0x67f2,0x45b3,0xb0,0xea,0x11,0x53,0x37,0xca,0x7c,0xf3);")
  1077. cpp_quote("DEFINE_GUID(GUID_ContainerFormatRaw, 0xfe99ce60,0xf19c,0x433c,0xa3,0xae,0x00,0xac,0xef,0xa9,0xca,0x21);")
  1078. cpp_quote("DEFINE_GUID(GUID_VendorMicrosoft, 0xf0e749ca,0xedef,0x4589,0xa7,0x3a,0xee,0x0e,0x62,0x6a,0x2a,0x2b);")
  1079. cpp_quote("DEFINE_GUID(GUID_VendorMicrosoftBuiltIn, 0x257a30fd,0x6b6,0x462b,0xae,0xa4,0x63,0xf7,0xb,0x86,0xe5,0x33);")
  1080. cpp_quote("DEFINE_GUID(CLSID_WICImagingCategories, 0xfae3d380,0xfea4,0x4623,0x8c,0x75,0xc6,0xb6,0x11,0x10,0xb6,0x81);")
  1081. cpp_quote("DEFINE_GUID(CATID_WICBitmapDecoders, 0x7ed96837,0x96f0,0x4812,0xb2,0x11,0xf1,0x3c,0x24,0x11,0x7e,0xd3);")
  1082. cpp_quote("DEFINE_GUID(CATID_WICBitmapEncoders, 0xac757296,0x3522,0x4e11,0x98,0x62,0xc1,0x7b,0xe5,0xa1,0x76,0x7e);")
  1083. cpp_quote("DEFINE_GUID(CATID_WICFormatConverters, 0x7835eae8,0xbf14,0x49d1,0x93,0xce,0x53,0x3a,0x40,0x7b,0x22,0x48);")
  1084. cpp_quote("DEFINE_GUID(CATID_WICMetadataReader, 0x05af94d8,0x7174,0x4cd2,0xbe,0x4a,0x41,0x24,0xb8,0x0e,0xe4,0xb8);")
  1085. cpp_quote("DEFINE_GUID(CATID_WICMetadataWriter, 0xabe3b9a4,0x257d,0x4b97,0xbd,0x1a,0x29,0x4a,0xf4,0x96,0x22,0x2e);")
  1086. cpp_quote("DEFINE_GUID(CATID_WICPixelFormats, 0x2b46e70f,0xcda7,0x473e,0x89,0xf6,0xdc,0x96,0x30,0xa2,0x39,0x0b);")