Beginnings of an MSCMS implementation based on LittleCMS.
This commit is contained in:
parent
2d02afbc09
commit
5164757cea
|
@ -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
|
||||
|
|
10
configure.ac
10
configure.ac
|
@ -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
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
Makefile
|
||||
mscms.dll.dbg.c
|
||||
mscms.spec.def
|
|
@ -0,0 +1,14 @@
|
|||
TOPSRCDIR = @top_srcdir@
|
||||
TOPOBJDIR = ../..
|
||||
SRCDIR = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
MODULE = mscms.dll
|
||||
IMPORTS = kernel32
|
||||
EXTRALIBS = @LCMSLIBS@
|
||||
|
||||
C_SRCS = \
|
||||
mscms_main.c
|
||||
|
||||
@MAKE_DLL_RULES@
|
||||
|
||||
### Dependencies:
|
|
@ -0,0 +1,61 @@
|
|||
@ 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
|
|
@ -0,0 +1,96 @@
|
|||
/*
|
||||
* 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
|
||||
|
|
Loading…
Reference in New Issue