146 lines
2.9 KiB
C++
146 lines
2.9 KiB
C++
/*
|
|
* Copyright (C) 2007 Google (Evan Stade)
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
|
*/
|
|
|
|
#ifndef _GDIPLUSIMAGING_H
|
|
#define _GDIPLUSIMAGING_H
|
|
|
|
enum ImageLockMode
|
|
{
|
|
ImageLockModeRead = 1,
|
|
ImageLockModeWrite = 2,
|
|
ImageLockModeUserInputBuf = 4
|
|
};
|
|
|
|
#ifdef __cplusplus
|
|
class EncoderParameter
|
|
{
|
|
public:
|
|
GUID Guid;
|
|
ULONG NumberOfValues;
|
|
ULONG Type;
|
|
VOID* Value;
|
|
};
|
|
|
|
class EncoderParameters
|
|
{
|
|
public:
|
|
UINT Count;
|
|
EncoderParameter Parameter[1];
|
|
};
|
|
|
|
class ImageCodecInfo
|
|
{
|
|
public:
|
|
CLSID Clsid;
|
|
GUID FormatID;
|
|
const WCHAR* CodecName;
|
|
const WCHAR* DllName;
|
|
const WCHAR* FormatDescription;
|
|
const WCHAR* FilenameExtension;
|
|
const WCHAR* MimeType;
|
|
DWORD Flags;
|
|
DWORD Version;
|
|
DWORD SigCount;
|
|
DWORD SigSize;
|
|
const BYTE* SigPattern;
|
|
const BYTE* SigMask;
|
|
};
|
|
|
|
class BitmapData
|
|
{
|
|
public:
|
|
UINT Width;
|
|
UINT Height;
|
|
INT Stride;
|
|
PixelFormat PixelFormat;
|
|
VOID* Scan0;
|
|
UINT_PTR Reserved;
|
|
};
|
|
|
|
class ImageItemData
|
|
{
|
|
public:
|
|
UINT Size;
|
|
UINT Position;
|
|
VOID* Desc;
|
|
UINT DescSize;
|
|
VOID* Data;
|
|
UINT DataSize;
|
|
UINT Cookie;
|
|
};
|
|
|
|
#else /* end of c++ typedefs */
|
|
|
|
typedef enum ImageLockMode ImageLockMode;
|
|
|
|
typedef struct EncoderParameter
|
|
{
|
|
GUID Guid;
|
|
ULONG NumberOfValues;
|
|
ULONG Type;
|
|
VOID* Value;
|
|
} EncoderParameter;
|
|
|
|
typedef struct EncoderParameters
|
|
{
|
|
UINT Count;
|
|
EncoderParameter Parameter[1];
|
|
} EncoderParameters;
|
|
|
|
typedef struct ImageCodecInfo
|
|
{
|
|
CLSID Clsid;
|
|
GUID FormatID;
|
|
const WCHAR* CodecName;
|
|
const WCHAR* DllName;
|
|
const WCHAR* FormatDescription;
|
|
const WCHAR* FilenameExtension;
|
|
const WCHAR* MimeType;
|
|
DWORD Flags;
|
|
DWORD Version;
|
|
DWORD SigCount;
|
|
DWORD SigSize;
|
|
const BYTE* SigPattern;
|
|
const BYTE* SigMask;
|
|
} ImageCodecInfo;
|
|
|
|
typedef struct BitmapData
|
|
{
|
|
UINT Width;
|
|
UINT Height;
|
|
INT Stride;
|
|
PixelFormat PixelFormat;
|
|
VOID* Scan0;
|
|
UINT_PTR Reserved; /* undocumented: stores the lock mode */
|
|
} BitmapData;
|
|
|
|
typedef struct ImageItemData
|
|
{
|
|
UINT Size;
|
|
UINT Position;
|
|
VOID* Desc;
|
|
UINT DescSize;
|
|
VOID* Data;
|
|
UINT DataSize;
|
|
UINT Cookie;
|
|
} ImageItemData;
|
|
|
|
#endif /* end of c typedefs */
|
|
|
|
#endif /* _GDIPLUSIMAGING_H */
|