diff --git a/dlls/gdi/Makefile.in b/dlls/gdi/Makefile.in index d27c9939e06..090badd91e1 100644 --- a/dlls/gdi/Makefile.in +++ b/dlls/gdi/Makefile.in @@ -48,6 +48,7 @@ C_SRCS = \ enhmfdrv/objects.c \ freetype.c \ gdi_main.c \ + icm.c \ mfdrv/bitblt.c \ mfdrv/dc.c \ mfdrv/graphics.c \ diff --git a/dlls/gdi/gdi32.spec b/dlls/gdi/gdi32.spec index c396ea9ee7a..d25fdf24f7c 100644 --- a/dlls/gdi/gdi32.spec +++ b/dlls/gdi/gdi32.spec @@ -97,8 +97,8 @@ @ stdcall EnumFontFamiliesW(long wstr ptr long) @ stdcall EnumFontsA(long str ptr long) @ stdcall EnumFontsW(long wstr ptr long) -@ stub EnumICMProfilesA -@ stub EnumICMProfilesW +@ stdcall EnumICMProfilesA(long ptr long) +@ stdcall EnumICMProfilesW(long ptr long) @ stdcall EnumMetaFile(long long ptr ptr) @ stdcall EnumObjects(long long ptr long) @ stdcall EqualRgn(long long) diff --git a/dlls/gdi/icm.c b/dlls/gdi/icm.c new file mode 100644 index 00000000000..8a87a04fe27 --- /dev/null +++ b/dlls/gdi/icm.c @@ -0,0 +1,49 @@ +/* + * Image Color Management + * + * Copyright 2004 Marcus Meissner + * + * 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 + */ + +#include "config.h" + +#include +#include +#include "windef.h" +#include "winbase.h" +#include "winreg.h" +#include "wingdi.h" + +#include "wine/debug.h" + +WINE_DEFAULT_DEBUG_CHANNEL(icm); + + +/*********************************************************************** + * EnumICMProfilesA (GDI32.@) + */ +INT WINAPI EnumICMProfilesA(HDC hdc,ICMENUMPROCA func,LPARAM lParam) { + FIXME("(%p, %p, 0x%08lx), stub.\n",hdc,func,lParam); + return -1; +} + +/*********************************************************************** + * EnumICMProfilesW (GDI32.@) + */ +INT WINAPI EnumICMProfilesW(HDC hdc,ICMENUMPROCW func,LPARAM lParam) { + FIXME("(%p, %p, 0x%08lx), stub.\n",hdc,func,lParam); + return -1; +} diff --git a/include/wingdi.h b/include/wingdi.h index 92f11f4439a..19830a0f02d 100644 --- a/include/wingdi.h +++ b/include/wingdi.h @@ -431,6 +431,14 @@ DECL_WINELIB_TYPE_AW(LOGCOLORSPACE) #define CMYK(c,m,y,k) ((COLORREF)((((BYTE)(k)|((WORD)((BYTE)(y))<<8))|(((DWORD)(BYTE)(m))<<16))|(((DWORD)(BYTE)(c))<<24))) +/* ICM stuff */ +typedef INT (CALLBACK *EnumICMProfilesProcCallbackA)(LPSTR lpszFilename,LPARAM lParam); +typedef INT (CALLBACK *EnumICMProfilesProcCallbackW)(LPWSTR lpszFilename,LPARAM lParam); +DECL_WINELIB_TYPE_AW(EnumICMProfilesProcCallback) +typedef EnumICMProfilesProcCallbackA ICMENUMPROCA; +typedef EnumICMProfilesProcCallbackW ICMENUMPROCW; +DECL_WINELIB_TYPE_AW(ICMENUMPROC) + #define ICM_OFF 1 #define ICM_ON 2 @@ -3216,6 +3224,9 @@ INT WINAPI EnumFontFamiliesExW(HDC,LPLOGFONTW,FONTENUMPROCW,LPARAM,DWORD); INT WINAPI EnumFontsA(HDC,LPCSTR,FONTENUMPROCA,LPARAM); INT WINAPI EnumFontsW(HDC,LPCWSTR,FONTENUMPROCW,LPARAM); #define EnumFonts WINELIB_NAME_AW(EnumFonts) +INT WINAPI EnumICMProfilesA(HDC,ICMENUMPROCA,LPARAM); +INT WINAPI EnumICMProfilesW(HDC,ICMENUMPROCW,LPARAM); +#define EnumICMProfiles WINELIB_NAME_AW(EnumICMProfiles) BOOL WINAPI EnumMetaFile(HDC,HMETAFILE,MFENUMPROC,LPARAM); INT WINAPI EnumObjects(HDC,INT,GOBJENUMPROC,LPARAM); BOOL WINAPI EqualRgn(HRGN,HRGN);