[ros-diffs] [gschneider] 39506: 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

gschneider at svn.reactos.org gschneider at svn.reactos.org
Mon Feb 9 00:18:59 CET 2009


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/dib.c?rev=39506&r1=39505&r2=39506&view=diff
==============================================================================
--- 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/dib.h?rev=39506&r1=39505&r2=39506&view=diff
==============================================================================
--- 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/dibXXbpp.c?rev=39506&r1=39505&r2=39506&view=diff
==============================================================================
--- 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/bitblt.c?rev=39506&r1=39505&r2=39506&view=diff
==============================================================================
--- 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)



More information about the Ros-diffs mailing list