Skip to content
Snippets Groups Projects
Commit 5164757c authored by Hans Leidekker's avatar Hans Leidekker Committed by Alexandre Julliard
Browse files

Beginnings of an MSCMS implementation based on LittleCMS.

parent 2d02afbc
No related merge requests found
......@@ -80,6 +80,7 @@ DLLs (under dlls/):
msacm/msadp32/ - MS ADPCM Audio Codec
msacm/msg711/ - MS G711 Audio Codec (includes A-Law & MU-Law)
msacm/winemp3/ - Mpeg Layer 3 Audio Codec
mscms/ - Color Management System
msdmo/ - DirectX Media Objects
mshtml/ - MS HTML component
msi/ - Microsoft Installer
......
This diff is collapsed.
......@@ -631,6 +631,15 @@ AC_CHECK_HEADERS(libaudioio.h,
[AUDIOIOLIBS="-laudioio"
AC_DEFINE(HAVE_LIBAUDIOIO, 1, [Define if you have libaudioIO])])])
dnl **** Check for lcms ****
AC_CHECK_HEADERS(lcms.h,
[AC_CHECK_LIB(lcms,cmsOpenProfileFromFile,
[AC_DEFINE(HAVE_LCMS,1,[Define if you have lcms libs and headers])
AC_SUBST(LCMSLIBS,"-llcms")
])
])
dnl **** Check for capi4linux ****
AC_CHECK_HEADERS(capi20.h,[
......@@ -1596,6 +1605,7 @@ dlls/msacm/msadp32/Makefile
dlls/msacm/msg711/Makefile
dlls/msacm/winemp3/Makefile
dlls/msacm/tests/Makefile
dlls/mscms/Makefile
dlls/msdmo/Makefile
dlls/mshtml/Makefile
dlls/msi/Makefile
......
......@@ -76,6 +76,7 @@ BASEDIRS = \
msacm/msadp32 \
msacm/msg711 \
msacm/winemp3 \
mscms \
msdmo \
mshtml \
msi \
......@@ -311,6 +312,7 @@ SYMLINKS_SO = \
msacm.drv.so \
msacm32.dll.so \
msadp32.acm.so \
mscms.dll.so \
msdmo.dll.so \
msg711.acm.so \
mshtml.dll.so \
......@@ -645,6 +647,9 @@ msacm.dll.so : msacm32.dll.so
msadp32.acm.so: msacm/msadp32/msadp32.acm.so
$(RM) $@ && $(LN_S) msacm/msadp32/msadp32.acm.so $@
mscms.dll.so: mscms/mscms.dll.so
$(RM) $@ && $(LN_S) mscms/mscms.dll.so $@
msdmo.dll.so: msdmo/msdmo.dll.so
$(RM) $@ && $(LN_S) msdmo/msdmo.dll.so $@
......@@ -1025,6 +1030,7 @@ IMPORT_LIBS = \
libmlang.$(IMPLIBEXT) \
libmpr.$(IMPLIBEXT) \
libmsacm32.$(IMPLIBEXT) \
libmscms.$(IMPLIBEXT) \
libmsdmo.$(IMPLIBEXT) \
libmshtml.$(IMPLIBEXT) \
libmsi.$(IMPLIBEXT) \
......@@ -1389,6 +1395,11 @@ libmsacm32.def: msacm/msacm32.spec.def
libmsacm32.a: msacm/msacm32.spec.def
$(DLLTOOL) -k -l $@ -d msacm/msacm32.spec.def
libmscms.def: mscms/mscms.spec.def
$(RM) $@ && $(LN_S) mscms/mscms.spec.def $@
libmscms.a: mscms/mscms.spec.def
$(DLLTOOL) -k -l $@ -d mscms/mscms.spec.def
libmsdmo.def: msdmo/msdmo.spec.def
$(RM) $@ && $(LN_S) msdmo/msdmo.spec.def $@
libmsdmo.a: msdmo/msdmo.spec.def
......@@ -1777,6 +1788,7 @@ mapi32/mapi32.spec.def: $(WINEBUILD)
mlang/mlang.spec.def: $(WINEBUILD)
mpr/mpr.spec.def: $(WINEBUILD)
msacm/msacm32.spec.def: $(WINEBUILD)
mscms/mscms.spec.def: $(WINEBUILD)
msdmo/msdmo.spec.def: $(WINEBUILD)
mshtml/mshtml.spec.def: $(WINEBUILD)
msi/msi.spec.def: $(WINEBUILD)
......@@ -1921,6 +1933,7 @@ mpr/mpr.dll.so: mpr
winmm/wavemap/msacm.drv.so: winmm/wavemap
msacm/msacm32.dll.so: msacm
msacm/msadp32/msadp32.acm.so: msacm/msadp32
mscms/mscms.dll.so: mscms
msdmo/msdmo.dll.so: msdmo
msacm/msg711/msg711.acm.so: msacm/msg711
mshtml/mshtml.dll.so: mshtml
......
Makefile
mscms.dll.dbg.c
mscms.spec.def
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = mscms.dll
IMPORTS = kernel32
EXTRALIBS = @LCMSLIBS@
C_SRCS = \
mscms_main.c
@MAKE_DLL_RULES@
### Dependencies:
@ stub AssociateColorProfileWithDeviceA
@ stub AssociateColorProfileWithDeviceW
@ stub CheckBitmapBits
@ stub CheckColors
@ stdcall CloseColorProfile(ptr)
@ stub ConvertColorNameToIndex
@ stub ConvertIndexToColorName
@ stub CreateColorTransformA
@ stub CreateColorTransformW
@ stub CreateDeviceLinkProfile
@ stub CreateMultiProfileTransform
@ stub CreateProfileFromLogColorSpaceA
@ stub CreateProfileFromLogColorSpaceW
@ stub DeleteColorTransform
@ stub DisassociateColorProfileFromDeviceA
@ stub DisassociateColorProfileFromDeviceW
@ stub EnumColorProfilesA
@ stub EnumColorProfilesW
@ stub GenerateCopyFilePaths
@ stub GetCMMInfo
@ stub GetColorDirectoryA
@ stub GetColorDirectoryW
@ stub GetColorProfileElement
@ stub GetColorProfileElementTag
@ stub GetColorProfileFromHandle
@ stub GetColorProfileHeader
@ stub GetCountColorProfileElements
@ stub GetNamedProfileInfo
@ stub GetPS2ColorRenderingDictionary
@ stub GetPS2ColorRenderingIntent
@ stub GetPS2ColorSpaceArray
@ stub GetStandardColorSpaceProfileA
@ stub GetStandardColorSpaceProfileW
@ stub InstallColorProfileA
@ stub InstallColorProfileW
@ stub InternalGetDeviceConfig
@ stub InternalGetPS2CSAFromLCS
@ stub InternalGetPS2ColorRenderingDictionary
@ stub InternalGetPS2ColorSpaceArray
@ stub InternalGetPS2PreviewCRD
@ stub InternalSetDeviceConfig
@ stub IsColorProfileTagPresent
@ stub IsColorProfileValid
@ stdcall OpenColorProfileA(ptr long long long)
@ stdcall OpenColorProfileW(ptr long long long)
@ stub RegisterCMMA
@ stub RegisterCMMW
@ stub SelectCMM
@ stub SetColorProfileElement
@ stub SetColorProfileElementReference
@ stub SetColorProfileElementSize
@ stub SetColorProfileHeader
@ stub SetStandardColorSpaceProfileA
@ stub SetStandardColorSpaceProfileW
@ stub SpoolerCopyFileEvent
@ stub TranslateBitmapBits
@ stub TranslateColors
@ stub UninstallColorProfileA
@ stub UninstallColorProfileW
@ stub UnregisterCMMA
@ stub UnregisterCMMW
/*
* MSCMS - Color Management System for Wine
*
* Copyright 2004 Hans Leidekker
*
* 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 <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "wingdi.h"
#include "icm.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(mscms);
#ifdef HAVE_LCMS
/* These basic Windows types are defined in lcms.h when compiling on
* a non-Windows platforms (why?), so they would normally not conflict
* with anything included earlier. But since we are building Wine they
* most certainly will have been defined before we include lcms.h.
* The preprocessor comes to the rescue.
*/
#define BYTE LCMS_BYTE
#define LPBYTE LCMS_LPBYTE
#define WORD LCMS_WORD
#define LPWORD LCMS_LPWORD
#define DWORD LCMS_DWORD
#define LPDWORD LCMS_LPDWORD
#define BOOL LCMS_BOOL
#define LPSTR LCMS_LPSTR
#define LPVOID LCMS_LPVOID
#undef cdecl
#undef FAR
#undef ZeroMemory
#undef CopyMemory
#undef LOWORD
#undef MAX_PATH
#include <lcms.h>
/* Funny thing is lcms.h defines DWORD as an 'unsigned int' whereas Wine
* defines it as an 'unsigned long'. To avoid compiler warnings we use a
* preprocessor define for DWORD and LPDWORD to get back Wine's orginal
* (typedef) definitions.
*/
#undef DWORD
#undef LPDWORD
#define DWORD DWORD
#define LPDWORD LPDWORD
#endif
HPROFILE WINAPI OpenColorProfileA( PPROFILE profile, DWORD access, DWORD sharing, DWORD creation )
{
FIXME("( %p, %lx, %lx, %lx ) stub!\n", profile, access, sharing, creation );
return NULL;
}
HPROFILE WINAPI OpenColorProfileW( PPROFILE profile, DWORD access, DWORD sharing, DWORD creation )
{
FIXME("( %p, %lx, %lx, %lx ) stub!\n", profile, access, sharing, creation );
return NULL;
}
BOOL WINAPI CloseColorProfile( HPROFILE profile )
{
FIXME("( %p ) stub!\n", profile );
return FALSE;
}
......@@ -239,6 +239,12 @@
/* Define to 1 if you have the <jpeglib.h> header file. */
#undef HAVE_JPEGLIB_H
/* Define if you have lcms libs and headers */
#undef HAVE_LCMS
/* Define to 1 if you have the <lcms.h> header file. */
#undef HAVE_LCMS_H
/* Define if you have libaudioIO */
#undef HAVE_LIBAUDIOIO
......
......@@ -98,6 +98,14 @@ typedef struct tagPROFILE {
DWORD cbDataSize;
} PROFILE, *PPROFILE, *LPPROFILE;
HPROFILE WINAPI OpenColorProfileA(PPROFILE,DWORD,DWORD,DWORD);
HPROFILE WINAPI OpenColorProfileW(PPROFILE,DWORD,DWORD,DWORD);
#define OpenColorProfile WINELIB_NAME_AW(OpenColorProfile)
BOOL WINAPI CloseColorProfile(HPROFILE);
#define PROFILE_FILENAME 1
#define PROFILE_MEMBUFFER 2
#ifdef __cplusplus
}
#endif
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment