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/dib... ============================================================================== --- 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/dib... ============================================================================== --- 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/dib... ============================================================================== --- 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/eng... ============================================================================== --- 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)