msimg32 patch (for mirc v6.01)
Leo van den Berg
leo at connectux.com
Thu Mar 14 06:48:08 CST 2002
Hello,
Added function bodys to msimg32.dll, no implementation yet (it uses
undocumented functions in gdi32.dll)
This simple patch will stop mIrc v6.01 from crashing.
------
changed files:
/dlls/msimg32/msimg32.spec
/dlls/msimg32/msimg32_main.c
added files:
/include/msimg32.h
------
regards,
Leo van den Berg.
-------------- next part --------------
--- wine/dlls/msimg32/msimg32.spec Wed Mar 13 13:59:31 2002
+++ housewine/dlls/msimg32/msimg32.spec Mon Mar 11 11:49:56 2002
@@ -5,8 +5,8 @@
debug_channels (msimg32)
-@ stub AlphaBlend
+@ stdcall AlphaBlend (long long long long long long long long long long ptr ) AlphaBlend
@ stub DllInitialize
@ stdcall GradientFill (long ptr long ptr long long ) GradientFill
-@ stub TransparentBlt
-@ stub vSetDdrawflag
+@ stdcall TransparentBlt (long long long long long long long long long long long) TransparentBlt
+@ stdcall vSetDdrawflag () vSetDdrawflag
--- wine/dlls/msimg32/msimg32_main.c Wed Mar 13 13:59:31 2002
+++ housewine/dlls/msimg32/msimg32_main.c Wed Mar 13 16:33:34 2002
@@ -19,8 +19,23 @@
#include "winbase.h"
#include "winerror.h"
#include "wine/debug.h"
+#include "msimg32.h"
WINE_DEFAULT_DEBUG_CHANNEL(msimg32);
+/* imported functions from gdi32.dll
+GdiAlphaBlend
+GdiGradientFill
+GdiTransparentBlt
+GetCurrentObject
+GetDeviceCaps
+GetObjectA
+GetObjectType
+ imported functions from kernel32.dll
+DisableThreadLibraryCalls
+FreeLibrary
+GetVersionExA
+SetLastError
+*/
BOOL WINAPI GradientFill(HDC hdc, void * vert_array, ULONG nvert,
void * grad_array, ULONG ngrad, ULONG mode)
@@ -28,4 +43,25 @@
FIXME("stub: %ld vertices %ld gradients mode %lx\n", nvert, ngrad, mode);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
+}
+
+BOOL WINAPI AlphaBlend(HDC hdcDest, int nXOriginDest, int nYOriginDest, int nWidthDest, int nHeigthDest, HDC hdcSrc, int nXOriginSrc, int nYOriginSrc, int nWidthSrc, int nHeigthSrc, LPBLENDFUNCTION blendFunction)
+{
+ FIXME("stub: AlphaBlend from %p to %p\n", hdcSrc, hdcDest );
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+ return FALSE;
+}
+
+BOOL WINAPI TransparentBlt(HDC hdcDest, int nXOriginDest, int nYOriginDest, int nWidthDest, int hHeightDest, HDC hdcSrc , int nXOriginSrc, int nYOriginSrc, int nWidthSrc, int nHeightSrc, UINT crTransparent)
+{
+ FIXME("stub: TransparentBlt from %p to %p\n", hdcSrc, hdcDest );
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+ return FALSE;
+}
+
+void WINAPI vSetDdrawflag(void)
+{
+ static unsigned int vDrawflag=1;
+ FIXME("stub: vSetDrawFlag %u\n", vDrawflag);
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
}
--- wine/include/msimg32.h Wed Mar 13 16:43:19 2002
+++ housewine/include/msimg32.h Wed Mar 13 16:46:35 2002
@@ -0,0 +1,31 @@
+#ifndef WINE_MSIMG32_H
+#define WINE_MSIMG32_H
+
+#include "vfwmsgs.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+typedef struct _BLENDFUNCTION
+{
+ BYTE BlendOp;
+ BYTE BlendFlags;
+ BYTE SourceConstantAlpha;
+ BYTE AlphaFormat;
+}BLENDFUNCTION, *PBLENDFUNCTION, *LPBLENDFUNCTION;
+
+BOOL WINAPI GradientFill(HDC hdc, void * vert_array, ULONG nvert, void * grad_array, ULONG ngrad, ULONG mode);
+BOOL WINAPI AlphaBlend(HDC hdcDest, int nXOriginDest, int nYOriginDest, int nWidthDest, int nHeigthDest,
+ HDC hdcSrc , int nXOriginSrc, int nYOriginSrc, int nWidthSrc, int nHeigthSrc,
+ LPBLENDFUNCTION blendFunction);
+BOOL WINAPI TransparentBlt(HDC hdcDest, int nXOriginDest, int nYOriginDest, int nWidthDest, int hHeightDest,
+ HDC hdcSrc , int nXOriginSrc, int nYOriginSrc, int nWidthSrc, int nHeightSrc,
+ UINT crTransparent);
+void WINAPI vSetDdrawflag(void);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif /* __cplusplus */
+
+#endif /* WINE_MSIMG32_H */
More information about the wine-patches
mailing list