Author: gschneider
Date: Sun Feb 8 17:18:58 2009
New Revision: 39506
URL:
http://svn.reactos.org/svn/reactos?rev=39506&view=rev
Log:
Preparation for StretchBlt pattern support (2):
- Modify CallDibStretchBlt for brush support, adjust function pointers
- Add BrushObj to DibFunctions, fix BrushOrigin parameter type, qualify ROP properly
Modified:
trunk/reactos/subsystems/win32/win32k/dib/dib.c
trunk/reactos/subsystems/win32/win32k/dib/dib.h
trunk/reactos/subsystems/win32/win32k/dib/dibXXbpp.c
trunk/reactos/subsystems/win32/win32k/eng/bitblt.c
Modified: trunk/reactos/subsystems/win32/win32k/dib/dib.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/di…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/dib/dib.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/dib/dib.c [iso-8859-1] Sun Feb 8 17:18:58 2009
@@ -225,9 +225,9 @@
BOOLEAN Dummy_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
RECTL* DestRect, RECTL *SourceRect,
- POINTL* MaskOrigin, POINTL BrushOrign,
- CLIPOBJ *ClipRegion, XLATEOBJ *ColorTranslation,
- ULONG Mode)
+ POINTL* MaskOrigin, BRUSHOBJ* Brush,
+ POINTL* BrushOrign, CLIPOBJ *ClipRegion,
+ XLATEOBJ *ColorTranslation, ROP4 Rop)
{
return FALSE;
}
Modified: trunk/reactos/subsystems/win32/win32k/dib/dib.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/di…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/dib/dib.h [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/dib/dib.h [iso-8859-1] Sun Feb 8 17:18:58 2009
@@ -41,7 +41,7 @@
typedef VOID (*PFN_DIB_HLine)(SURFOBJ*,LONG,LONG,LONG,ULONG);
typedef VOID (*PFN_DIB_VLine)(SURFOBJ*,LONG,LONG,LONG,ULONG);
typedef BOOLEAN (*PFN_DIB_BitBlt)(PBLTINFO);
-typedef BOOLEAN
(*PFN_DIB_StretchBlt)(SURFOBJ*,SURFOBJ*,RECTL*,RECTL*,POINTL*,POINTL,CLIPOBJ*,XLATEOBJ*,ULONG);
+typedef BOOLEAN
(*PFN_DIB_StretchBlt)(SURFOBJ*,SURFOBJ*,RECTL*,RECTL*,POINTL*,BRUSHOBJ*,POINTL*,CLIPOBJ*,XLATEOBJ*,ROP4);
typedef BOOLEAN
(*PFN_DIB_TransparentBlt)(SURFOBJ*,SURFOBJ*,RECTL*,POINTL*,XLATEOBJ*,ULONG);
typedef BOOLEAN (*PFN_DIB_ColorFill)(SURFOBJ*, RECTL*, ULONG);
typedef BOOLEAN (*PFN_DIB_AlphaBlend)(SURFOBJ*, SURFOBJ*, RECTL*, RECTL*, CLIPOBJ*,
XLATEOBJ*, BLENDOBJ*);
@@ -67,7 +67,7 @@
VOID Dummy_HLine(SURFOBJ*,LONG,LONG,LONG,ULONG);
VOID Dummy_VLine(SURFOBJ*,LONG,LONG,LONG,ULONG);
BOOLEAN Dummy_BitBlt(PBLTINFO);
-BOOLEAN
Dummy_StretchBlt(SURFOBJ*,SURFOBJ*,RECTL*,RECTL*,POINTL*,POINTL,CLIPOBJ*,XLATEOBJ*,ULONG);
+BOOLEAN
Dummy_StretchBlt(SURFOBJ*,SURFOBJ*,RECTL*,RECTL*,POINTL*,BRUSHOBJ*,POINTL*,CLIPOBJ*,XLATEOBJ*,ROP4);
BOOLEAN Dummy_TransparentBlt(SURFOBJ*,SURFOBJ*,RECTL*,POINTL*,XLATEOBJ*,ULONG);
BOOLEAN Dummy_ColorFill(SURFOBJ*, RECTL*, ULONG);
BOOLEAN Dummy_AlphaBlend(SURFOBJ*, SURFOBJ*, RECTL*, RECTL*, CLIPOBJ*, XLATEOBJ*,
BLENDOBJ*);
@@ -132,7 +132,7 @@
BOOLEAN DIB_32BPP_ColorFill(SURFOBJ*, RECTL*, ULONG);
BOOLEAN DIB_32BPP_AlphaBlend(SURFOBJ*, SURFOBJ*, RECTL*, RECTL*, CLIPOBJ*, XLATEOBJ*,
BLENDOBJ*);
-BOOLEAN
DIB_XXBPP_StretchBlt(SURFOBJ*,SURFOBJ*,RECTL*,RECTL*,POINTL*,POINTL,CLIPOBJ*,XLATEOBJ*,ULONG);
+BOOLEAN
DIB_XXBPP_StretchBlt(SURFOBJ*,SURFOBJ*,RECTL*,RECTL*,POINTL*,BRUSHOBJ*,POINTL*,CLIPOBJ*,XLATEOBJ*,ROP4);
extern unsigned char notmask[2];
extern unsigned char altnotmask[2];
Modified: trunk/reactos/subsystems/win32/win32k/dib/dibXXbpp.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/di…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/dib/dibXXbpp.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/dib/dibXXbpp.c [iso-8859-1] Sun Feb 8 17:18:58
2009
@@ -23,10 +23,10 @@
#include <debug.h>
BOOLEAN DIB_XXBPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
- RECTL* DestRect, RECTL *SourceRect,
- POINTL* MaskOrigin, POINTL BrushOrigin,
- CLIPOBJ *ClipRegion, XLATEOBJ *ColorTranslation,
- ULONG ROP)
+ RECTL *DestRect, RECTL *SourceRect,
+ POINTL *MaskOrigin, BRUSHOBJ *Brush,
+ POINTL *BrushOrigin, CLIPOBJ *ClipRegion,
+ XLATEOBJ *ColorTranslation, ROP4 ROP)
{
LONG SrcSizeY;
LONG SrcSizeX;
Modified: trunk/reactos/subsystems/win32/win32k/eng/bitblt.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/en…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/eng/bitblt.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/eng/bitblt.c [iso-8859-1] Sun Feb 8 17:18:58
2009
@@ -50,8 +50,9 @@
RECTL* OutputRect,
RECTL* InputRect,
POINTL* MaskOrigin,
+ BRUSHOBJ* BrushObj,
POINTL* BrushOrigin,
- ULONG Mode);
+ ROP4 Rop4);
BOOL APIENTRY EngIntersectRect(RECTL* prcDst, RECTL* prcSrc1, RECTL* prcSrc2)
{
@@ -741,8 +742,9 @@
RECTL* OutputRect,
RECTL* InputRect,
POINTL* MaskOrigin,
+ BRUSHOBJ* Brush,
POINTL* BrushOrigin,
- ULONG Mode)
+ ROP4 Rop4)
{
POINTL RealBrushOrigin;
if (BrushOrigin == NULL)
@@ -754,7 +756,7 @@
RealBrushOrigin = *BrushOrigin;
}
return DibFunctionsForBitmapFormat[psoDest->iBitmapFormat].DIB_StretchBlt(
- psoDest, psoSource, OutputRect, InputRect, MaskOrigin, RealBrushOrigin,
ClipRegion, ColorTranslation, Mode);
+ psoDest, psoSource, OutputRect, InputRect, MaskOrigin, Brush,
&RealBrushOrigin, ClipRegion, ColorTranslation, Rop4);
}
@@ -965,7 +967,7 @@
Ret = (*BltRectFunc)(psoOutput, psoInput, Mask, ClipRegion,
ColorTranslation, &OutputRect, &InputRect, MaskOrigin,
- &AdjustedBrushOrigin, ROP4);
+ Brush, &AdjustedBrushOrigin, ROP4);
IntEngLeave(&EnterLeaveDest);
if (UsesSource)