From 39bcf9d6d4f4531ae3cd6504d4632f03482bc0c8 Mon Sep 17 00:00:00 2001 From: Leo van den Berg Date: Tue, 19 Mar 2002 02:14:34 +0000 Subject: [PATCH] Added some stubs. --- dlls/msimg32/msimg32.spec | 8 +-- dlls/msimg32/msimg32_main.c | 52 +++++++++++++++-- include/wingdi.h | 109 +++++++++++++++++++++++++----------- 3 files changed, 126 insertions(+), 43 deletions(-) diff --git a/dlls/msimg32/msimg32.spec b/dlls/msimg32/msimg32.spec index f1385de6f98..580532935e8 100644 --- a/dlls/msimg32/msimg32.spec +++ b/dlls/msimg32/msimg32.spec @@ -5,8 +5,8 @@ import ntdll.dll debug_channels (msimg32) -@ stub AlphaBlend +@ stdcall AlphaBlend(long long long long long long long long long long long) AlphaBlend @ stub DllInitialize -@ stdcall GradientFill (long ptr long ptr long long ) GradientFill -@ stub TransparentBlt -@ stub vSetDdrawflag +@ stdcall GradientFill(long ptr long ptr long long) GradientFill +@ stdcall TransparentBlt(long long long long long long long long long long long) TransparentBlt +@ stdcall vSetDdrawflag() vSetDdrawflag diff --git a/dlls/msimg32/msimg32_main.c b/dlls/msimg32/msimg32_main.c index 9d0e09c5113..31f36798961 100644 --- a/dlls/msimg32/msimg32_main.c +++ b/dlls/msimg32/msimg32_main.c @@ -17,15 +17,57 @@ */ #include "winbase.h" +#include "wingdi.h" #include "winerror.h" #include "wine/debug.h" WINE_DEFAULT_DEBUG_CHANNEL(msimg32); -BOOL WINAPI GradientFill(HDC hdc, void * vert_array, ULONG nvert, - void * grad_array, ULONG ngrad, ULONG mode) + +/****************************************************************************** + * GradientFill (MSIMG32.@) + */ +BOOL WINAPI GradientFill( HDC hdc, TRIVERTEX *vert_array, ULONG nvert, + void * grad_array, ULONG ngrad, ULONG mode ) { - FIXME("stub: %ld vertices %ld gradients mode %lx\n", nvert, ngrad, mode); - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return FALSE; + FIXME("stub: %ld vertices %ld gradients mode %lx\n", nvert, ngrad, mode); + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return FALSE; +} + + +/****************************************************************************** + * AlphaBlend (MSIMG32.@) + */ +BOOL WINAPI AlphaBlend( HDC hdcDest, int xDest, int yDest, int widthDest, int heightDst, + HDC hdcSrc, int xSrc, int ySrc, int widthSrc, int heightSrc, + BLENDFUNCTION func ) +{ + FIXME("stub: AlphaBlend from %x to %x\n", hdcSrc, hdcDest ); + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return FALSE; +} + + +/****************************************************************************** + * TransparentBlt (MSIMG32.@) + */ +BOOL WINAPI TransparentBlt( HDC hdcDest, int xDest, int yDest, int widthDest, int heightDst, + HDC hdcSrc, int xSrc, int ySrc, int widthSrc, int heightSrc, + UINT crTransparent ) +{ + FIXME("stub: TransparentBlt from %x to %x\n", hdcSrc, hdcDest ); + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return FALSE; +} + + +/****************************************************************************** + * vSetDdrawflag (MSIMG32.@) + */ +void WINAPI vSetDdrawflag(void) +{ + static unsigned int vDrawflag=1; + FIXME("stub: vSetDrawFlag %u\n", vDrawflag); + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); } diff --git a/include/wingdi.h b/include/wingdi.h index 5624c7854d8..be65455d854 100644 --- a/include/wingdi.h +++ b/include/wingdi.h @@ -3002,36 +3002,75 @@ DECL_WINELIB_TYPE_AW(LPDISPLAY_DEVICE) #define DISPLAY_DEVICE_MIRRORING_DRIVER 0x00000008 #define DISPLAY_DEVICE_VGA_COMPATIBLE 0x00000010 +typedef USHORT COLOR16; + +typedef struct _TRIVERTEX +{ + LONG x; + LONG y; + COLOR16 Red; + COLOR16 Green; + COLOR16 Blue; + COLOR16 Alpha; +} TRIVERTEX, *PTRIVERTEX, *LPTRIVERTEX; + +typedef struct _GRADIENT_TRIANGLE +{ + ULONG Vertex1; + ULONG Vertex2; + ULONG Vertex3; +} GRADIENT_TRIANGLE, *PGRADIENT_TRIANGLE, *LPGRADIENT_TRIANGLE; + +typedef struct _GRADIENT_RECT +{ + ULONG UpperLeft; + ULONG LowerRight; +} GRADIENT_RECT, *PGRADIENT_RECT, *LPGRADIENT_RECT; + +typedef struct _BLENDFUNCTION +{ + BYTE BlendOp; + BYTE BlendFlags; + BYTE SourceConstantAlpha; + BYTE AlphaFormat; +} BLENDFUNCTION, *PBLENDFUNCTION; + +#define GRADIENT_FILL_RECT_H 0x00000000 +#define GRADIENT_FILL_RECT_V 0x00000001 +#define GRADIENT_FILL_TRIANGLE 0x00000002 +#define GRADIENT_FILL_OP_FLAG 0x000000ff + #define GDI_ERROR (0xFFFFFFFFL) #define HGDI_ERROR ((HANDLE)0xFFFFFFFFL) -INT WINAPI AbortDoc(HDC); -BOOL WINAPI AbortPath(HDC); -INT WINAPI AddFontResourceA(LPCSTR); -INT WINAPI AddFontResourceW(LPCWSTR); +INT WINAPI AbortDoc(HDC); +BOOL WINAPI AbortPath(HDC); +INT WINAPI AddFontResourceA(LPCSTR); +INT WINAPI AddFontResourceW(LPCWSTR); #define AddFontResource WINELIB_NAME_AW(AddFontResource) -BOOL WINAPI AngleArc(HDC, INT, INT, DWORD, FLOAT, FLOAT); -BOOL WINAPI AnimatePalette(HPALETTE,UINT,UINT,const PALETTEENTRY*); -BOOL WINAPI Arc(HDC,INT,INT,INT,INT,INT,INT,INT,INT); -BOOL WINAPI ArcTo(HDC, INT, INT, INT, INT, INT, INT, INT, INT); -BOOL WINAPI BeginPath(HDC); -BOOL WINAPI BitBlt(HDC,INT,INT,INT,INT,HDC,INT,INT,DWORD); -INT WINAPI ChoosePixelFormat(HDC,const LPPIXELFORMATDESCRIPTOR); -BOOL WINAPI Chord(HDC,INT,INT,INT,INT,INT,INT,INT,INT); +BOOL WINAPI AlphaBlend(HDC,int,int,int,int,HDC,int,int,int,int,BLENDFUNCTION); +BOOL WINAPI AngleArc(HDC, INT, INT, DWORD, FLOAT, FLOAT); +BOOL WINAPI AnimatePalette(HPALETTE,UINT,UINT,const PALETTEENTRY*); +BOOL WINAPI Arc(HDC,INT,INT,INT,INT,INT,INT,INT,INT); +BOOL WINAPI ArcTo(HDC, INT, INT, INT, INT, INT, INT, INT, INT); +BOOL WINAPI BeginPath(HDC); +BOOL WINAPI BitBlt(HDC,INT,INT,INT,INT,HDC,INT,INT,DWORD); +INT WINAPI ChoosePixelFormat(HDC,const LPPIXELFORMATDESCRIPTOR); +BOOL WINAPI Chord(HDC,INT,INT,INT,INT,INT,INT,INT,INT); HENHMETAFILE WINAPI CloseEnhMetaFile(HDC); -BOOL WINAPI CloseFigure(HDC); -HMETAFILE WINAPI CloseMetaFile(HDC); -INT WINAPI CombineRgn(HRGN,HRGN,HRGN,INT); -BOOL WINAPI CombineTransform(LPXFORM,const XFORM *,const XFORM *); +BOOL WINAPI CloseFigure(HDC); +HMETAFILE WINAPI CloseMetaFile(HDC); +INT WINAPI CombineRgn(HRGN,HRGN,HRGN,INT); +BOOL WINAPI CombineTransform(LPXFORM,const XFORM *,const XFORM *); HENHMETAFILE WINAPI CopyEnhMetaFileA(HENHMETAFILE,LPCSTR); HENHMETAFILE WINAPI CopyEnhMetaFileW(HENHMETAFILE,LPCWSTR); #define CopyEnhMetaFile WINELIB_NAME_AW(CopyEnhMetaFile) -HMETAFILE WINAPI CopyMetaFileA(HMETAFILE,LPCSTR); -HMETAFILE WINAPI CopyMetaFileW(HMETAFILE,LPCWSTR); +HMETAFILE WINAPI CopyMetaFileA(HMETAFILE,LPCSTR); +HMETAFILE WINAPI CopyMetaFileW(HMETAFILE,LPCWSTR); #define CopyMetaFile WINELIB_NAME_AW(CopyMetaFile) -HBITMAP WINAPI CreateBitmap(INT,INT,UINT,UINT,LPCVOID); -HBITMAP WINAPI CreateBitmapIndirect(const BITMAP*); -HBRUSH WINAPI CreateBrushIndirect(const LOGBRUSH*); +HBITMAP WINAPI CreateBitmap(INT,INT,UINT,UINT,LPCVOID); +HBITMAP WINAPI CreateBitmapIndirect(const BITMAP*); +HBRUSH WINAPI CreateBrushIndirect(const LOGBRUSH*); HCOLORSPACE WINAPI CreateColorSpaceA(LPLOGCOLORSPACEA); HCOLORSPACE WINAPI CreateColorSpaceW(LPLOGCOLORSPACEW); #define CreateColorSpace WINELIB_NAME_AW(CreateColorSpace) @@ -3238,19 +3277,20 @@ INT WINAPI GetTextFaceW(HDC,INT,LPWSTR); BOOL WINAPI GetTextMetricsA(HDC,LPTEXTMETRICA); BOOL WINAPI GetTextMetricsW(HDC,LPTEXTMETRICW); #define GetTextMetrics WINELIB_NAME_AW(GetTextMetrics) -BOOL WINAPI GetViewportExtEx(HDC,LPSIZE); -BOOL WINAPI GetViewportOrgEx(HDC,LPPOINT); -BOOL WINAPI GetWindowExtEx(HDC,LPSIZE); -BOOL WINAPI GetWindowOrgEx(HDC,LPPOINT); -BOOL WINAPI GetWorldTransform(HDC,LPXFORM); -INT WINAPI IntersectClipRect(HDC,INT,INT,INT,INT); -BOOL WINAPI InvertRgn(HDC,HRGN); -BOOL WINAPI LineDDA(INT,INT,INT,INT,LINEDDAPROC,LPARAM); -BOOL WINAPI LineTo(HDC,INT,INT); -BOOL WINAPI LPtoDP(HDC,LPPOINT,INT); -BOOL WINAPI MaskBlt(HDC,INT,INT,INT,INT,HDC,INT,INT,HBITMAP,INT,INT,DWORD); -BOOL WINAPI ModifyWorldTransform(HDC,const XFORM *, DWORD); -BOOL WINAPI MoveToEx(HDC,INT,INT,LPPOINT); +BOOL WINAPI GetViewportExtEx(HDC,LPSIZE); +BOOL WINAPI GetViewportOrgEx(HDC,LPPOINT); +BOOL WINAPI GetWindowExtEx(HDC,LPSIZE); +BOOL WINAPI GetWindowOrgEx(HDC,LPPOINT); +BOOL WINAPI GetWorldTransform(HDC,LPXFORM); +BOOL WINAPI GradientFill(HDC,PTRIVERTEX,ULONG,PVOID,ULONG,ULONG); +INT WINAPI IntersectClipRect(HDC,INT,INT,INT,INT); +BOOL WINAPI InvertRgn(HDC,HRGN); +BOOL WINAPI LineDDA(INT,INT,INT,INT,LINEDDAPROC,LPARAM); +BOOL WINAPI LineTo(HDC,INT,INT); +BOOL WINAPI LPtoDP(HDC,LPPOINT,INT); +BOOL WINAPI MaskBlt(HDC,INT,INT,INT,INT,HDC,INT,INT,HBITMAP,INT,INT,DWORD); +BOOL WINAPI ModifyWorldTransform(HDC,const XFORM *, DWORD); +BOOL WINAPI MoveToEx(HDC,INT,INT,LPPOINT); /* FIXME This is defined in kernel32.spec !?*/ INT WINAPI MulDiv(INT,INT,INT); INT WINAPI OffsetClipRgn(HDC,INT,INT); @@ -3356,6 +3396,7 @@ BOOL WINAPI TextOutA(HDC,INT,INT,LPCSTR,INT); BOOL WINAPI TextOutW(HDC,INT,INT,LPCWSTR,INT); #define TextOut WINELIB_NAME_AW(TextOut) BOOL WINAPI TranslateCharsetInfo(LPDWORD,LPCHARSETINFO,DWORD); +BOOL WINAPI TransparentBlt(HDC,int,int,int,int,HDC,int,int,int,int,UINT); BOOL WINAPI UnrealizeObject(HGDIOBJ); BOOL WINAPI UpdateColors(HDC); BOOL WINAPI WidenPath(HDC);