ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

gdiplusimaging.h
Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 2007 Google (Evan Stade)
00003  *
00004  * This library is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU Lesser General Public
00006  * License as published by the Free Software Foundation; either
00007  * version 2.1 of the License, or (at your option) any later version.
00008  *
00009  * This library is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  * Lesser General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU Lesser General Public
00015  * License along with this library; if not, write to the Free Software
00016  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00017  */
00018 
00019 #ifndef _GDIPLUSIMAGING_H
00020 #define _GDIPLUSIMAGING_H
00021 
00022 DEFINE_GUID(ImageFormatUndefined, 0xb96b3ca9, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e);
00023 DEFINE_GUID(ImageFormatMemoryBMP, 0xb96b3caa, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e);
00024 DEFINE_GUID(ImageFormatBMP,       0xb96b3cab, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e);
00025 DEFINE_GUID(ImageFormatEMF,       0xb96b3cac, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e);
00026 DEFINE_GUID(ImageFormatWMF,       0xb96b3cad, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e);
00027 DEFINE_GUID(ImageFormatJPEG,      0xb96b3cae, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e);
00028 DEFINE_GUID(ImageFormatPNG,       0xb96b3caf, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e);
00029 DEFINE_GUID(ImageFormatGIF,       0xb96b3cb0, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e);
00030 DEFINE_GUID(ImageFormatTIFF,      0xb96b3cb1, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e);
00031 DEFINE_GUID(ImageFormatEXIF,      0xb96b3cb2, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e);
00032 DEFINE_GUID(ImageFormatIcon,      0xb96b3cb5, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e);
00033 
00034 DEFINE_GUID(FrameDimensionTime,       0x6aedbd6d, 0x3fb5, 0x418a, 0x83, 0xa6, 0x7f, 0x45, 0x22, 0x9d, 0xc8, 0x72);
00035 DEFINE_GUID(FrameDimensionPage,       0x7462dc86, 0x6180, 0x4c7e, 0x8e, 0x3f, 0xee, 0x73, 0x33, 0xa7, 0xa4, 0x83);
00036 DEFINE_GUID(FrameDimensionResolution, 0x84236f7b, 0x3bd3, 0x428f, 0x8d, 0xab, 0x4e, 0xa1, 0x43, 0x9c, 0xa3, 0x15);
00037 
00038 enum ImageLockMode
00039 {
00040     ImageLockModeRead           = 1,
00041     ImageLockModeWrite          = 2,
00042     ImageLockModeUserInputBuf   = 4
00043 };
00044 
00045 enum RotateFlipType
00046 {
00047     RotateNoneFlipNone = 0,
00048     Rotate180FlipXY    = RotateNoneFlipNone,
00049 
00050     Rotate90FlipNone   = 1,
00051     Rotate270FlipXY    = Rotate90FlipNone,
00052 
00053     Rotate180FlipNone  = 2,
00054     RotateNoneFlipXY   = Rotate180FlipNone,
00055 
00056     Rotate270FlipNone  = 3,
00057     Rotate90FlipXY     = Rotate270FlipNone,
00058 
00059     RotateNoneFlipX    = 4,
00060     Rotate180FlipY     = RotateNoneFlipX,
00061 
00062     Rotate90FlipX      = 5,
00063     Rotate270FlipY     = Rotate90FlipX,
00064 
00065     Rotate180FlipX     = 6,
00066     RotateNoneFlipY    = Rotate180FlipX,
00067 
00068     Rotate270FlipX     = 7,
00069     Rotate90FlipY      = Rotate270FlipX
00070 };
00071 
00072 #ifdef __cplusplus
00073 class EncoderParameter
00074 {
00075 public:
00076     GUID    Guid;
00077     ULONG   NumberOfValues;
00078     ULONG   Type;
00079     VOID*   Value;
00080 };
00081 
00082 class EncoderParameters
00083 {
00084 public:
00085     UINT Count;
00086     EncoderParameter Parameter[1];
00087 };
00088 
00089 class ImageCodecInfo
00090 {
00091 public:
00092     CLSID Clsid;
00093     GUID  FormatID;
00094     const WCHAR* CodecName;
00095     const WCHAR* DllName;
00096     const WCHAR* FormatDescription;
00097     const WCHAR* FilenameExtension;
00098     const WCHAR* MimeType;
00099     DWORD Flags;
00100     DWORD Version;
00101     DWORD SigCount;
00102     DWORD SigSize;
00103     const BYTE* SigPattern;
00104     const BYTE* SigMask;
00105 };
00106 
00107 class BitmapData
00108 {
00109 public:
00110     UINT Width;
00111     UINT Height;
00112     INT Stride;
00113     Gdiplus::PixelFormat PixelFormat;
00114     VOID* Scan0;
00115     UINT_PTR Reserved;
00116 };
00117 
00118 class ImageItemData
00119 {
00120 public:
00121     UINT  Size;
00122     UINT  Position;
00123     VOID* Desc;
00124     UINT  DescSize;
00125     VOID* Data;
00126     UINT  DataSize;
00127     UINT  Cookie;
00128 };
00129 
00130 class PropertyItem
00131 {
00132 public:
00133     PROPID id;
00134     ULONG  length;
00135     WORD   type;
00136     VOID*  value;
00137 };
00138 
00139 #else /* end of c++ typedefs */
00140 
00141 typedef enum ImageLockMode ImageLockMode;
00142 typedef enum RotateFlipType RotateFlipType;
00143 
00144 typedef struct EncoderParameter
00145 {
00146     GUID Guid;
00147     ULONG NumberOfValues;
00148     ULONG Type;
00149     VOID* Value;
00150 } EncoderParameter;
00151 
00152 typedef struct EncoderParameters
00153 {
00154     UINT Count;
00155     EncoderParameter Parameter[1];
00156 } EncoderParameters;
00157 
00158 typedef struct ImageCodecInfo
00159 {
00160     CLSID Clsid;
00161     GUID  FormatID;
00162     const WCHAR* CodecName;
00163     const WCHAR* DllName;
00164     const WCHAR* FormatDescription;
00165     const WCHAR* FilenameExtension;
00166     const WCHAR* MimeType;
00167     DWORD Flags;
00168     DWORD Version;
00169     DWORD SigCount;
00170     DWORD SigSize;
00171     const BYTE* SigPattern;
00172     const BYTE* SigMask;
00173 } ImageCodecInfo;
00174 
00175 typedef struct BitmapData
00176 {
00177     UINT Width;
00178     UINT Height;
00179     INT Stride;
00180     PixelFormat PixelFormat;
00181     VOID* Scan0;
00182     UINT_PTR Reserved; /* undocumented: stores the lock mode */
00183 } BitmapData;
00184 
00185 typedef struct ImageItemData
00186 {
00187     UINT  Size;
00188     UINT  Position;
00189     VOID* Desc;
00190     UINT  DescSize;
00191     VOID* Data;
00192     UINT  DataSize;
00193     UINT  Cookie;
00194 } ImageItemData;
00195 
00196 typedef struct PropertyItem
00197 {
00198     PROPID id;
00199     ULONG  length;
00200     WORD   type;
00201     VOID*  value;
00202 } PropertyItem;
00203 
00204 #endif /* end of c typedefs */
00205 
00206 /* property types */
00207 #define PropertyTagTypeByte       1
00208 #define PropertyTagTypeASCII      2
00209 #define PropertyTagTypeShort      3
00210 #define PropertyTagTypeLong       4
00211 #define PropertyTagTypeRational   5
00212 #define PropertyTagTypeUndefined  7
00213 #define PropertyTagTypeSLONG      9
00214 #define PropertyTagTypeSRational 10
00215 
00216 /* property IDs */
00217 #define PropertyTagExifIFD                0x8769
00218 #define PropertyTagGpsIFD                 0x8825
00219 
00220 #define PropertyTagNewSubfileType         0x00FE
00221 #define PropertyTagSubfileType            0x00FF
00222 #define PropertyTagImageWidth             0x0100
00223 #define PropertyTagImageHeight            0x0101
00224 #define PropertyTagBitsPerSample          0x0102
00225 #define PropertyTagCompression            0x0103
00226 #define PropertyTagPhotometricInterp      0x0106
00227 #define PropertyTagThreshHolding          0x0107
00228 #define PropertyTagCellWidth              0x0108
00229 #define PropertyTagCellHeight             0x0109
00230 #define PropertyTagFillOrder              0x010A
00231 #define PropertyTagDocumentName           0x010D
00232 #define PropertyTagImageDescription       0x010E
00233 #define PropertyTagEquipMake              0x010F
00234 #define PropertyTagEquipModel             0x0110
00235 #define PropertyTagStripOffsets           0x0111
00236 #define PropertyTagOrientation            0x0112
00237 #define PropertyTagSamplesPerPixel        0x0115
00238 #define PropertyTagRowsPerStrip           0x0116
00239 #define PropertyTagStripBytesCount        0x0117
00240 #define PropertyTagMinSampleValue         0x0118
00241 #define PropertyTagMaxSampleValue         0x0119
00242 #define PropertyTagXResolution            0x011A
00243 #define PropertyTagYResolution            0x011B
00244 #define PropertyTagPlanarConfig           0x011C
00245 #define PropertyTagPageName               0x011D
00246 #define PropertyTagXPosition              0x011E
00247 #define PropertyTagYPosition              0x011F
00248 #define PropertyTagFreeOffset             0x0120
00249 #define PropertyTagFreeByteCounts         0x0121
00250 #define PropertyTagGrayResponseUnit       0x0122
00251 #define PropertyTagGrayResponseCurve      0x0123
00252 #define PropertyTagT4Option               0x0124
00253 #define PropertyTagT6Option               0x0125
00254 #define PropertyTagResolutionUnit         0x0128
00255 #define PropertyTagPageNumber             0x0129
00256 #define PropertyTagTransferFuncition      0x012D
00257 #define PropertyTagSoftwareUsed           0x0131
00258 #define PropertyTagDateTime               0x0132
00259 #define PropertyTagArtist                 0x013B
00260 #define PropertyTagHostComputer           0x013C
00261 #define PropertyTagPredictor              0x013D
00262 #define PropertyTagWhitePoint             0x013E
00263 #define PropertyTagPrimaryChromaticities  0x013F
00264 #define PropertyTagColorMap               0x0140
00265 #define PropertyTagHalftoneHints          0x0141
00266 #define PropertyTagTileWidth              0x0142
00267 #define PropertyTagTileLength             0x0143
00268 #define PropertyTagTileOffset             0x0144
00269 #define PropertyTagTileByteCounts         0x0145
00270 #define PropertyTagInkSet                 0x014C
00271 #define PropertyTagInkNames               0x014D
00272 #define PropertyTagNumberOfInks           0x014E
00273 #define PropertyTagDotRange               0x0150
00274 #define PropertyTagTargetPrinter          0x0151
00275 #define PropertyTagExtraSamples           0x0152
00276 #define PropertyTagSampleFormat           0x0153
00277 #define PropertyTagSMinSampleValue        0x0154
00278 #define PropertyTagSMaxSampleValue        0x0155
00279 #define PropertyTagTransferRange          0x0156
00280 
00281 #define PropertyTagJPEGProc               0x0200
00282 #define PropertyTagJPEGInterFormat        0x0201
00283 #define PropertyTagJPEGInterLength        0x0202
00284 #define PropertyTagJPEGRestartInterval    0x0203
00285 #define PropertyTagJPEGLosslessPredictors 0x0205
00286 #define PropertyTagJPEGPointTransforms    0x0206
00287 #define PropertyTagJPEGQTables            0x0207
00288 #define PropertyTagJPEGDCTables           0x0208
00289 #define PropertyTagJPEGACTables           0x0209
00290 
00291 #define PropertyTagYCbCrCoefficients      0x0211
00292 #define PropertyTagYCbCrSubsampling       0x0212
00293 #define PropertyTagYCbCrPositioning       0x0213
00294 #define PropertyTagREFBlackWhite          0x0214
00295 
00296 #define PropertyTagICCProfile          0x8773
00297 
00298 #define PropertyTagGamma                0x0301
00299 #define PropertyTagICCProfileDescriptor 0x0302
00300 #define PropertyTagSRGBRenderingIntent  0x0303
00301 
00302 #define PropertyTagImageTitle          0x0320
00303 #define PropertyTagCopyright           0x8298
00304 
00305 #define PropertyTagResolutionXUnit            0x5001
00306 #define PropertyTagResolutionYUnit            0x5002
00307 #define PropertyTagResolutionXLengthUnit      0x5003
00308 #define PropertyTagResolutionYLengthUnit      0x5004
00309 #define PropertyTagPrintFlags                 0x5005
00310 #define PropertyTagPrintFlagsVersion          0x5006
00311 #define PropertyTagPrintFlagsCrop             0x5007
00312 #define PropertyTagPrintFlagsBleedWidth       0x5008
00313 #define PropertyTagPrintFlagsBleedWidthScale  0x5009
00314 #define PropertyTagHalftoneLPI                0x500A
00315 #define PropertyTagHalftoneLPIUnit            0x500B
00316 #define PropertyTagHalftoneDegree             0x500C
00317 #define PropertyTagHalftoneShape              0x500D
00318 #define PropertyTagHalftoneMisc               0x500E
00319 #define PropertyTagHalftoneScreen             0x500F
00320 #define PropertyTagJPEGQuality                0x5010
00321 #define PropertyTagGridSize                   0x5011
00322 #define PropertyTagThumbnailFormat            0x5012
00323 #define PropertyTagThumbnailWidth             0x5013
00324 #define PropertyTagThumbnailHeight            0x5014
00325 #define PropertyTagThumbnailColorDepth        0x5015
00326 #define PropertyTagThumbnailPlanes            0x5016
00327 #define PropertyTagThumbnailRawBytes          0x5017
00328 #define PropertyTagThumbnailSize              0x5018
00329 #define PropertyTagThumbnailCompressedSize    0x5019
00330 #define PropertyTagColorTransferFunction      0x501A
00331 #define PropertyTagThumbnailData              0x501B
00332 
00333 #define PropertyTagThumbnailImageWidth        0x5020
00334 #define PropertyTagThumbnailImageHeight       0x5021
00335 #define PropertyTagThumbnailBitsPerSample     0x5022
00336 #define PropertyTagThumbnailCompression       0x5023
00337 #define PropertyTagThumbnailPhotometricInterp 0x5024
00338 #define PropertyTagThumbnailImageDescription  0x5025
00339 #define PropertyTagThumbnailEquipMake         0x5026
00340 #define PropertyTagThumbnailEquipModel        0x5027
00341 #define PropertyTagThumbnailStripOffsets      0x5028
00342 #define PropertyTagThumbnailOrientation       0x5029
00343 #define PropertyTagThumbnailSamplesPerPixel   0x502A
00344 #define PropertyTagThumbnailRowsPerStrip      0x502B
00345 #define PropertyTagThumbnailStripBytesCount   0x502C
00346 #define PropertyTagThumbnailResolutionX       0x502D
00347 #define PropertyTagThumbnailResolutionY       0x502E
00348 #define PropertyTagThumbnailPlanarConfig      0x502F
00349 #define PropertyTagThumbnailResolutionUnit    0x5030
00350 #define PropertyTagThumbnailTransferFunction  0x5031
00351 #define PropertyTagThumbnailSoftwareUsed      0x5032
00352 #define PropertyTagThumbnailDateTime          0x5033
00353 #define PropertyTagThumbnailArtist            0x5034
00354 #define PropertyTagThumbnailWhitePoint        0x5035
00355 #define PropertyTagThumbnailPrimaryChromaticities 0x5036
00356 #define PropertyTagThumbnailYCbCrCoefficients 0x5037
00357 #define PropertyTagThumbnailYCbCrSubsampling  0x5038
00358 #define PropertyTagThumbnailYCbCrPositioning  0x5039
00359 #define PropertyTagThumbnailRefBlackWhite     0x503A
00360 #define PropertyTagThumbnailCopyRight         0x503B
00361 
00362 #define PropertyTagLuminanceTable    0x5090
00363 #define PropertyTagChrominanceTable  0x5091
00364 
00365 #define PropertyTagFrameDelay        0x5100
00366 #define PropertyTagLoopCount         0x5101
00367 
00368 #define PropertyTagPixelUnit         0x5110
00369 #define PropertyTagPixelPerUnitX     0x5111
00370 #define PropertyTagPixelPerUnitY     0x5112
00371 #define PropertyTagPaletteHistogram  0x5113
00372 
00373 #define PropertyTagExifExposureTime  0x829A
00374 #define PropertyTagExifFNumber       0x829D
00375 
00376 #define PropertyTagExifExposureProg  0x8822
00377 #define PropertyTagExifSpectralSense 0x8824
00378 #define PropertyTagExifISOSpeed      0x8827
00379 #define PropertyTagExifOECF          0x8828
00380 
00381 #define PropertyTagExifVer           0x9000
00382 #define PropertyTagExifDTOrig        0x9003
00383 #define PropertyTagExifDTDigitized   0x9004
00384 
00385 #define PropertyTagExifCompConfig    0x9101
00386 #define PropertyTagExifCompBPP       0x9102
00387 
00388 #define PropertyTagExifShutterSpeed  0x9201
00389 #define PropertyTagExifAperture      0x9202
00390 #define PropertyTagExifBrightness    0x9203
00391 #define PropertyTagExifExposureBias  0x9204
00392 #define PropertyTagExifMaxAperture   0x9205
00393 #define PropertyTagExifSubjectDist   0x9206
00394 #define PropertyTagExifMeteringMode  0x9207
00395 #define PropertyTagExifLightSource   0x9208
00396 #define PropertyTagExifFlash         0x9209
00397 #define PropertyTagExifFocalLength   0x920A
00398 #define PropertyTagExifMakerNote     0x927C
00399 #define PropertyTagExifUserComment   0x9286
00400 #define PropertyTagExifDTSubsec      0x9290
00401 #define PropertyTagExifDTOrigSS      0x9291
00402 #define PropertyTagExifDTDigSS       0x9292
00403 
00404 #define PropertyTagExifFPXVer        0xA000
00405 #define PropertyTagExifColorSpace    0xA001
00406 #define PropertyTagExifPixXDim       0xA002
00407 #define PropertyTagExifPixYDim       0xA003
00408 #define PropertyTagExifRelatedWav    0xA004
00409 #define PropertyTagExifInterop       0xA005
00410 #define PropertyTagExifFlashEnergy   0xA20B
00411 #define PropertyTagExifSpatialFR     0xA20C
00412 #define PropertyTagExifFocalXRes     0xA20E
00413 #define PropertyTagExifFocalYRes     0xA20F
00414 #define PropertyTagExifFocalResUnit  0xA210
00415 #define PropertyTagExifSubjectLoc    0xA214
00416 #define PropertyTagExifExposureIndex 0xA215
00417 #define PropertyTagExifSensingMethod 0xA217
00418 #define PropertyTagExifFileSource    0xA300
00419 #define PropertyTagExifSceneType     0xA301
00420 #define PropertyTagExifCfaPattern    0xA302
00421 
00422 #define PropertyTagGpsVer            0x0000
00423 #define PropertyTagGpsLatitudeRef    0x0001
00424 #define PropertyTagGpsLatitude       0x0002
00425 #define PropertyTagGpsLongitudeRef   0x0003
00426 #define PropertyTagGpsLongitude      0x0004
00427 #define PropertyTagGpsAltitudeRef    0x0005
00428 #define PropertyTagGpsAltitude       0x0006
00429 #define PropertyTagGpsGpsTime        0x0007
00430 #define PropertyTagGpsGpsSatellites  0x0008
00431 #define PropertyTagGpsGpsStatus      0x0009
00432 #define PropertyTagGpsGpsMeasureMode 0x000A
00433 #define PropertyTagGpsGpsDop         0x000B
00434 #define PropertyTagGpsSpeedRef       0x000C
00435 #define PropertyTagGpsSpeed          0x000D
00436 #define PropertyTagGpsTrackRef       0x000E
00437 #define PropertyTagGpsTrack          0x000F
00438 #define PropertyTagGpsImgDirRef      0x0010
00439 #define PropertyTagGpsImgDir         0x0011
00440 #define PropertyTagGpsMapDatum       0x0012
00441 #define PropertyTagGpsDestLatRef     0x0013
00442 #define PropertyTagGpsDestLat        0x0014
00443 #define PropertyTagGpsDestLongRef    0x0015
00444 #define PropertyTagGpsDestLong       0x0016
00445 #define PropertyTagGpsDestBearRef    0x0017
00446 #define PropertyTagGpsDestBear       0x0018
00447 #define PropertyTagGpsDestDistRef    0x0019
00448 #define PropertyTagGpsDestDist       0x001A
00449 
00450 #endif /* _GDIPLUSIMAGING_H */

Generated on Mon May 28 2012 04:31:19 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.