Start of a header for MS Colour Management.
ChangeLog; * Add icm.h for colour management
Index: include/Makefile.in =================================================================== RCS file: /home/wine/wine/include/Makefile.in,v retrieving revision 1.112 diff -u -r1.112 Makefile.in --- include/Makefile.in 8 Dec 2003 21:44:24 -0000 1.112 +++ include/Makefile.in 7 Jan 2004 08:39:53 -0000 @@ -85,6 +85,7 @@ fci.h \ fdi.h \ guiddef.h \ + icm.h \ icmpapi.h \ imagehlp.h \ imm.h \ --- /dev/null 1994-07-18 08:46:18.000000000 +0900 +++ include/icm.h 2004-01-07 18:00:52.000000000 +0900 @@ -0,0 +1,101 @@ +/* + * Copyright (C) the Wine project + * + * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef __WINE_ICM_H +#define __WINE_ICM_H + +typedef HANDLE HPROFILE; +typedef HPROFILE *PHPROFILE; +typedef HANDLE HTRANSFORM; + +typedef DWORD TAGTYPE; +typedef TAGTYPE *PTAGTYPE,*LPTAGTYPE; + +typedef enum { + BM_x555RGB = 0x00, + BM_565RGB = 0x01, + BM_RGBTRIPLETS = 0x02, + BM_BGRTRIPLETS = 0x04, + BM_xRGBQUADS = 0x08, + BM_10b_RGB = 0x09, + BM_16b_RGB = 0x0a, + BM_xBGRQUADS = 0x10, + BM_CMYKQUADS = 0x20, + BM_x555XYZ = 0x101, + BM_x555Yxz, + BM_x555Lab, + BM_x555G3CH, + BM_XYZTRIPLETS = 0x201, + BM_YxyTRIPLETS, + BM_LabTRIPLETS, + BM_G3CHTRIPLETS, + BM_5CHANNEL, + BM_6CHANNEL, + BM_7CHANNEL, + BM_8CHANNEL, + BM_GRAY, + BM_xXYZQUADS = 0x301, + BM_xYxyQUADS, + BM_xLabQUADS, + BM_xG3CHQUADS, + BM_KYMCQUADS, + BM_10b_XYZ = 0x401, + BM_10b_Yxy, + BM_10b_Lab, + BM_10b_G3CH, + BM_NAMED_INDEX, + BM_16b_XYZ = 0x501, + BM_16b_Yxy, + BM_16b_Lab, + BM_16b_G3CH, + BM_16b_GRAY, +} BMFORMAT; + +typedef BOOL WINAPI (*PBMCALLBACKFN)(ULONG,ULONG,ULONG); +typedef PBMCALLBACKFN LPPBMCALLBACKFN; + +typedef struct tagPROFILEHEADER { + DWORD phSize; + DWORD phCMMType; + DWORD phVersion; + DWORD phClass; + DWORD phDataColorSpace; + DWORD phConnectionSpace; + DWORD phDateTime[3]; + DWORD phSignature; + DWORD phPlatform; + DWORD phProfileFlags; + DWORD phManufacturer; + DWORD phModel; + DWORD phAttributes; + DWORD phRenderingIntent; + CIEXYZ phIlluminant; + DWORD phCreator; + BYTE phReserved[44]; +} PROFILEHEADER; +typedef PROFILEHEADER *PPROFILEHEADER,*LPPROFILEHEADER; + +typedef struct tagPROFILE { + DWORD dwType; + PVOID pProfileData; + DWORD cbDataSize; +} PROFILE; +typedef PROFILE *PPROFILE,*LPPROFILE; + +#endif +