mirror of
https://github.com/reactos/reactos.git
synced 2024-12-30 19:14:31 +00:00
- Add mscms, msftedit, msrle32 from Wine
svn path=/trunk/; revision=39734
This commit is contained in:
parent
8294273359
commit
cc3e2f3f75
43 changed files with 5621 additions and 0 deletions
|
@ -13,6 +13,7 @@
|
|||
<property name="BASEADDRESS_DWMAPI" value="0x4A3F0000" />
|
||||
<property name="BASEADDRESS_LOADPERF" value="0x4B920000" />
|
||||
<property name="BASEADDRESS_MPRAPI" value="0x4C400000" />
|
||||
<property name="BASEADDRESS_MSFTEDIT" value="0x4b460000" />
|
||||
<property name="BASEADDRESS_SRCLIENT" value="0x512C0000" />
|
||||
<property name="BASEADDRESS_PSTOREC" value="0x513D0000" />
|
||||
<property name="BASEADDRESS_LPK" value="0x516C0000" />
|
||||
|
@ -116,8 +117,10 @@
|
|||
<property name="BASEADDRESS_WINSPOOL" value="0x72f50000" />
|
||||
<property name="BASEADDRESS_MSCAT32" value="0x732b0000" />
|
||||
<property name="BASEADDRESS_MSTASK" value="0x73520000" />
|
||||
<property name="BASEADDRESS_MSRLE32" value="0x73660000" />
|
||||
<property name="BASEADDRESS_MSDMO" value="0x73670000" />
|
||||
<property name="BASEADDRESS_AVIFIL32" value="0x73ac0000" />
|
||||
<property name="BASEADDRESS_MSCMS" value="0x73af0000" />
|
||||
<property name="BASEADDRESS_DCIMAN32" value="0x73b10000" />
|
||||
<property name="BASEADDRESS_STI" value="0x73b60000" />
|
||||
<property name="BASEADDRESS_LZ32" value="0x73d80000" />
|
||||
|
|
|
@ -298,13 +298,16 @@ dll\win32\mprapi\mprapi.dll 1
|
|||
dll\win32\msacm32\msacm32.dll 1
|
||||
dll\win32\msafd\msafd.dll 1
|
||||
dll\win32\mscat32\mscat32.dll 1
|
||||
dll\win32\mscms\mscms.dll 1
|
||||
dll\win32\mscoree\mscoree.dll 1
|
||||
dll\win32\msftedit\msftedit.dll 1
|
||||
dll\win32\msgina\msgina.dll 1
|
||||
dll\win32\mshtml\mshtml.dll 1
|
||||
dll\win32\mshtml.tlb\mshtml.tlb 1
|
||||
dll\win32\msi\msi.dll 1
|
||||
dll\win32\msimg32\msimg32.dll 1
|
||||
dll\win32\msimtf\msimtf.dll 1
|
||||
dll\win32\msrle32\msrle32.dll 1
|
||||
dll\win32\mstask\mstask.dll 1
|
||||
dll\win32\msvcrt\msvcrt.dll 1
|
||||
dll\win32\msvcrt20\msvcrt20.dll 1
|
||||
|
|
250
reactos/dll/win32/mscms/handle.c
Normal file
250
reactos/dll/win32/mscms/handle.c
Normal file
|
@ -0,0 +1,250 @@
|
|||
/*
|
||||
* MSCMS - Color Management System for Wine
|
||||
*
|
||||
* Copyright 2004, 2005, 2008 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include "wine/debug.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "wingdi.h"
|
||||
#include "winuser.h"
|
||||
#include "icm.h"
|
||||
|
||||
#include "mscms_priv.h"
|
||||
|
||||
#ifdef HAVE_LCMS
|
||||
|
||||
static CRITICAL_SECTION MSCMS_handle_cs;
|
||||
static CRITICAL_SECTION_DEBUG MSCMS_handle_cs_debug =
|
||||
{
|
||||
0, 0, &MSCMS_handle_cs,
|
||||
{ &MSCMS_handle_cs_debug.ProcessLocksList,
|
||||
&MSCMS_handle_cs_debug.ProcessLocksList },
|
||||
0, 0, { (DWORD_PTR)(__FILE__ ": MSCMS_handle_cs") }
|
||||
};
|
||||
static CRITICAL_SECTION MSCMS_handle_cs = { &MSCMS_handle_cs_debug, -1, 0, 0, 0, 0 };
|
||||
|
||||
static struct profile *profiletable;
|
||||
static struct transform *transformtable;
|
||||
|
||||
static unsigned int num_profile_handles;
|
||||
static unsigned int num_transform_handles;
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(mscms);
|
||||
|
||||
void free_handle_tables( void )
|
||||
{
|
||||
HeapFree( GetProcessHeap(), 0, profiletable );
|
||||
profiletable = NULL;
|
||||
num_profile_handles = 0;
|
||||
|
||||
HeapFree( GetProcessHeap(), 0, transformtable );
|
||||
transformtable = NULL;
|
||||
num_transform_handles = 0;
|
||||
}
|
||||
|
||||
struct profile *grab_profile( HPROFILE handle )
|
||||
{
|
||||
DWORD_PTR index;
|
||||
|
||||
EnterCriticalSection( &MSCMS_handle_cs );
|
||||
|
||||
index = (DWORD_PTR)handle - 1;
|
||||
if (index > num_profile_handles)
|
||||
{
|
||||
LeaveCriticalSection( &MSCMS_handle_cs );
|
||||
return NULL;
|
||||
}
|
||||
return &profiletable[index];
|
||||
}
|
||||
|
||||
void release_profile( struct profile *profile )
|
||||
{
|
||||
LeaveCriticalSection( &MSCMS_handle_cs );
|
||||
}
|
||||
|
||||
struct transform *grab_transform( HTRANSFORM handle )
|
||||
{
|
||||
DWORD_PTR index;
|
||||
|
||||
EnterCriticalSection( &MSCMS_handle_cs );
|
||||
|
||||
index = (DWORD_PTR)handle - 1;
|
||||
if (index > num_transform_handles)
|
||||
{
|
||||
LeaveCriticalSection( &MSCMS_handle_cs );
|
||||
return NULL;
|
||||
}
|
||||
return &transformtable[index];
|
||||
}
|
||||
|
||||
void release_transform( struct transform *transform )
|
||||
{
|
||||
LeaveCriticalSection( &MSCMS_handle_cs );
|
||||
}
|
||||
|
||||
static HPROFILE alloc_profile_handle( void )
|
||||
{
|
||||
DWORD_PTR index;
|
||||
struct profile *p;
|
||||
unsigned int count = 128;
|
||||
|
||||
for (index = 0; index < num_profile_handles; index++)
|
||||
{
|
||||
if (!profiletable[index].iccprofile) return (HPROFILE)(index + 1);
|
||||
}
|
||||
if (!profiletable)
|
||||
{
|
||||
p = HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, count * sizeof(struct profile) );
|
||||
}
|
||||
else
|
||||
{
|
||||
count = num_profile_handles * 2;
|
||||
p = HeapReAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, profiletable, count * sizeof(struct profile) );
|
||||
}
|
||||
if (!p) return NULL;
|
||||
|
||||
profiletable = p;
|
||||
num_profile_handles = count;
|
||||
|
||||
return (HPROFILE)(index + 1);
|
||||
}
|
||||
|
||||
HPROFILE create_profile( struct profile *profile )
|
||||
{
|
||||
HPROFILE handle;
|
||||
|
||||
EnterCriticalSection( &MSCMS_handle_cs );
|
||||
|
||||
if ((handle = alloc_profile_handle()))
|
||||
{
|
||||
DWORD_PTR index = (DWORD_PTR)handle - 1;
|
||||
memcpy( &profiletable[index], profile, sizeof(struct profile) );
|
||||
}
|
||||
LeaveCriticalSection( &MSCMS_handle_cs );
|
||||
return handle;
|
||||
}
|
||||
|
||||
BOOL close_profile( HPROFILE handle )
|
||||
{
|
||||
DWORD_PTR index;
|
||||
struct profile *profile;
|
||||
|
||||
EnterCriticalSection( &MSCMS_handle_cs );
|
||||
|
||||
index = (DWORD_PTR)handle - 1;
|
||||
if (index > num_profile_handles)
|
||||
{
|
||||
LeaveCriticalSection( &MSCMS_handle_cs );
|
||||
return FALSE;
|
||||
}
|
||||
profile = &profiletable[index];
|
||||
|
||||
if (profile->file != INVALID_HANDLE_VALUE)
|
||||
{
|
||||
if (profile->access & PROFILE_READWRITE)
|
||||
{
|
||||
DWORD written, size = MSCMS_get_profile_size( profile->iccprofile );
|
||||
|
||||
if (SetFilePointer( profile->file, 0, NULL, FILE_BEGIN ) ||
|
||||
!WriteFile( profile->file, profile->iccprofile, size, &written, NULL ) ||
|
||||
written != size)
|
||||
{
|
||||
ERR( "Unable to write color profile\n" );
|
||||
}
|
||||
}
|
||||
CloseHandle( profile->file );
|
||||
}
|
||||
cmsCloseProfile( profile->cmsprofile );
|
||||
HeapFree( GetProcessHeap(), 0, profile->iccprofile );
|
||||
|
||||
memset( profile, 0, sizeof(struct profile) );
|
||||
|
||||
LeaveCriticalSection( &MSCMS_handle_cs );
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static HTRANSFORM alloc_transform_handle( void )
|
||||
{
|
||||
DWORD_PTR index;
|
||||
struct transform *p;
|
||||
unsigned int count = 128;
|
||||
|
||||
for (index = 0; index < num_transform_handles; index++)
|
||||
{
|
||||
if (!transformtable[index].cmstransform) return (HTRANSFORM)(index + 1);
|
||||
}
|
||||
if (!transformtable)
|
||||
{
|
||||
p = HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, count * sizeof(struct transform) );
|
||||
}
|
||||
else
|
||||
{
|
||||
count = num_transform_handles * 2;
|
||||
p = HeapReAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, transformtable, count * sizeof(struct transform) );
|
||||
}
|
||||
if (!p) return NULL;
|
||||
|
||||
transformtable = p;
|
||||
num_transform_handles = count;
|
||||
|
||||
return (HTRANSFORM)(index + 1);
|
||||
}
|
||||
|
||||
HTRANSFORM create_transform( struct transform *transform )
|
||||
{
|
||||
HTRANSFORM handle;
|
||||
|
||||
EnterCriticalSection( &MSCMS_handle_cs );
|
||||
|
||||
if ((handle = alloc_transform_handle()))
|
||||
{
|
||||
DWORD_PTR index = (DWORD_PTR)handle - 1;
|
||||
memcpy( &transformtable[index], transform, sizeof(struct transform) );
|
||||
}
|
||||
LeaveCriticalSection( &MSCMS_handle_cs );
|
||||
return handle;
|
||||
}
|
||||
|
||||
BOOL close_transform( HTRANSFORM handle )
|
||||
{
|
||||
DWORD_PTR index;
|
||||
struct transform *transform;
|
||||
|
||||
EnterCriticalSection( &MSCMS_handle_cs );
|
||||
|
||||
index = (DWORD_PTR)handle - 1;
|
||||
if (index > num_transform_handles)
|
||||
{
|
||||
LeaveCriticalSection( &MSCMS_handle_cs );
|
||||
return FALSE;
|
||||
}
|
||||
transform = &transformtable[index];
|
||||
|
||||
cmsDeleteTransform( transform->cmstransform );
|
||||
memset( transform, 0, sizeof(struct transform) );
|
||||
|
||||
LeaveCriticalSection( &MSCMS_handle_cs );
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
#endif /* HAVE_LCMS */
|
105
reactos/dll/win32/mscms/icc.c
Normal file
105
reactos/dll/win32/mscms/icc.c
Normal file
|
@ -0,0 +1,105 @@
|
|||
/*
|
||||
* MSCMS - Color Management System for Wine
|
||||
*
|
||||
* Copyright 2004, 2005 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "wingdi.h"
|
||||
#include "winuser.h"
|
||||
#include "winternl.h"
|
||||
#include "icm.h"
|
||||
|
||||
#include "mscms_priv.h"
|
||||
|
||||
#ifdef HAVE_LCMS
|
||||
|
||||
static inline void MSCMS_adjust_endianess32( ULONG *ptr )
|
||||
{
|
||||
#ifndef WORDS_BIGENDIAN
|
||||
*ptr = RtlUlongByteSwap(*ptr);
|
||||
#endif
|
||||
}
|
||||
|
||||
void MSCMS_get_profile_header( const icProfile *iccprofile, PROFILEHEADER *header )
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
memcpy( header, iccprofile, sizeof(PROFILEHEADER) );
|
||||
|
||||
/* ICC format is big-endian, swap bytes if necessary */
|
||||
for (i = 0; i < sizeof(PROFILEHEADER) / sizeof(ULONG); i++)
|
||||
MSCMS_adjust_endianess32( (ULONG *)header + i );
|
||||
}
|
||||
|
||||
void MSCMS_set_profile_header( icProfile *iccprofile, const PROFILEHEADER *header )
|
||||
{
|
||||
unsigned int i;
|
||||
icHeader *iccheader = (icHeader *)iccprofile;
|
||||
|
||||
memcpy( iccheader, header, sizeof(icHeader) );
|
||||
|
||||
/* ICC format is big-endian, swap bytes if necessary */
|
||||
for (i = 0; i < sizeof(icHeader) / sizeof(ULONG); i++)
|
||||
MSCMS_adjust_endianess32( (ULONG *)iccheader + i );
|
||||
}
|
||||
|
||||
DWORD MSCMS_get_tag_count( const icProfile *iccprofile )
|
||||
{
|
||||
ULONG count = iccprofile->count;
|
||||
|
||||
MSCMS_adjust_endianess32( &count );
|
||||
return count;
|
||||
}
|
||||
|
||||
void MSCMS_get_tag_by_index( icProfile *iccprofile, DWORD index, icTag *tag )
|
||||
{
|
||||
icTag *tmp = (icTag *)((char *)iccprofile->data + index * sizeof(icTag));
|
||||
|
||||
tag->sig = tmp->sig;
|
||||
tag->offset = tmp->offset;
|
||||
tag->size = tmp->size;
|
||||
|
||||
MSCMS_adjust_endianess32( &tag->sig );
|
||||
MSCMS_adjust_endianess32( &tag->offset );
|
||||
MSCMS_adjust_endianess32( &tag->size );
|
||||
}
|
||||
|
||||
void MSCMS_get_tag_data( const icProfile *iccprofile, const icTag *tag, DWORD offset, void *buffer )
|
||||
{
|
||||
memcpy( buffer, (const char *)iccprofile + tag->offset + offset, tag->size - offset );
|
||||
}
|
||||
|
||||
void MSCMS_set_tag_data( icProfile *iccprofile, const icTag *tag, DWORD offset, const void *buffer )
|
||||
{
|
||||
memcpy( (char *)iccprofile + tag->offset + offset, buffer, tag->size - offset );
|
||||
}
|
||||
|
||||
DWORD MSCMS_get_profile_size( const icProfile *iccprofile )
|
||||
{
|
||||
DWORD size = ((const icHeader *)iccprofile)->size;
|
||||
|
||||
MSCMS_adjust_endianess32( &size );
|
||||
return size;
|
||||
}
|
||||
|
||||
#endif /* HAVE_LCMS */
|
17
reactos/dll/win32/mscms/mscms.rbuild
Normal file
17
reactos/dll/win32/mscms/mscms.rbuild
Normal file
|
@ -0,0 +1,17 @@
|
|||
<module name="mscms" type="win32dll" baseaddress="${BASEADDRESS_MSCMS}" installbase="system32" installname="mscms.dll" allowwarnings="true">
|
||||
<importlibrary definition="mscms.spec" />
|
||||
<include base="mscms">.</include>
|
||||
<include base="ReactOS">include/reactos/wine</include>
|
||||
<define name="__WINESRC__" />
|
||||
<file>handle.c</file>
|
||||
<file>icc.c</file>
|
||||
<file>mscms_main.c</file>
|
||||
<file>profile.c</file>
|
||||
<file>stub.c</file>
|
||||
<file>transform.c</file>
|
||||
<file>version.rc</file>
|
||||
<library>wine</library>
|
||||
<library>advapi32</library>
|
||||
<library>kernel32</library>
|
||||
<library>ntdll</library>
|
||||
</module>
|
61
reactos/dll/win32/mscms/mscms.spec
Normal file
61
reactos/dll/win32/mscms/mscms.spec
Normal file
|
@ -0,0 +1,61 @@
|
|||
@ stdcall AssociateColorProfileWithDeviceA(ptr ptr ptr)
|
||||
@ stdcall AssociateColorProfileWithDeviceW(ptr ptr ptr)
|
||||
@ stdcall CheckBitmapBits(ptr ptr ptr long long long ptr ptr long)
|
||||
@ stdcall CheckColors(ptr ptr long long ptr)
|
||||
@ stdcall CloseColorProfile(ptr)
|
||||
@ stdcall ConvertColorNameToIndex(ptr ptr ptr long)
|
||||
@ stdcall ConvertIndexToColorName(ptr ptr ptr long)
|
||||
@ stdcall CreateColorTransformA(ptr ptr ptr long)
|
||||
@ stdcall CreateColorTransformW(ptr ptr ptr long)
|
||||
@ stdcall CreateDeviceLinkProfile(ptr long ptr long long ptr long)
|
||||
@ stdcall CreateMultiProfileTransform(ptr long ptr long long long)
|
||||
@ stdcall CreateProfileFromLogColorSpaceA(ptr ptr)
|
||||
@ stdcall CreateProfileFromLogColorSpaceW(ptr ptr)
|
||||
@ stdcall DeleteColorTransform(ptr)
|
||||
@ stdcall DisassociateColorProfileFromDeviceA(ptr ptr ptr)
|
||||
@ stdcall DisassociateColorProfileFromDeviceW(ptr ptr ptr)
|
||||
@ stdcall EnumColorProfilesA(ptr ptr ptr ptr ptr)
|
||||
@ stdcall EnumColorProfilesW(ptr ptr ptr ptr ptr)
|
||||
@ stdcall GenerateCopyFilePaths(wstr wstr ptr long ptr ptr ptr ptr long)
|
||||
@ stdcall GetCMMInfo(ptr long)
|
||||
@ stdcall GetColorDirectoryA(ptr ptr long)
|
||||
@ stdcall GetColorDirectoryW(ptr ptr long)
|
||||
@ stdcall GetColorProfileElement(ptr long long ptr ptr ptr)
|
||||
@ stdcall GetColorProfileElementTag(ptr long ptr)
|
||||
@ stdcall GetColorProfileFromHandle(ptr ptr ptr)
|
||||
@ stdcall GetColorProfileHeader(ptr ptr)
|
||||
@ stdcall GetCountColorProfileElements(ptr long)
|
||||
@ stdcall GetNamedProfileInfo(ptr ptr)
|
||||
@ stdcall GetPS2ColorRenderingDictionary(ptr long ptr ptr ptr)
|
||||
@ stdcall GetPS2ColorRenderingIntent(ptr long ptr ptr)
|
||||
@ stdcall GetPS2ColorSpaceArray(ptr long long ptr ptr ptr)
|
||||
@ stdcall GetStandardColorSpaceProfileA(ptr long ptr ptr)
|
||||
@ stdcall GetStandardColorSpaceProfileW(ptr long ptr ptr)
|
||||
@ stdcall InstallColorProfileA(ptr ptr)
|
||||
@ stdcall InstallColorProfileW(ptr ptr)
|
||||
@ stub InternalGetDeviceConfig
|
||||
@ stub InternalGetPS2CSAFromLCS
|
||||
@ stub InternalGetPS2ColorRenderingDictionary
|
||||
@ stub InternalGetPS2ColorSpaceArray
|
||||
@ stub InternalGetPS2PreviewCRD
|
||||
@ stub InternalSetDeviceConfig
|
||||
@ stdcall IsColorProfileTagPresent(ptr long ptr)
|
||||
@ stdcall IsColorProfileValid(ptr long)
|
||||
@ stdcall OpenColorProfileA(ptr long long long)
|
||||
@ stdcall OpenColorProfileW(ptr long long long)
|
||||
@ stdcall RegisterCMMA(ptr long ptr)
|
||||
@ stdcall RegisterCMMW(ptr long ptr)
|
||||
@ stdcall SelectCMM(long)
|
||||
@ stdcall SetColorProfileElement(ptr long long ptr ptr)
|
||||
@ stdcall SetColorProfileElementReference(ptr long long)
|
||||
@ stdcall SetColorProfileElementSize(ptr long long)
|
||||
@ stdcall SetColorProfileHeader(ptr ptr)
|
||||
@ stdcall SetStandardColorSpaceProfileA(ptr long ptr)
|
||||
@ stdcall SetStandardColorSpaceProfileW(ptr long ptr)
|
||||
@ stdcall SpoolerCopyFileEvent(wstr wstr long)
|
||||
@ stdcall TranslateBitmapBits(ptr ptr long long long long ptr long long ptr long)
|
||||
@ stdcall TranslateColors(ptr ptr long long ptr long)
|
||||
@ stdcall UninstallColorProfileA(ptr ptr long)
|
||||
@ stdcall UninstallColorProfileW(ptr ptr long)
|
||||
@ stdcall UnregisterCMMA(ptr long)
|
||||
@ stdcall UnregisterCMMW(ptr long)
|
55
reactos/dll/win32/mscms/mscms_main.c
Normal file
55
reactos/dll/win32/mscms/mscms_main.c
Normal file
|
@ -0,0 +1,55 @@
|
|||
/*
|
||||
* MSCMS - Color Management System for Wine
|
||||
*
|
||||
* Copyright 2004, 2005 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include "wine/port.h"
|
||||
#include "wine/debug.h"
|
||||
#include "wine/library.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "wingdi.h"
|
||||
#include "winuser.h"
|
||||
#include "icm.h"
|
||||
|
||||
#include "mscms_priv.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(mscms);
|
||||
|
||||
BOOL WINAPI DllMain( HINSTANCE hinst, DWORD reason, LPVOID reserved )
|
||||
{
|
||||
TRACE( "(%p, %d, %p)\n", hinst, reason, reserved );
|
||||
|
||||
switch (reason)
|
||||
{
|
||||
case DLL_PROCESS_ATTACH:
|
||||
DisableThreadLibraryCalls( hinst );
|
||||
break;
|
||||
case DLL_PROCESS_DETACH:
|
||||
#ifdef HAVE_LCMS
|
||||
free_handle_tables();
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
114
reactos/dll/win32/mscms/mscms_priv.h
Normal file
114
reactos/dll/win32/mscms/mscms_priv.h
Normal file
|
@ -0,0 +1,114 @@
|
|||
/*
|
||||
* MSCMS - Color Management System for Wine
|
||||
*
|
||||
* Copyright 2004, 2005 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifdef HAVE_LCMS
|
||||
|
||||
/* These basic Windows types are defined in lcms.h when compiling on
|
||||
* a non-Windows platform (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 HIWORD
|
||||
#undef MAX_PATH
|
||||
|
||||
#ifdef HAVE_LCMS_LCMS_H
|
||||
#include <lcms/lcms.h>
|
||||
#else
|
||||
#include <lcms.h>
|
||||
#endif
|
||||
|
||||
/* Funny thing is lcms.h defines DWORD as an 'unsigned long' whereas Wine
|
||||
* defines it as an 'unsigned int'. To avoid compiler warnings we use a
|
||||
* preprocessor define for DWORD and LPDWORD to get back Wine's original
|
||||
* (typedef) definitions.
|
||||
*/
|
||||
|
||||
#undef BOOL
|
||||
#undef DWORD
|
||||
#undef LPDWORD
|
||||
|
||||
#define BOOL BOOL
|
||||
#define DWORD DWORD
|
||||
#define LPDWORD LPDWORD
|
||||
|
||||
/* A simple structure to tie together a pointer to an icc profile, an lcms
|
||||
* color profile handle and a Windows file handle. If the profile is memory
|
||||
* based the file handle field is set to INVALID_HANDLE_VALUE. The 'access'
|
||||
* field records the access parameter supplied to an OpenColorProfile()
|
||||
* call, i.e. PROFILE_READ or PROFILE_READWRITE.
|
||||
*/
|
||||
|
||||
struct profile
|
||||
{
|
||||
HANDLE file;
|
||||
DWORD access;
|
||||
icProfile *iccprofile;
|
||||
cmsHPROFILE cmsprofile;
|
||||
};
|
||||
|
||||
struct transform
|
||||
{
|
||||
cmsHTRANSFORM cmstransform;
|
||||
};
|
||||
|
||||
extern HPROFILE create_profile( struct profile * );
|
||||
extern BOOL close_profile( HPROFILE );
|
||||
|
||||
extern HTRANSFORM create_transform( struct transform * );
|
||||
extern BOOL close_transform( HTRANSFORM );
|
||||
|
||||
struct profile *grab_profile( HPROFILE );
|
||||
struct transform *grab_transform( HTRANSFORM );
|
||||
|
||||
void release_profile( struct profile * );
|
||||
void release_transform( struct transform * );
|
||||
|
||||
extern void free_handle_tables( void );
|
||||
|
||||
extern DWORD MSCMS_get_tag_count( const icProfile *iccprofile );
|
||||
extern void MSCMS_get_tag_by_index( icProfile *iccprofile, DWORD index, icTag *tag );
|
||||
extern void MSCMS_get_tag_data( const icProfile *iccprofile, const icTag *tag, DWORD offset, void *buffer );
|
||||
extern void MSCMS_set_tag_data( icProfile *iccprofile, const icTag *tag, DWORD offset, const void *buffer );
|
||||
extern void MSCMS_get_profile_header( const icProfile *iccprofile, PROFILEHEADER *header );
|
||||
extern void MSCMS_set_profile_header( icProfile *iccprofile, const PROFILEHEADER *header );
|
||||
extern DWORD MSCMS_get_profile_size( const icProfile *iccprofile );
|
||||
|
||||
extern const char *MSCMS_dbgstr_tag(DWORD);
|
||||
|
||||
#endif /* HAVE_LCMS */
|
1549
reactos/dll/win32/mscms/profile.c
Normal file
1549
reactos/dll/win32/mscms/profile.c
Normal file
File diff suppressed because it is too large
Load diff
203
reactos/dll/win32/mscms/stub.c
Normal file
203
reactos/dll/win32/mscms/stub.c
Normal file
|
@ -0,0 +1,203 @@
|
|||
/*
|
||||
* MSCMS - Color Management System for Wine
|
||||
*
|
||||
* Copyright 2004, 2005 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include "wine/debug.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "wingdi.h"
|
||||
#include "winuser.h"
|
||||
#include "icm.h"
|
||||
|
||||
#include "mscms_priv.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(mscms);
|
||||
|
||||
BOOL WINAPI CheckBitmapBits( HTRANSFORM transform, PVOID srcbits, BMFORMAT format, DWORD width,
|
||||
DWORD height, DWORD stride, PBYTE result, PBMCALLBACKFN callback,
|
||||
LPARAM data )
|
||||
{
|
||||
FIXME( "( %p, %p, 0x%08x, 0x%08x, 0x%08x, 0x%08x, %p, %p, 0x%08lx ) stub\n",
|
||||
transform, srcbits, format, width, height, stride, result, callback, data );
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL WINAPI CheckColors( HTRANSFORM transform, PCOLOR colors, DWORD number, COLORTYPE type,
|
||||
PBYTE result )
|
||||
{
|
||||
FIXME( "( %p, %p, 0x%08x, 0x%08x, %p ) stub\n", transform, colors, number, type, result );
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL WINAPI ConvertColorNameToIndex( HPROFILE profile, PCOLOR_NAME name, PDWORD index, DWORD count )
|
||||
{
|
||||
FIXME( "( %p, %p, %p, 0x%08x ) stub\n", profile, name, index, count );
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL WINAPI ConvertIndexToColorName( HPROFILE profile, PDWORD index, PCOLOR_NAME name, DWORD count )
|
||||
{
|
||||
FIXME( "( %p, %p, %p, 0x%08x ) stub\n", profile, index, name, count );
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL WINAPI CreateDeviceLinkProfile( PHPROFILE profiles, DWORD nprofiles, PDWORD intents,
|
||||
DWORD nintents, DWORD flags, PBYTE *data, DWORD index )
|
||||
{
|
||||
FIXME( "( %p, 0x%08x, %p, 0x%08x, 0x%08x, %p, 0x%08x ) stub\n",
|
||||
profiles, nprofiles, intents, nintents, flags, data, index );
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL WINAPI CreateProfileFromLogColorSpaceA( LPLOGCOLORSPACEA space, PBYTE *buffer )
|
||||
{
|
||||
FIXME( "( %p, %p ) stub\n", space, buffer );
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL WINAPI CreateProfileFromLogColorSpaceW( LPLOGCOLORSPACEW space, PBYTE *buffer )
|
||||
{
|
||||
FIXME( "( %p, %p ) stub\n", space, buffer );
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
DWORD WINAPI GenerateCopyFilePaths( LPCWSTR printer, LPCWSTR directory, LPBYTE clientinfo,
|
||||
DWORD level, LPWSTR sourcedir, LPDWORD sourcedirsize,
|
||||
LPWSTR targetdir, LPDWORD targetdirsize, DWORD flags )
|
||||
{
|
||||
FIXME( "( %s, %s, %p, 0x%08x, %p, %p, %p, %p, 0x%08x ) stub\n",
|
||||
debugstr_w(printer), debugstr_w(directory), clientinfo, level, sourcedir,
|
||||
sourcedirsize, targetdir, targetdirsize, flags );
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
DWORD WINAPI GetCMMInfo( HTRANSFORM transform, DWORD info )
|
||||
{
|
||||
FIXME( "( %p, 0x%08x ) stub\n", transform, info );
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
BOOL WINAPI GetNamedProfileInfo( HPROFILE profile, PNAMED_PROFILE_INFO info )
|
||||
{
|
||||
FIXME( "( %p, %p ) stub\n", profile, info );
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL WINAPI GetPS2ColorRenderingDictionary( HPROFILE profile, DWORD intent, PBYTE buffer,
|
||||
PDWORD size, PBOOL binary )
|
||||
{
|
||||
FIXME( "( %p, 0x%08x, %p, %p, %p ) stub\n", profile, intent, buffer, size, binary );
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL WINAPI GetPS2ColorRenderingIntent( HPROFILE profile, DWORD intent, PBYTE buffer, PDWORD size )
|
||||
{
|
||||
FIXME( "( %p, 0x%08x, %p, %p ) stub\n", profile, intent, buffer, size );
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL WINAPI GetPS2ColorSpaceArray( HPROFILE profile, DWORD intent, DWORD type, PBYTE buffer,
|
||||
PDWORD size, PBOOL binary )
|
||||
{
|
||||
FIXME( "( %p, 0x%08x, 0x%08x, %p, %p, %p ) stub\n", profile, intent, type, buffer, size, binary );
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL WINAPI RegisterCMMA( PCSTR machine, DWORD id, PCSTR dll )
|
||||
{
|
||||
FIXME( "( %p, 0x%08x, %p ) stub\n", machine, id, dll );
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL WINAPI RegisterCMMW( PCWSTR machine, DWORD id, PCWSTR dll )
|
||||
{
|
||||
FIXME( "( %p, 0x%08x, %p ) stub\n", machine, id, dll );
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL WINAPI SelectCMM( DWORD id )
|
||||
{
|
||||
FIXME( "(%x) stub\n", id );
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL WINAPI SetColorProfileElementReference( HPROFILE profile, TAGTYPE type, TAGTYPE ref )
|
||||
{
|
||||
FIXME( "( %p, 0x%08x, 0x%08x ) stub\n", profile, type, ref );
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL WINAPI SetColorProfileElementSize( HPROFILE profile, TAGTYPE type, DWORD size )
|
||||
{
|
||||
FIXME( "( %p, 0x%08x, 0x%08x ) stub\n", profile, type, size );
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL WINAPI SetStandardColorSpaceProfileA( PCSTR machine, DWORD id, PSTR profile )
|
||||
{
|
||||
FIXME( "( 0x%08x, %p ) stub\n", id, profile );
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL WINAPI SetStandardColorSpaceProfileW( PCWSTR machine, DWORD id, PWSTR profile )
|
||||
{
|
||||
FIXME( "( 0x%08x, %p ) stub\n", id, profile );
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL WINAPI SpoolerCopyFileEvent( LPWSTR printer, LPWSTR key, DWORD event )
|
||||
{
|
||||
FIXME( "( %s, %s, 0x%08x ) stub\n", debugstr_w(printer), debugstr_w(key), event );
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL WINAPI UnregisterCMMA( PCSTR machine, DWORD id )
|
||||
{
|
||||
FIXME( "( %p, 0x%08x ) stub\n", machine, id );
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL WINAPI UnregisterCMMW( PCWSTR machine, DWORD id )
|
||||
{
|
||||
FIXME( "( %p, 0x%08x ) stub\n", machine, id );
|
||||
|
||||
return TRUE;
|
||||
}
|
451
reactos/dll/win32/mscms/transform.c
Normal file
451
reactos/dll/win32/mscms/transform.c
Normal file
|
@ -0,0 +1,451 @@
|
|||
/*
|
||||
* MSCMS - Color Management System for Wine
|
||||
*
|
||||
* Copyright 2005, 2006, 2008 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include "wine/debug.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "winnls.h"
|
||||
#include "wingdi.h"
|
||||
#include "winuser.h"
|
||||
#include "icm.h"
|
||||
|
||||
#include "mscms_priv.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(mscms);
|
||||
|
||||
#ifdef HAVE_LCMS
|
||||
|
||||
static DWORD from_profile( HPROFILE profile )
|
||||
{
|
||||
PROFILEHEADER header;
|
||||
|
||||
GetColorProfileHeader( profile, &header );
|
||||
TRACE( "color space: 0x%08x %s\n", header.phDataColorSpace, MSCMS_dbgstr_tag( header.phDataColorSpace ) );
|
||||
|
||||
switch (header.phDataColorSpace)
|
||||
{
|
||||
case 0x434d594b: return TYPE_CMYK_16; /* 'CMYK' */
|
||||
case 0x47524159: return TYPE_GRAY_16; /* 'GRAY' */
|
||||
case 0x4c616220: return TYPE_Lab_16; /* 'Lab ' */
|
||||
case 0x52474220: return TYPE_RGB_16; /* 'RGB ' */
|
||||
case 0x58595a20: return TYPE_XYZ_16; /* 'XYZ ' */
|
||||
default:
|
||||
WARN("unhandled format\n");
|
||||
return TYPE_RGB_16;
|
||||
}
|
||||
}
|
||||
|
||||
static DWORD from_bmformat( BMFORMAT format )
|
||||
{
|
||||
static int quietfixme = 0;
|
||||
TRACE( "bitmap format: 0x%08x\n", format );
|
||||
|
||||
switch (format)
|
||||
{
|
||||
case BM_RGBTRIPLETS: return TYPE_RGB_8;
|
||||
case BM_BGRTRIPLETS: return TYPE_BGR_8;
|
||||
case BM_GRAY: return TYPE_GRAY_8;
|
||||
default:
|
||||
if (quietfixme == 0)
|
||||
{
|
||||
FIXME("unhandled bitmap format 0x%x\n", format);
|
||||
quietfixme = 1;
|
||||
}
|
||||
return TYPE_RGB_8;
|
||||
}
|
||||
}
|
||||
|
||||
static DWORD from_type( COLORTYPE type )
|
||||
{
|
||||
TRACE( "color type: 0x%08x\n", type );
|
||||
|
||||
switch (type)
|
||||
{
|
||||
case COLOR_GRAY: return TYPE_GRAY_16;
|
||||
case COLOR_RGB: return TYPE_RGB_16;
|
||||
case COLOR_XYZ: return TYPE_XYZ_16;
|
||||
case COLOR_Yxy: return TYPE_Yxy_16;
|
||||
case COLOR_Lab: return TYPE_Lab_16;
|
||||
case COLOR_CMYK: return TYPE_CMYK_16;
|
||||
default:
|
||||
FIXME("unhandled color type\n");
|
||||
return TYPE_RGB_16;
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* HAVE_LCMS */
|
||||
|
||||
/******************************************************************************
|
||||
* CreateColorTransformA [MSCMS.@]
|
||||
*
|
||||
* See CreateColorTransformW.
|
||||
*/
|
||||
HTRANSFORM WINAPI CreateColorTransformA( LPLOGCOLORSPACEA space, HPROFILE dest,
|
||||
HPROFILE target, DWORD flags )
|
||||
{
|
||||
LOGCOLORSPACEW spaceW;
|
||||
DWORD len;
|
||||
|
||||
TRACE( "( %p, %p, %p, 0x%08x )\n", space, dest, target, flags );
|
||||
|
||||
if (!space || !dest) return FALSE;
|
||||
|
||||
memcpy( &spaceW, space, FIELD_OFFSET(LOGCOLORSPACEA, lcsFilename) );
|
||||
spaceW.lcsSize = sizeof(LOGCOLORSPACEW);
|
||||
|
||||
len = MultiByteToWideChar( CP_ACP, 0, space->lcsFilename, -1, NULL, 0 );
|
||||
MultiByteToWideChar( CP_ACP, 0, space->lcsFilename, -1, spaceW.lcsFilename, len );
|
||||
|
||||
return CreateColorTransformW( &spaceW, dest, target, flags );
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* CreateColorTransformW [MSCMS.@]
|
||||
*
|
||||
* Create a color transform.
|
||||
*
|
||||
* PARAMS
|
||||
* space [I] Input color space.
|
||||
* dest [I] Color profile of destination device.
|
||||
* target [I] Color profile of target device.
|
||||
* flags [I] Flags.
|
||||
*
|
||||
* RETURNS
|
||||
* Success: Handle to a transform.
|
||||
* Failure: NULL
|
||||
*/
|
||||
HTRANSFORM WINAPI CreateColorTransformW( LPLOGCOLORSPACEW space, HPROFILE dest,
|
||||
HPROFILE target, DWORD flags )
|
||||
{
|
||||
HTRANSFORM ret = NULL;
|
||||
#ifdef HAVE_LCMS
|
||||
struct transform transform;
|
||||
struct profile *dst, *tgt = NULL;
|
||||
cmsHPROFILE cmsinput, cmsoutput, cmstarget = NULL;
|
||||
DWORD in_format, out_format, proofing = 0;
|
||||
int intent;
|
||||
|
||||
TRACE( "( %p, %p, %p, 0x%08x )\n", space, dest, target, flags );
|
||||
|
||||
if (!space || !(dst = grab_profile( dest ))) return FALSE;
|
||||
|
||||
if (target && !(tgt = grab_profile( target )))
|
||||
{
|
||||
release_profile( dst );
|
||||
return FALSE;
|
||||
}
|
||||
intent = space->lcsIntent > 3 ? INTENT_PERCEPTUAL : space->lcsIntent;
|
||||
|
||||
TRACE( "lcsIntent: %x\n", space->lcsIntent );
|
||||
TRACE( "lcsCSType: %s\n", MSCMS_dbgstr_tag( space->lcsCSType ) );
|
||||
TRACE( "lcsFilename: %s\n", debugstr_w( space->lcsFilename ) );
|
||||
|
||||
in_format = TYPE_RGB_16;
|
||||
out_format = from_profile( dest );
|
||||
|
||||
cmsinput = cmsCreate_sRGBProfile(); /* FIXME: create from supplied color space */
|
||||
if (target)
|
||||
{
|
||||
proofing = cmsFLAGS_SOFTPROOFING;
|
||||
cmstarget = tgt->cmsprofile;
|
||||
}
|
||||
cmsoutput = dst->cmsprofile;
|
||||
transform.cmstransform = cmsCreateProofingTransform(cmsinput, in_format, cmsoutput, out_format, cmstarget,
|
||||
intent, INTENT_ABSOLUTE_COLORIMETRIC, proofing);
|
||||
|
||||
ret = create_transform( &transform );
|
||||
|
||||
if (tgt) release_profile( tgt );
|
||||
release_profile( dst );
|
||||
|
||||
#endif /* HAVE_LCMS */
|
||||
return ret;
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* CreateMultiProfileTransform [MSCMS.@]
|
||||
*
|
||||
* Create a color transform from an array of color profiles.
|
||||
*
|
||||
* PARAMS
|
||||
* profiles [I] Array of color profiles.
|
||||
* nprofiles [I] Number of color profiles.
|
||||
* intents [I] Array of rendering intents.
|
||||
* flags [I] Flags.
|
||||
* cmm [I] Profile to take the CMM from.
|
||||
*
|
||||
* RETURNS
|
||||
* Success: Handle to a transform.
|
||||
* Failure: NULL
|
||||
*/
|
||||
HTRANSFORM WINAPI CreateMultiProfileTransform( PHPROFILE profiles, DWORD nprofiles,
|
||||
PDWORD intents, DWORD nintents, DWORD flags, DWORD cmm )
|
||||
{
|
||||
HTRANSFORM ret = NULL;
|
||||
#ifdef HAVE_LCMS
|
||||
cmsHPROFILE *cmsprofiles, cmsconvert = NULL;
|
||||
struct transform transform;
|
||||
struct profile *profile0, *profile1;
|
||||
DWORD in_format, out_format;
|
||||
|
||||
TRACE( "( %p, 0x%08x, %p, 0x%08x, 0x%08x, 0x%08x )\n",
|
||||
profiles, nprofiles, intents, nintents, flags, cmm );
|
||||
|
||||
if (!profiles || !nprofiles || !intents) return NULL;
|
||||
|
||||
if (nprofiles > 2)
|
||||
{
|
||||
FIXME("more than 2 profiles not supported\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
profile0 = grab_profile( profiles[0] );
|
||||
if (!profile0) return NULL;
|
||||
profile1 = grab_profile( profiles[1] );
|
||||
if (!profile1)
|
||||
{
|
||||
release_profile( profile0 );
|
||||
return NULL;
|
||||
}
|
||||
in_format = from_profile( profiles[0] );
|
||||
out_format = from_profile( profiles[nprofiles - 1] );
|
||||
|
||||
if (in_format != out_format)
|
||||
{
|
||||
/* insert a conversion profile for pairings that lcms doesn't handle */
|
||||
if (out_format == TYPE_RGB_16) cmsconvert = cmsCreate_sRGBProfile();
|
||||
if (out_format == TYPE_Lab_16) cmsconvert = cmsCreateLabProfile( NULL );
|
||||
}
|
||||
|
||||
cmsprofiles = HeapAlloc( GetProcessHeap(), 0, (nprofiles + 1) * sizeof(cmsHPROFILE *) );
|
||||
if (cmsprofiles)
|
||||
{
|
||||
cmsprofiles[0] = profile0->cmsprofile;
|
||||
if (cmsconvert)
|
||||
{
|
||||
cmsprofiles[1] = cmsconvert;
|
||||
cmsprofiles[2] = profile1->cmsprofile;
|
||||
nprofiles++;
|
||||
}
|
||||
else
|
||||
{
|
||||
cmsprofiles[1] = profile1->cmsprofile;
|
||||
}
|
||||
transform.cmstransform = cmsCreateMultiprofileTransform( cmsprofiles, nprofiles, in_format, out_format, *intents, 0 );
|
||||
|
||||
HeapFree( GetProcessHeap(), 0, cmsprofiles );
|
||||
ret = create_transform( &transform );
|
||||
}
|
||||
|
||||
release_profile( profile0 );
|
||||
release_profile( profile1 );
|
||||
|
||||
#endif /* HAVE_LCMS */
|
||||
return ret;
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* DeleteColorTransform [MSCMS.@]
|
||||
*
|
||||
* Delete a color transform.
|
||||
*
|
||||
* PARAMS
|
||||
* transform [I] Handle to a color transform.
|
||||
*
|
||||
* RETURNS
|
||||
* Success: TRUE
|
||||
* Failure: FALSE
|
||||
*/
|
||||
BOOL WINAPI DeleteColorTransform( HTRANSFORM handle )
|
||||
{
|
||||
BOOL ret = FALSE;
|
||||
#ifdef HAVE_LCMS
|
||||
|
||||
TRACE( "( %p )\n", handle );
|
||||
|
||||
ret = close_transform( handle );
|
||||
|
||||
#endif /* HAVE_LCMS */
|
||||
return ret;
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* TranslateBitmapBits [MSCMS.@]
|
||||
*
|
||||
* Perform color translation.
|
||||
*
|
||||
* PARAMS
|
||||
* transform [I] Handle to a color transform.
|
||||
* srcbits [I] Source bitmap.
|
||||
* input [I] Format of the source bitmap.
|
||||
* width [I] Width of the source bitmap.
|
||||
* height [I] Height of the source bitmap.
|
||||
* inputstride [I] Number of bytes in one scanline.
|
||||
* destbits [I] Destination bitmap.
|
||||
* output [I] Format of the destination bitmap.
|
||||
* outputstride [I] Number of bytes in one scanline.
|
||||
* callback [I] Callback function.
|
||||
* data [I] Callback data.
|
||||
*
|
||||
* RETURNS
|
||||
* Success: TRUE
|
||||
* Failure: FALSE
|
||||
*/
|
||||
BOOL WINAPI TranslateBitmapBits( HTRANSFORM handle, PVOID srcbits, BMFORMAT input,
|
||||
DWORD width, DWORD height, DWORD inputstride, PVOID destbits, BMFORMAT output,
|
||||
DWORD outputstride, PBMCALLBACKFN callback, ULONG data )
|
||||
{
|
||||
BOOL ret = FALSE;
|
||||
#ifdef HAVE_LCMS
|
||||
struct transform *transform = grab_transform( handle );
|
||||
|
||||
TRACE( "( %p, %p, 0x%08x, 0x%08x, 0x%08x, 0x%08x, %p, 0x%08x, 0x%08x, %p, 0x%08x )\n",
|
||||
handle, srcbits, input, width, height, inputstride, destbits, output,
|
||||
outputstride, callback, data );
|
||||
|
||||
if (!transform) return FALSE;
|
||||
cmsChangeBuffersFormat( transform->cmstransform, from_bmformat(input), from_bmformat(output) );
|
||||
|
||||
cmsDoTransform( transform->cmstransform, srcbits, destbits, width * height );
|
||||
release_transform( transform );
|
||||
ret = TRUE;
|
||||
|
||||
#endif /* HAVE_LCMS */
|
||||
return ret;
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* TranslateColors [MSCMS.@]
|
||||
*
|
||||
* Perform color translation.
|
||||
*
|
||||
* PARAMS
|
||||
* transform [I] Handle to a color transform.
|
||||
* input [I] Array of input colors.
|
||||
* number [I] Number of colors to translate.
|
||||
* input_type [I] Input color format.
|
||||
* output [O] Array of output colors.
|
||||
* output_type [I] Output color format.
|
||||
*
|
||||
* RETURNS
|
||||
* Success: TRUE
|
||||
* Failure: FALSE
|
||||
*/
|
||||
BOOL WINAPI TranslateColors( HTRANSFORM handle, PCOLOR in, DWORD count,
|
||||
COLORTYPE input_type, PCOLOR out, COLORTYPE output_type )
|
||||
{
|
||||
BOOL ret = FALSE;
|
||||
#ifdef HAVE_LCMS
|
||||
struct transform *transform = grab_transform( handle );
|
||||
cmsHTRANSFORM xfrm;
|
||||
unsigned int i;
|
||||
|
||||
TRACE( "( %p, %p, %d, %d, %p, %d )\n", handle, in, count, input_type, out, output_type );
|
||||
|
||||
if (!transform) return FALSE;
|
||||
|
||||
xfrm = transform->cmstransform;
|
||||
cmsChangeBuffersFormat( xfrm, from_type(input_type), from_type(output_type) );
|
||||
|
||||
switch (input_type)
|
||||
{
|
||||
case COLOR_RGB:
|
||||
{
|
||||
switch (output_type)
|
||||
{
|
||||
case COLOR_RGB: for (i = 0; i < count; i++) cmsDoTransform( xfrm, &in[i].rgb, &out[i].rgb, 1 ); return TRUE;
|
||||
case COLOR_Lab: for (i = 0; i < count; i++) cmsDoTransform( xfrm, &in[i].rgb, &out[i].Lab, 1 ); return TRUE;
|
||||
case COLOR_GRAY: for (i = 0; i < count; i++) cmsDoTransform( xfrm, &in[i].rgb, &out[i].gray, 1 ); return TRUE;
|
||||
case COLOR_CMYK: for (i = 0; i < count; i++) cmsDoTransform( xfrm, &in[i].rgb, &out[i].cmyk, 1 ); return TRUE;
|
||||
case COLOR_XYZ: for (i = 0; i < count; i++) cmsDoTransform( xfrm, &in[i].rgb, &out[i].XYZ, 1 ); return TRUE;
|
||||
default:
|
||||
FIXME("unhandled input/output pair: %d/%d\n", input_type, output_type);
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
case COLOR_Lab:
|
||||
{
|
||||
switch (output_type)
|
||||
{
|
||||
case COLOR_RGB: for (i = 0; i < count; i++) cmsDoTransform( xfrm, &in[i].Lab, &out[i].rgb, 1 ); return TRUE;
|
||||
case COLOR_Lab: for (i = 0; i < count; i++) cmsDoTransform( xfrm, &in[i].Lab, &out[i].Lab, 1 ); return TRUE;
|
||||
case COLOR_GRAY: for (i = 0; i < count; i++) cmsDoTransform( xfrm, &in[i].Lab, &out[i].gray, 1 ); return TRUE;
|
||||
case COLOR_CMYK: for (i = 0; i < count; i++) cmsDoTransform( xfrm, &in[i].Lab, &out[i].cmyk, 1 ); return TRUE;
|
||||
case COLOR_XYZ: for (i = 0; i < count; i++) cmsDoTransform( xfrm, &in[i].Lab, &out[i].XYZ, 1 ); return TRUE;
|
||||
default:
|
||||
FIXME("unhandled input/output pair: %d/%d\n", input_type, output_type);
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
case COLOR_GRAY:
|
||||
{
|
||||
switch (output_type)
|
||||
{
|
||||
case COLOR_RGB: for (i = 0; i < count; i++) cmsDoTransform( xfrm, &in[i].gray, &out[i].rgb, 1 ); return TRUE;
|
||||
case COLOR_Lab: for (i = 0; i < count; i++) cmsDoTransform( xfrm, &in[i].gray, &out[i].Lab, 1 ); return TRUE;
|
||||
case COLOR_GRAY: for (i = 0; i < count; i++) cmsDoTransform( xfrm, &in[i].gray, &out[i].gray, 1 ); return TRUE;
|
||||
case COLOR_CMYK: for (i = 0; i < count; i++) cmsDoTransform( xfrm, &in[i].gray, &out[i].cmyk, 1 ); return TRUE;
|
||||
case COLOR_XYZ: for (i = 0; i < count; i++) cmsDoTransform( xfrm, &in[i].gray, &out[i].XYZ, 1 ); return TRUE;
|
||||
default:
|
||||
FIXME("unhandled input/output pair: %d/%d\n", input_type, output_type);
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
case COLOR_CMYK:
|
||||
{
|
||||
switch (output_type)
|
||||
{
|
||||
case COLOR_RGB: for (i = 0; i < count; i++) cmsDoTransform( xfrm, &in[i].cmyk, &out[i].rgb, 1 ); return TRUE;
|
||||
case COLOR_Lab: for (i = 0; i < count; i++) cmsDoTransform( xfrm, &in[i].cmyk, &out[i].Lab, 1 ); return TRUE;
|
||||
case COLOR_GRAY: for (i = 0; i < count; i++) cmsDoTransform( xfrm, &in[i].cmyk, &out[i].gray, 1 ); return TRUE;
|
||||
case COLOR_CMYK: for (i = 0; i < count; i++) cmsDoTransform( xfrm, &in[i].cmyk, &out[i].cmyk, 1 ); return TRUE;
|
||||
case COLOR_XYZ: for (i = 0; i < count; i++) cmsDoTransform( xfrm, &in[i].cmyk, &out[i].XYZ, 1 ); return TRUE;
|
||||
default:
|
||||
FIXME("unhandled input/output pair: %d/%d\n", input_type, output_type);
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
case COLOR_XYZ:
|
||||
{
|
||||
switch (output_type)
|
||||
{
|
||||
case COLOR_RGB: for (i = 0; i < count; i++) cmsDoTransform( xfrm, &in[i].XYZ, &out[i].rgb, 1 ); return TRUE;
|
||||
case COLOR_Lab: for (i = 0; i < count; i++) cmsDoTransform( xfrm, &in[i].XYZ, &out[i].Lab, 1 ); return TRUE;
|
||||
case COLOR_GRAY: for (i = 0; i < count; i++) cmsDoTransform( xfrm, &in[i].XYZ, &out[i].gray, 1 ); return TRUE;
|
||||
case COLOR_CMYK: for (i = 0; i < count; i++) cmsDoTransform( xfrm, &in[i].XYZ, &out[i].cmyk, 1 ); return TRUE;
|
||||
case COLOR_XYZ: for (i = 0; i < count; i++) cmsDoTransform( xfrm, &in[i].XYZ, &out[i].XYZ, 1 ); return TRUE;
|
||||
default:
|
||||
FIXME("unhandled input/output pair: %d/%d\n", input_type, output_type);
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
default:
|
||||
FIXME("unhandled input/output pair: %d/%d\n", input_type, output_type);
|
||||
break;
|
||||
}
|
||||
release_transform( transform );
|
||||
|
||||
#endif /* HAVE_LCMS */
|
||||
return ret;
|
||||
}
|
24
reactos/dll/win32/mscms/version.rc
Normal file
24
reactos/dll/win32/mscms/version.rc
Normal file
|
@ -0,0 +1,24 @@
|
|||
/*
|
||||
* Version information for mscms.dll
|
||||
*
|
||||
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#define WINE_FILEDESCRIPTION_STR "Wine Color Management System"
|
||||
#define WINE_FILENAME_STR "mscms.dll"
|
||||
|
||||
#include <wine/wine_common_ver.rc>
|
13
reactos/dll/win32/msftedit/msftedit.rbuild
Normal file
13
reactos/dll/win32/msftedit/msftedit.rbuild
Normal file
|
@ -0,0 +1,13 @@
|
|||
<module name="msftedit" type="win32dll" baseaddress="${BASEADDRESS_MSFTEDIT}" installbase="system32" installname="msftedit.dll" allowwarnings="true">
|
||||
<importlibrary definition="msftedit.spec" />
|
||||
<include base="msftedit">.</include>
|
||||
<include base="ReactOS">include/reactos/wine</include>
|
||||
<define name="__WINESRC__" />
|
||||
<file>msftedit_main.c</file>
|
||||
<file>version.rc</file>
|
||||
<library>wine</library>
|
||||
<library>uuid</library>
|
||||
<library>riched20</library>
|
||||
<library>kernel32</library>
|
||||
<library>ntdll</library>
|
||||
</module>
|
14
reactos/dll/win32/msftedit/msftedit.spec
Normal file
14
reactos/dll/win32/msftedit/msftedit.spec
Normal file
|
@ -0,0 +1,14 @@
|
|||
2 extern IID_IRichEditOle
|
||||
3 extern IID_IRichEditOleCallback
|
||||
4 stdcall CreateTextServices(ptr ptr ptr) riched20.CreateTextServices
|
||||
5 extern IID_ITextServices
|
||||
6 extern IID_ITextHost
|
||||
7 extern IID_ITextHost2
|
||||
8 stdcall REExtendedRegisterClass() riched20.REExtendedRegisterClass
|
||||
9 stdcall RichEdit10ANSIWndProc(ptr long long long) riched20.RichEdit10ANSIWndProc
|
||||
10 stdcall RichEditANSIWndProc(ptr long long long) riched20.RichEditANSIWndProc
|
||||
11 stub SetCustomTextOutHandlerEx
|
||||
12 stdcall -private DllGetVersion(ptr)
|
||||
13 stub RichEditWndProc
|
||||
14 stub RichListBoxWndProc
|
||||
15 stub RichComboBoxWndProc
|
80
reactos/dll/win32/msftedit/msftedit_main.c
Normal file
80
reactos/dll/win32/msftedit/msftedit_main.c
Normal file
|
@ -0,0 +1,80 @@
|
|||
/*
|
||||
* msftedit main file
|
||||
*
|
||||
* Copyright (C) 2008 Rico Schüller
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include "wine/port.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "winreg.h"
|
||||
#include "wingdi.h"
|
||||
#include "winuser.h"
|
||||
#include "richedit.h"
|
||||
#include "imm.h"
|
||||
#include "shlwapi.h"
|
||||
#include "oleidl.h"
|
||||
#include "initguid.h"
|
||||
#include "textserv.h"
|
||||
|
||||
#include "wine/debug.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(msftedit);
|
||||
|
||||
/***********************************************************************
|
||||
* DllMain.
|
||||
*/
|
||||
BOOL WINAPI DllMain(HINSTANCE inst, DWORD reason, LPVOID reserved)
|
||||
{
|
||||
static const WCHAR riched20W[] = {'r','i','c','h','e','d','2','0','.','d','l','l',0};
|
||||
static HMODULE richedit;
|
||||
|
||||
switch(reason)
|
||||
{
|
||||
case DLL_WINE_PREATTACH:
|
||||
return FALSE; /* prefer native version */
|
||||
case DLL_PROCESS_ATTACH:
|
||||
/* explicitly load riched20 since it creates the window classes at dll attach time */
|
||||
richedit = LoadLibraryW( riched20W );
|
||||
DisableThreadLibraryCalls(inst);
|
||||
break;
|
||||
case DLL_PROCESS_DETACH:
|
||||
FreeLibrary( richedit );
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* DllGetVersion (msftedit.@)
|
||||
*/
|
||||
HRESULT WINAPI DllGetVersion(DLLVERSIONINFO *info)
|
||||
{
|
||||
if (info->cbSize != sizeof(DLLVERSIONINFO)) FIXME("support DLLVERSIONINFO2\n");
|
||||
|
||||
/* this is what WINXP SP2 reports */
|
||||
info->dwMajorVersion = 41;
|
||||
info->dwMinorVersion = 15;
|
||||
info->dwBuildNumber = 1507;
|
||||
info->dwPlatformID = 1;
|
||||
return NOERROR;
|
||||
}
|
26
reactos/dll/win32/msftedit/version.rc
Normal file
26
reactos/dll/win32/msftedit/version.rc
Normal file
|
@ -0,0 +1,26 @@
|
|||
/*
|
||||
* Copyright 2008 Rico Schüller
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
#define WINE_FILEDESCRIPTION_STR "Rich Text Edit Control"
|
||||
#define WINE_FILENAME_STR "msftedit.dll"
|
||||
#define WINE_FILEVERSION 5,41,15,1509
|
||||
#define WINE_FILEVERSION_STR "5,41,15,1509"
|
||||
#define WINE_PRODUCTVERSION 5,41,15,1509
|
||||
#define WINE_PRODUCTVERSION_STR "5,41,15,1509"
|
||||
|
||||
#include "wine/wine_common_ver.rc"
|
1924
reactos/dll/win32/msrle32/msrle32.c
Normal file
1924
reactos/dll/win32/msrle32/msrle32.c
Normal file
File diff suppressed because it is too large
Load diff
13
reactos/dll/win32/msrle32/msrle32.rbuild
Normal file
13
reactos/dll/win32/msrle32/msrle32.rbuild
Normal file
|
@ -0,0 +1,13 @@
|
|||
<module name="msrle32" type="win32dll" baseaddress="${BASEADDRESS_MSRLE32}" installbase="system32" installname="msrle32.dll" allowwarnings="true">
|
||||
<importlibrary definition="msrle32.spec" />
|
||||
<include base="msrle32">.</include>
|
||||
<include base="ReactOS">include/reactos/wine</include>
|
||||
<define name="__WINESRC__" />
|
||||
<file>msrle32.c</file>
|
||||
<file>rsrc.rc</file>
|
||||
<library>wine</library>
|
||||
<library>winmm</library>
|
||||
<library>user32</library>
|
||||
<library>kernel32</library>
|
||||
<library>ntdll</library>
|
||||
</module>
|
1
reactos/dll/win32/msrle32/msrle32.spec
Normal file
1
reactos/dll/win32/msrle32/msrle32.spec
Normal file
|
@ -0,0 +1 @@
|
|||
@ stdcall -private DriverProc(long long long long long) MSRLE32_DriverProc
|
28
reactos/dll/win32/msrle32/msrle_Bg.rc
Normal file
28
reactos/dll/win32/msrle32/msrle_Bg.rc
Normal file
|
@ -0,0 +1,28 @@
|
|||
/*
|
||||
* Bulgarian resource file for MS-RLE
|
||||
*
|
||||
* Copyright 2005 Milko Krachounov
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_NAME "WINE-MS-RLE"
|
||||
IDS_DESCRIPTION "Wine MS-RLE âèäåî êîäåê"
|
||||
IDS_ABOUT "Wine MS-RLE âèäåî êîäåê\nCopyright 2002 by Michael Gunnewig"
|
||||
}
|
32
reactos/dll/win32/msrle32/msrle_Cs.rc
Normal file
32
reactos/dll/win32/msrle32/msrle_Cs.rc
Normal file
|
@ -0,0 +1,32 @@
|
|||
/* Hey, Emacs, open this file with -*- coding: cp1250 -*-
|
||||
*
|
||||
* Czech resource file for MS-RLE
|
||||
*
|
||||
* Copyright 2002 Michael Günnewig
|
||||
* Copyright 2004 David Kredba
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
|
||||
|
||||
/* Czech strings in CP1250 */
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_NAME "WINE-MS-RLE"
|
||||
IDS_DESCRIPTION "Wine MS-RLE video kodek"
|
||||
IDS_ABOUT L"Wine MS-RLE video kodek\nCopyright 2002 Michael Günnewig"
|
||||
}
|
28
reactos/dll/win32/msrle32/msrle_Da.rc
Normal file
28
reactos/dll/win32/msrle32/msrle_Da.rc
Normal file
|
@ -0,0 +1,28 @@
|
|||
/*
|
||||
* Danish language support
|
||||
*
|
||||
* Copyright (C) 2008 Jens Albretsen <jens@albretsen.dk>
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_DANISH, SUBLANG_DEFAULT
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_NAME "WINE-MS-RLE"
|
||||
IDS_DESCRIPTION "Wine MS-RLE videokodeks"
|
||||
IDS_ABOUT "Wine MS-RLE videokodeks\nOphavsret 2002 tilhører Michael Günnewig"
|
||||
}
|
28
reactos/dll/win32/msrle32/msrle_De.rc
Normal file
28
reactos/dll/win32/msrle32/msrle_De.rc
Normal file
|
@ -0,0 +1,28 @@
|
|||
/*
|
||||
* German resource file for MS-RLE
|
||||
*
|
||||
* Copyright 2002 Michael Günnewig
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_NAME "WINE-MS-RLE"
|
||||
IDS_DESCRIPTION "Wine MS-RLE Videodekoder"
|
||||
IDS_ABOUT "Wine MS-RLE Videodekoder\nCopyright 2002 by Michael Günnewig"
|
||||
}
|
28
reactos/dll/win32/msrle32/msrle_En.rc
Normal file
28
reactos/dll/win32/msrle32/msrle_En.rc
Normal file
|
@ -0,0 +1,28 @@
|
|||
/*
|
||||
* English resource file for MS-RLE
|
||||
*
|
||||
* Copyright 2002 Michael Günnewig
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_NAME "WINE-MS-RLE"
|
||||
IDS_DESCRIPTION "Wine MS-RLE video codec"
|
||||
IDS_ABOUT "Wine MS-RLE video codec\nCopyright 2002 by Michael Günnewig"
|
||||
}
|
28
reactos/dll/win32/msrle32/msrle_Es.rc
Normal file
28
reactos/dll/win32/msrle32/msrle_Es.rc
Normal file
|
@ -0,0 +1,28 @@
|
|||
/*
|
||||
* Spanish resource file for MS-RLE
|
||||
*
|
||||
* Copyright 2003 José Manuel Ferrer Ortiz
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_NAME "WINE-MS-RLE"
|
||||
IDS_DESCRIPTION "Codec de vídeo MS-RLE de Wine"
|
||||
IDS_ABOUT "Codec de vídeo MS-RLE de Wine\nCopyright 2002 por Michael Günnewig"
|
||||
}
|
28
reactos/dll/win32/msrle32/msrle_Fr.rc
Normal file
28
reactos/dll/win32/msrle32/msrle_Fr.rc
Normal file
|
@ -0,0 +1,28 @@
|
|||
/*
|
||||
* French resource file for MS-RLE
|
||||
*
|
||||
* Copyright 2002 Michael Günnewig
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_NAME "WINE-MS-RLE"
|
||||
IDS_DESCRIPTION "Wine: décodeur/encodeur vidéo MS-RLE"
|
||||
IDS_ABOUT "Wine: décodeur/encodeur vidéo MS-RLE\nCopyright 2002 par Michael Günnewig"
|
||||
}
|
28
reactos/dll/win32/msrle32/msrle_Hu.rc
Normal file
28
reactos/dll/win32/msrle32/msrle_Hu.rc
Normal file
|
@ -0,0 +1,28 @@
|
|||
/*
|
||||
* Hungarian resource file for MS-RLE
|
||||
*
|
||||
* Copyright 2006 Andras Kovacs
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_NAME "WINE-MS-RLE"
|
||||
IDS_DESCRIPTION "Wine MS-RLE video kodek"
|
||||
IDS_ABOUT L"Wine MS-RLE video kodek\nCopyright 2002, Michael G\x00fcnnewig"
|
||||
}
|
29
reactos/dll/win32/msrle32/msrle_It.rc
Normal file
29
reactos/dll/win32/msrle32/msrle_It.rc
Normal file
|
@ -0,0 +1,29 @@
|
|||
/*
|
||||
* Italian resource file for MS-RLE
|
||||
*
|
||||
* Copyright 2002 Michael Günnewig
|
||||
* Copyright 2003 Ivan Leo Puoti
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_NAME "WINE-MS-RLE"
|
||||
IDS_DESCRIPTION "Codec video MS-RLE di Wine"
|
||||
IDS_ABOUT "Codec video MS-RLE di Wine\nCopyright 2002 Michael Günnewig"
|
||||
}
|
33
reactos/dll/win32/msrle32/msrle_Ja.rc
Normal file
33
reactos/dll/win32/msrle32/msrle_Ja.rc
Normal file
|
@ -0,0 +1,33 @@
|
|||
/*
|
||||
* Japanese resource file for MS-RLE
|
||||
*
|
||||
* Copyright 2004 Hajime Segawa
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
/* UTF-8 */
|
||||
#pragma code_page(65001)
|
||||
|
||||
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_NAME "WINE-MS-RLE"
|
||||
IDS_DESCRIPTION "Wine MS-RLE ビデオコーデック"
|
||||
IDS_ABOUT "Wine MS-RLE ビデオコーデック\nCopyright 2002 by Michael Günewig"
|
||||
}
|
||||
|
||||
#pragma code_page(default)
|
28
reactos/dll/win32/msrle32/msrle_Ko.rc
Normal file
28
reactos/dll/win32/msrle32/msrle_Ko.rc
Normal file
|
@ -0,0 +1,28 @@
|
|||
/*
|
||||
* Korean resource file for MS-RLE
|
||||
*
|
||||
* Copyright 2005 YunSong Hwang
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_NAME "WINE-MS-RLE"
|
||||
IDS_DESCRIPTION "Wine MS-RLE ºñµð¿À ÄÚµ¦"
|
||||
IDS_ABOUT "Wine MS-RLE ºñµð¿À ÄÚµ¦\nCopyright 2002 by Michael Gunnewig"
|
||||
}
|
28
reactos/dll/win32/msrle32/msrle_Nl.rc
Normal file
28
reactos/dll/win32/msrle32/msrle_Nl.rc
Normal file
|
@ -0,0 +1,28 @@
|
|||
/*
|
||||
* MS-RLE (Dutch resources)
|
||||
*
|
||||
* Copyright 2003 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_NAME "WINE-MS-RLE"
|
||||
IDS_DESCRIPTION "Wine MS-RLE videodecoder"
|
||||
IDS_ABOUT "Wine MS-RLE videodecoder\nCopyright 2002 Michael Günnewig"
|
||||
}
|
28
reactos/dll/win32/msrle32/msrle_No.rc
Normal file
28
reactos/dll/win32/msrle32/msrle_No.rc
Normal file
|
@ -0,0 +1,28 @@
|
|||
/*
|
||||
* Norwegian Bokmål resource file for MS-RLE
|
||||
*
|
||||
* Copyright 2005 Alexander N. Sørnes <alex@thehandofagony.com>
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_NORWEGIAN, SUBLANG_NORWEGIAN_BOKMAL
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_NAME "WINE-MS-RLE"
|
||||
IDS_DESCRIPTION "Wine MS-RLE-videokodek"
|
||||
IDS_ABOUT "Wine MS-RLE-videokodek\nKopirett 2002 tilhører Michael Günnewig"
|
||||
}
|
29
reactos/dll/win32/msrle32/msrle_Pl.rc
Normal file
29
reactos/dll/win32/msrle32/msrle_Pl.rc
Normal file
|
@ -0,0 +1,29 @@
|
|||
/*
|
||||
* English resource file for MS-RLE
|
||||
*
|
||||
* Copyright 2002 Michael Gnnewig
|
||||
* Copyright 2006 Mikolaj Zalewski
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_NAME "WINE-MS-RLE"
|
||||
IDS_DESCRIPTION "Kodek Wine MS-RLE"
|
||||
IDS_ABOUT L"Koder-dekoder Wine MS-RLE\nCopyright 2002 - Michael G\x00fcnnewig"
|
||||
}
|
38
reactos/dll/win32/msrle32/msrle_Pt.rc
Normal file
38
reactos/dll/win32/msrle32/msrle_Pt.rc
Normal file
|
@ -0,0 +1,38 @@
|
|||
/*
|
||||
* Portuguese resource file for MS-RLE
|
||||
*
|
||||
* Copyright 2003 Marcelo Duarte
|
||||
* Copyright 2006 Américo José Melo
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_NAME "WINE-MS-RLE"
|
||||
IDS_DESCRIPTION "Wine MS-RLE codificador/decodificador de vídeo"
|
||||
IDS_ABOUT "Wine MS-RLE codificador/decodificador de vídeo\nCopyright 2002 por Michael Günnewig"
|
||||
}
|
||||
|
||||
LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_NAME "WINE-MS-RLE"
|
||||
IDS_DESCRIPTION "Wine MS-RLE codificador/decodificador de vídeo"
|
||||
IDS_ABOUT "Wine MS-RLE codificador/decodificador de vídeo\nDireitos de autor 2002 por Michael Günnewig"
|
||||
}
|
31
reactos/dll/win32/msrle32/msrle_Ro.rc
Normal file
31
reactos/dll/win32/msrle32/msrle_Ro.rc
Normal file
|
@ -0,0 +1,31 @@
|
|||
/*
|
||||
* Copyright 2002 Michael Günnewig
|
||||
* Copyright 2008 Michael Stefaniuc
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
|
||||
|
||||
#pragma code_page(65001)
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_NAME "WINE-MS-RLE"
|
||||
IDS_DESCRIPTION "Codecul video Wine MS-RLE"
|
||||
IDS_ABOUT "Codecul video Wine MS-RLE\nCopyright 2002 by Michael Günnewig"
|
||||
}
|
||||
|
||||
#pragma code_page(default)
|
28
reactos/dll/win32/msrle32/msrle_Ru.rc
Normal file
28
reactos/dll/win32/msrle32/msrle_Ru.rc
Normal file
|
@ -0,0 +1,28 @@
|
|||
/*
|
||||
* Russian resource file for MS-RLE
|
||||
*
|
||||
* Copyright 2003 Igor Stepin
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_NAME "WINE-MS-RLE"
|
||||
IDS_DESCRIPTION "Âèäåî êîäåê Wine MS-RLE"
|
||||
IDS_ABOUT "Âèäåî êîäåê Wine MS-RLE\nCopyright 2002 by Michael Günnewig"
|
||||
}
|
32
reactos/dll/win32/msrle32/msrle_Si.rc
Normal file
32
reactos/dll/win32/msrle32/msrle_Si.rc
Normal file
|
@ -0,0 +1,32 @@
|
|||
/*
|
||||
* Slovenian resource file for MS-RLE
|
||||
*
|
||||
* Copyright 2003, 2008 Rok Mandeljc
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
#pragma code_page(65001)
|
||||
|
||||
LANGUAGE LANG_SLOVENIAN, SUBLANG_DEFAULT
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_NAME "WINE-MS-RLE"
|
||||
IDS_DESCRIPTION "Wine MS-RLE video kodek"
|
||||
IDS_ABOUT "Wine MS-RLE video kodek\nCopyright 2002 by Michael Günnewig"
|
||||
}
|
||||
|
||||
#pragma code_page(default)
|
28
reactos/dll/win32/msrle32/msrle_Sv.rc
Normal file
28
reactos/dll/win32/msrle32/msrle_Sv.rc
Normal file
|
@ -0,0 +1,28 @@
|
|||
/*
|
||||
* Swedish resource file for MS-RLE
|
||||
*
|
||||
* Copyright 2007 Daniel Nylander
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_NAME "WINE-MS-RLE"
|
||||
IDS_DESCRIPTION "Wine MS-RLE videokodek"
|
||||
IDS_ABOUT "Wine MS-RLE videokodek\nCopyright 2002 Michael Günnewig"
|
||||
}
|
28
reactos/dll/win32/msrle32/msrle_Tr.rc
Normal file
28
reactos/dll/win32/msrle32/msrle_Tr.rc
Normal file
|
@ -0,0 +1,28 @@
|
|||
/*
|
||||
* Turkish resource file for MS-RLE
|
||||
*
|
||||
* Copyright 2006 Fatih Aþýcý
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_NAME "WINE-MS-RLE"
|
||||
IDS_DESCRIPTION "Wine MS-RLE vidyo çözücü"
|
||||
IDS_ABOUT "Wine MS-RLE vidyo çözücü\nTelif Hakký 2002 Michael Günnewig"
|
||||
}
|
62
reactos/dll/win32/msrle32/msrle_private.h
Normal file
62
reactos/dll/win32/msrle32/msrle_private.h
Normal file
|
@ -0,0 +1,62 @@
|
|||
/*
|
||||
* Copyright 2002 Michael Günnewig
|
||||
*
|
||||
* 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 __MSRLE32_PRIVATE_H
|
||||
#define __MSRLE32_PRIVATE_H
|
||||
|
||||
#ifndef RC_INVOKED
|
||||
#include <stdarg.h>
|
||||
#endif
|
||||
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "mmsystem.h"
|
||||
#include "wingdi.h"
|
||||
#include "winuser.h"
|
||||
#include "vfw.h"
|
||||
|
||||
#define IDS_NAME 100
|
||||
#define IDS_DESCRIPTION 101
|
||||
#define IDS_ABOUT 102
|
||||
|
||||
#define MSRLE32_DEFAULTQUALITY (75 * ICQUALITY_HIGH) / 100
|
||||
|
||||
#define FOURCC_RLE mmioFOURCC('R','L','E',' ')
|
||||
#define FOURCC_RLE4 mmioFOURCC('R','L','E','4')
|
||||
#define FOURCC_RLE8 mmioFOURCC('R','L','E','8')
|
||||
#define FOURCC_MRLE mmioFOURCC('M','R','L','E')
|
||||
|
||||
#define WIDTHBYTES(i) ((WORD)((i+31u)&(~31u))/8u) /* ULONG aligned ! */
|
||||
#define DIBWIDTHBYTES(bi) WIDTHBYTES((WORD)(bi).biWidth * (WORD)(bi).biBitCount)
|
||||
|
||||
typedef struct _CodecInfo {
|
||||
FOURCC fccHandler;
|
||||
DWORD dwQuality;
|
||||
|
||||
BOOL bCompress;
|
||||
LONG nPrevFrame;
|
||||
LPWORD pPrevFrame;
|
||||
LPWORD pCurFrame;
|
||||
|
||||
BOOL bDecompress;
|
||||
LPBYTE palette_map;
|
||||
} CodecInfo;
|
||||
|
||||
typedef const BITMAPINFOHEADER * LPCBITMAPINFOHEADER;
|
||||
|
||||
#endif
|
53
reactos/dll/win32/msrle32/rsrc.rc
Normal file
53
reactos/dll/win32/msrle32/rsrc.rc
Normal file
|
@ -0,0 +1,53 @@
|
|||
/*
|
||||
* Top level resource file for MS-RLE
|
||||
*
|
||||
* Copyright 2002 Michael Günnewig
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
|
||||
#include "msrle_private.h"
|
||||
|
||||
/*
|
||||
* Everything specific to any language goes
|
||||
* in one of the specific files.
|
||||
* Note that you can and may override resources
|
||||
* which also have a neutral version. This is to
|
||||
* get localized bitmaps for example.
|
||||
*/
|
||||
|
||||
#include "msrle_Bg.rc"
|
||||
#include "msrle_Cs.rc"
|
||||
#include "msrle_Da.rc"
|
||||
#include "msrle_De.rc"
|
||||
#include "msrle_En.rc"
|
||||
#include "msrle_Es.rc"
|
||||
#include "msrle_Fr.rc"
|
||||
#include "msrle_Hu.rc"
|
||||
#include "msrle_It.rc"
|
||||
#include "msrle_Ja.rc"
|
||||
#include "msrle_Ko.rc"
|
||||
#include "msrle_Nl.rc"
|
||||
#include "msrle_No.rc"
|
||||
#include "msrle_Pl.rc"
|
||||
#include "msrle_Pt.rc"
|
||||
#include "msrle_Ro.rc"
|
||||
#include "msrle_Ru.rc"
|
||||
#include "msrle_Si.rc"
|
||||
#include "msrle_Sv.rc"
|
||||
#include "msrle_Tr.rc"
|
|
@ -193,9 +193,15 @@
|
|||
<directory name="mscat32">
|
||||
<xi:include href="mscat32/mscat32.rbuild" />
|
||||
</directory>
|
||||
<directory name="mscms">
|
||||
<xi:include href="mscms/mscms.rbuild" />
|
||||
</directory>
|
||||
<directory name="mscoree">
|
||||
<xi:include href="mscoree/mscoree.rbuild" />
|
||||
</directory>
|
||||
<directory name="msftedit">
|
||||
<xi:include href="msftedit/msftedit.rbuild" />
|
||||
</directory>
|
||||
<directory name="msgina">
|
||||
<xi:include href="msgina/msgina.rbuild" />
|
||||
</directory>
|
||||
|
@ -214,6 +220,9 @@
|
|||
<directory name="msimtf">
|
||||
<xi:include href="msimtf/msimtf.rbuild" />
|
||||
</directory>
|
||||
<directory name="msrle32">
|
||||
<xi:include href="msrle32/msrle32.rbuild" />
|
||||
</directory>
|
||||
<directory name="mstask">
|
||||
<xi:include href="mstask/mstask.rbuild" />
|
||||
</directory>
|
||||
|
|
|
@ -65,11 +65,14 @@ reactos/dll/win32/mlang # Autosync
|
|||
reactos/dll/win32/mpr # Autosync
|
||||
reactos/dll/win32/msacm32 # Out of sync
|
||||
reactos/dll/win32/mscat32 # Autosync
|
||||
reactos/dll/win32/mscms # Autosync
|
||||
reactos/dll/win32/mscoree # Autosync
|
||||
reactos/dll/win32/msftedit # Autosync
|
||||
reactos/dll/win32/mshtml # Autosync
|
||||
reactos/dll/win32/msimg32 # Autosync
|
||||
reactos/dll/win32/msi # Autosync
|
||||
reactos/dll/win32/msimtf # Autosync
|
||||
reactos/dll/win32/msrle32 # Autosync
|
||||
reactos/dll/win32/mstask # Autosync
|
||||
reactos/dll/win32/msvcrt20 # Autosync
|
||||
reactos/dll/win32/msvfw32 # Autosync
|
||||
|
|
Loading…
Reference in a new issue