wine/include/gdiplusimaging.h
2008-03-07 11:29:05 +01:00

145 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 */