- Add mscms, msftedit, msrle32 from Wine

svn path=/trunk/; revision=39734
This commit is contained in:
Dmitry Chapyshev 2009-02-24 09:59:50 +00:00
parent 8294273359
commit cc3e2f3f75
43 changed files with 5621 additions and 0 deletions

View file

@ -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" />

View file

@ -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

View 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 */

View 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 */

View 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>

View 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)

View 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;
}

View 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 */

File diff suppressed because it is too large Load diff

View 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;
}

View 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;
}

View 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>

View 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>

View 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

View 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;
}

View 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"

File diff suppressed because it is too large Load diff

View 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>

View file

@ -0,0 +1 @@
@ stdcall -private DriverProc(long long long long long) MSRLE32_DriverProc

View 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"
}

View 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"
}

View 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"
}

View 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"
}

View 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"
}

View 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"
}

View 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"
}

View 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"
}

View 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"
}

View 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)

View 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"
}

View 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"
}

View 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"
}

View 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"
}

View 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"
}

View 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)

View 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"
}

View 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)

View 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"
}

View 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"
}

View 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

View 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"

View file

@ -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>

View file

@ -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