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