[YAROTOWS] Reintegrate the branch. For a brighter future.
[reactos.git] / reactos / subsystems / win32 / win32k / eng / paint.c
index 29cd723..d59c4f2 100644 (file)
 #define NDEBUG
 #include <debug.h>
 
-static BOOL APIENTRY FillSolidUnlocked(SURFOBJ *pso, PRECTL pRect, ULONG iColor)
+BOOL APIENTRY FillSolid(SURFOBJ *pso, PRECTL pRect, ULONG iColor)
 {
   LONG y;
   ULONG LineWidth;
-  SURFACE *psurf;
 
   ASSERT(pso);
   ASSERT(pRect);
-  psurf = CONTAINING_RECORD(pso, SURFACE, SurfObj);
-  MouseSafetyOnDrawStart(pso, pRect->left, pRect->top, pRect->right, pRect->bottom);
   LineWidth  = pRect->right - pRect->left;
   DPRINT(" LineWidth: %d, top: %d, bottom: %d\n", LineWidth, pRect->top, pRect->bottom);
   for (y = pRect->top; y < pRect->bottom; y++)
@@ -49,22 +46,9 @@ static BOOL APIENTRY FillSolidUnlocked(SURFOBJ *pso, PRECTL pRect, ULONG iColor)
     DibFunctionsForBitmapFormat[pso->iBitmapFormat].DIB_HLine(
       pso, pRect->left, pRect->right, y, iColor);
   }
-  MouseSafetyOnDrawEnd(pso);
-
   return TRUE;
 }
 
-BOOL APIENTRY FillSolid(SURFOBJ *pso, PRECTL pRect, ULONG iColor)
-{
-  SURFACE *psurf;
-  BOOL Result;
-  psurf = CONTAINING_RECORD(pso, SURFACE, SurfObj);
-  SURFACE_LockBitmapBits(psurf);
-  Result = FillSolidUnlocked(pso, pRect, iColor);
-  SURFACE_UnlockBitmapBits(psurf);
-  return Result;
-}
-
 BOOL APIENTRY
 EngPaintRgn(SURFOBJ *pso, CLIPOBJ *ClipRegion, ULONG iColor, MIX Mix,
             BRUSHOBJ *BrushObj, POINTL *BrushPoint)
@@ -87,7 +71,7 @@ EngPaintRgn(SURFOBJ *pso, CLIPOBJ *ClipRegion, ULONG iColor, MIX Mix,
 
     if (ClipRegion->iDComplexity == DC_RECT)
     {
-      FillSolidUnlocked(pso, &(ClipRegion->rclBounds), iColor);
+      FillSolid(pso, &(ClipRegion->rclBounds), iColor);
     } else {
 
       /* Enumerate all the rectangles and draw them */
@@ -96,7 +80,7 @@ EngPaintRgn(SURFOBJ *pso, CLIPOBJ *ClipRegion, ULONG iColor, MIX Mix,
       do {
         EnumMore = CLIPOBJ_bEnum(ClipRegion, sizeof(RectEnum), (PVOID) &RectEnum);
         for (i = 0; i < RectEnum.c; i++) {
-          FillSolidUnlocked(pso, RectEnum.arcl + i, iColor);
+          FillSolid(pso, RectEnum.arcl + i, iColor);
         }
       } while (EnumMore);
     }
@@ -138,18 +122,11 @@ IntEngPaint(IN SURFOBJ *pso,
 
   DPRINT("pso->iType == %d\n", pso->iType);
   /* Is the surface's Paint function hooked? */
-  if((pso->iType!=STYPE_BITMAP) && (psurf->flHooks & HOOK_PAINT))
+  if((pso->iType!=STYPE_BITMAP) && (psurf->flags & HOOK_PAINT))
   {
     // Call the driver's DrvPaint
-    SURFACE_LockBitmapBits(psurf);
-    MouseSafetyOnDrawStart(pso, ClipRegion->rclBounds.left,
-                                ClipRegion->rclBounds.top, ClipRegion->rclBounds.right,
-                                                        ClipRegion->rclBounds.bottom);
-
     ret = GDIDEVFUNCS(pso).Paint(
       pso, ClipRegion, Brush, BrushOrigin, Mix);
-    MouseSafetyOnDrawEnd(pso);
-    SURFACE_UnlockBitmapBits(psurf);
     return ret;
   }
   return EngPaint(pso, ClipRegion, Brush, BrushOrigin, Mix );