[CMAKE]
[reactos.git] / dll / win32 / gdi32 / objects / brush.c
index dd4d305..185bed6 100644 (file)
@@ -16,95 +16,95 @@ ExtCreatePen(DWORD dwPenStyle,
              DWORD dwStyleCount,
              CONST DWORD *lpStyle)
 {
-   PVOID lpPackedDIB = NULL;
-   HPEN hPen = NULL;
-   PBITMAPINFO pConvertedInfo = NULL;
-   UINT ConvertedInfoSize = 0, lbStyle;
-   BOOL Hit = FALSE;
-
-   if ((dwPenStyle & PS_STYLE_MASK) == PS_USERSTYLE)
-   {
-      if(!lpStyle)
-      {
-         SetLastError(ERROR_INVALID_PARAMETER);
-         return 0;
-      }
-   } // This is an enhancement and prevents a call to kernel space.
-   else if ((dwPenStyle & PS_STYLE_MASK) == PS_INSIDEFRAME &&
-            (dwPenStyle & PS_TYPE_MASK) != PS_GEOMETRIC)
-   {
-      SetLastError(ERROR_INVALID_PARAMETER);
-      return 0;
-   }
-   else if ((dwPenStyle & PS_STYLE_MASK) == PS_ALTERNATE &&
-            (dwPenStyle & PS_TYPE_MASK) != PS_COSMETIC)
-   {
-      SetLastError(ERROR_INVALID_PARAMETER);
-      return 0;
-   }
-   else
-   {
-      if (dwStyleCount || lpStyle)
-      {
-         SetLastError(ERROR_INVALID_PARAMETER);
-         return 0;
-      }
-   }
-
-   lbStyle = lplb->lbStyle;
-
-   if (lplb->lbStyle > BS_HATCHED)   
-   {
-      if (lplb->lbStyle == BS_PATTERN)
-      {
-         pConvertedInfo = (PBITMAPINFO)lplb->lbHatch;
-         if (!pConvertedInfo) return 0;
-      }
-      else
-      {
-         if ((lplb->lbStyle == BS_DIBPATTERN) || (lplb->lbStyle == BS_DIBPATTERNPT))
-         {
-            if (lplb->lbStyle == BS_DIBPATTERN)
+    PVOID lpPackedDIB = NULL;
+    HPEN hPen = NULL;
+    PBITMAPINFO pConvertedInfo = NULL;
+    UINT ConvertedInfoSize = 0, lbStyle;
+    BOOL Hit = FALSE;
+
+    if ((dwPenStyle & PS_STYLE_MASK) == PS_USERSTYLE)
+    {
+        if(!lpStyle)
+        {
+            SetLastError(ERROR_INVALID_PARAMETER);
+            return 0;
+        }
+    } // This is an enhancement and prevents a call to kernel space.
+    else if ((dwPenStyle & PS_STYLE_MASK) == PS_INSIDEFRAME &&
+             (dwPenStyle & PS_TYPE_MASK) != PS_GEOMETRIC)
+    {
+        SetLastError(ERROR_INVALID_PARAMETER);
+        return 0;
+    }
+    else if ((dwPenStyle & PS_STYLE_MASK) == PS_ALTERNATE &&
+             (dwPenStyle & PS_TYPE_MASK) != PS_COSMETIC)
+    {
+        SetLastError(ERROR_INVALID_PARAMETER);
+        return 0;
+    }
+    else
+    {
+        if (dwStyleCount || lpStyle)
+        {
+            SetLastError(ERROR_INVALID_PARAMETER);
+            return 0;
+        }
+    }
+
+    lbStyle = lplb->lbStyle;
+
+    if (lplb->lbStyle > BS_HATCHED)
+    {
+        if (lplb->lbStyle == BS_PATTERN)
+        {
+            pConvertedInfo = (PBITMAPINFO)lplb->lbHatch;
+            if (!pConvertedInfo) return 0;
+        }
+        else
+        {
+            if ((lplb->lbStyle == BS_DIBPATTERN) || (lplb->lbStyle == BS_DIBPATTERNPT))
             {
-               lbStyle = BS_DIBPATTERNPT;
-               lpPackedDIB = GlobalLock((HGLOBAL)lplb->lbHatch);
-               if (lpPackedDIB == NULL) return 0;
+                if (lplb->lbStyle == BS_DIBPATTERN)
+                {
+                    lbStyle = BS_DIBPATTERNPT;
+                    lpPackedDIB = GlobalLock((HGLOBAL)lplb->lbHatch);
+                    if (lpPackedDIB == NULL) return 0;
+                }
+                pConvertedInfo = ConvertBitmapInfo((PBITMAPINFO)lpPackedDIB,
+                                                   lplb->lbColor,
+                                                   &ConvertedInfoSize,
+                                                   TRUE);
+                Hit = TRUE; // We converted DIB.
             }
-            pConvertedInfo = ConvertBitmapInfo((PBITMAPINFO)lpPackedDIB,
-                                                          lplb->lbColor,
-                                                     &ConvertedInfoSize,
-                                                                   TRUE);
-            Hit = TRUE; // We converted DIB.
-         }
-         else
-            pConvertedInfo = (PBITMAPINFO)lpStyle;
-      }
-   }
-   else
-     pConvertedInfo = (PBITMAPINFO)lplb->lbHatch;
-   
-
-   hPen = NtGdiExtCreatePen(dwPenStyle,
-                               dwWidth,
-                               lbStyle,
-                         lplb->lbColor,
-                         lplb->lbHatch,
-             (ULONG_PTR)pConvertedInfo,
-                          dwStyleCount,
-                       (PULONG)lpStyle,
-                     ConvertedInfoSize,
-                                 FALSE,
-                                  NULL);
-
-
-   if (lplb->lbStyle == BS_DIBPATTERN) GlobalUnlock((HGLOBAL)lplb->lbHatch);
-
-   if (Hit)
-   {
-      if ((PBITMAPINFO)lpPackedDIB != pConvertedInfo)
-         RtlFreeHeap(RtlGetProcessHeap(), 0, pConvertedInfo);
-   }
-   return hPen;
+            else
+                pConvertedInfo = (PBITMAPINFO)lpStyle;
+        }
+    }
+    else
+        pConvertedInfo = (PBITMAPINFO)lplb->lbHatch;
+
+
+    hPen = NtGdiExtCreatePen(dwPenStyle,
+                             dwWidth,
+                             lbStyle,
+                             lplb->lbColor,
+                             lplb->lbHatch,
+                             (ULONG_PTR)pConvertedInfo,
+                             dwStyleCount,
+                             (PULONG)lpStyle,
+                             ConvertedInfoSize,
+                             FALSE,
+                             NULL);
+
+
+    if (lplb->lbStyle == BS_DIBPATTERN) GlobalUnlock((HGLOBAL)lplb->lbHatch);
+
+    if (Hit)
+    {
+        if ((PBITMAPINFO)lpPackedDIB != pConvertedInfo)
+            RtlFreeHeap(RtlGetProcessHeap(), 0, pConvertedInfo);
+    }
+    return hPen;
 }
 
 /*
@@ -112,31 +112,31 @@ ExtCreatePen(DWORD dwPenStyle,
  */
 HBRUSH WINAPI
 CreateDIBPatternBrush(
-   HGLOBAL hglbDIBPacked,
-   UINT fuColorSpec)
+    HGLOBAL hglbDIBPacked,
+    UINT fuColorSpec)
 {
-   PVOID lpPackedDIB;
-   HBRUSH hBrush = NULL;
-   PBITMAPINFO pConvertedInfo;
-   UINT ConvertedInfoSize;
-
-   lpPackedDIB = GlobalLock(hglbDIBPacked);
-   if (lpPackedDIB == NULL)
-      return 0;
-
-   pConvertedInfo = ConvertBitmapInfo((PBITMAPINFO)lpPackedDIB, fuColorSpec,
-                                      &ConvertedInfoSize, TRUE);
-   if (pConvertedInfo)
-   {
-      hBrush = NtGdiCreateDIBBrush(pConvertedInfo, fuColorSpec,
-                                   ConvertedInfoSize, FALSE, FALSE, lpPackedDIB);
-      if ((PBITMAPINFO)lpPackedDIB != pConvertedInfo)
-         RtlFreeHeap(RtlGetProcessHeap(), 0, pConvertedInfo);
-   }
-
-   GlobalUnlock(hglbDIBPacked);
-
-   return hBrush;
+    PVOID lpPackedDIB;
+    HBRUSH hBrush = NULL;
+    PBITMAPINFO pConvertedInfo;
+    UINT ConvertedInfoSize;
+
+    lpPackedDIB = GlobalLock(hglbDIBPacked);
+    if (lpPackedDIB == NULL)
+        return 0;
+
+    pConvertedInfo = ConvertBitmapInfo((PBITMAPINFO)lpPackedDIB, fuColorSpec,
+                                       &ConvertedInfoSize, TRUE);
+    if (pConvertedInfo)
+    {
+        hBrush = NtGdiCreateDIBBrush(pConvertedInfo, fuColorSpec,
+                                     ConvertedInfoSize, FALSE, FALSE, lpPackedDIB);
+        if ((PBITMAPINFO)lpPackedDIB != pConvertedInfo)
+            RtlFreeHeap(RtlGetProcessHeap(), 0, pConvertedInfo);
+    }
+
+    GlobalUnlock(hglbDIBPacked);
+
+    return hBrush;
 }
 
 /*
@@ -144,27 +144,27 @@ CreateDIBPatternBrush(
  */
 HBRUSH WINAPI
 CreateDIBPatternBrushPt(
-   CONST VOID *lpPackedDIB,
-   UINT fuColorSpec)
+    CONST VOID *lpPackedDIB,
+    UINT fuColorSpec)
 {
-   HBRUSH hBrush = NULL;
-   PBITMAPINFO pConvertedInfo;
-   UINT ConvertedInfoSize;
-
-   if (lpPackedDIB == NULL)
-      return 0;
-
-   pConvertedInfo = ConvertBitmapInfo((PBITMAPINFO)lpPackedDIB, fuColorSpec,
-                                      &ConvertedInfoSize, TRUE);
-   if (pConvertedInfo)
-   {
-      hBrush = NtGdiCreateDIBBrush(pConvertedInfo, fuColorSpec,
-                                   ConvertedInfoSize, FALSE, FALSE, (PVOID)lpPackedDIB);
-      if ((PBITMAPINFO)lpPackedDIB != pConvertedInfo)
-         RtlFreeHeap(RtlGetProcessHeap(), 0, pConvertedInfo);
-   }
-
-   return hBrush;
+    HBRUSH hBrush = NULL;
+    PBITMAPINFO pConvertedInfo;
+    UINT ConvertedInfoSize;
+
+    if (lpPackedDIB == NULL)
+        return 0;
+
+    pConvertedInfo = ConvertBitmapInfo((PBITMAPINFO)lpPackedDIB, fuColorSpec,
+                                       &ConvertedInfoSize, TRUE);
+    if (pConvertedInfo)
+    {
+        hBrush = NtGdiCreateDIBBrush(pConvertedInfo, fuColorSpec,
+                                     ConvertedInfoSize, FALSE, FALSE, (PVOID)lpPackedDIB);
+        if ((PBITMAPINFO)lpPackedDIB != pConvertedInfo)
+            RtlFreeHeap(RtlGetProcessHeap(), 0, pConvertedInfo);
+    }
+
+    return hBrush;
 }
 
 /*
@@ -204,56 +204,56 @@ CreateSolidBrush(IN COLORREF crColor)
  */
 HBRUSH WINAPI
 CreateBrushIndirect(
-   CONST LOGBRUSH *LogBrush)
+    CONST LOGBRUSH *LogBrush)
 {
-   HBRUSH hBrush;
-
-   switch (LogBrush->lbStyle)
-   {
-      case BS_DIBPATTERN8X8:
-      case BS_DIBPATTERN:
-         hBrush = CreateDIBPatternBrush((HGLOBAL)LogBrush->lbHatch,
-                                        LogBrush->lbColor);
-         break;
-
-      case BS_DIBPATTERNPT:
-         hBrush = CreateDIBPatternBrushPt((PVOID)LogBrush->lbHatch,
-                                          LogBrush->lbColor);
-         break;
-
-      case BS_PATTERN:
-         hBrush = NtGdiCreatePatternBrushInternal((HBITMAP)LogBrush->lbHatch,
-                                                  FALSE,
-                                                  FALSE);
-         break;
-
-      case BS_PATTERN8X8:
-         hBrush = NtGdiCreatePatternBrushInternal((HBITMAP)LogBrush->lbHatch,
-                                                  FALSE,
-                                                  TRUE);
-         break;
-
-      case BS_SOLID:
-         hBrush = NtGdiCreateSolidBrush(LogBrush->lbColor, 0);
-         break;
-
-      case BS_HATCHED:
-         hBrush = NtGdiCreateHatchBrushInternal(LogBrush->lbHatch,
-                                                LogBrush->lbColor,
-                                                FALSE);
-         break;
-
-      case BS_NULL:
-         hBrush = NtGdiGetStockObject(NULL_BRUSH);
-         break;
-
-      default:
-         SetLastError(ERROR_INVALID_PARAMETER);
-         hBrush = NULL;
-         break;
-   }
-
-   return hBrush;
+    HBRUSH hBrush;
+
+    switch (LogBrush->lbStyle)
+    {
+    case BS_DIBPATTERN8X8:
+    case BS_DIBPATTERN:
+        hBrush = CreateDIBPatternBrush((HGLOBAL)LogBrush->lbHatch,
+                                       LogBrush->lbColor);
+        break;
+
+    case BS_DIBPATTERNPT:
+        hBrush = CreateDIBPatternBrushPt((PVOID)LogBrush->lbHatch,
+                                         LogBrush->lbColor);
+        break;
+
+    case BS_PATTERN:
+        hBrush = NtGdiCreatePatternBrushInternal((HBITMAP)LogBrush->lbHatch,
+                 FALSE,
+                 FALSE);
+        break;
+
+    case BS_PATTERN8X8:
+        hBrush = NtGdiCreatePatternBrushInternal((HBITMAP)LogBrush->lbHatch,
+                 FALSE,
+                 TRUE);
+        break;
+
+    case BS_SOLID:
+        hBrush = NtGdiCreateSolidBrush(LogBrush->lbColor, 0);
+        break;
+
+    case BS_HATCHED:
+        hBrush = NtGdiCreateHatchBrushInternal(LogBrush->lbHatch,
+                                               LogBrush->lbColor,
+                                               FALSE);
+        break;
+
+    case BS_NULL:
+        hBrush = NtGdiGetStockObject(NULL_BRUSH);
+        break;
+
+    default:
+        SetLastError(ERROR_INVALID_PARAMETER);
+        hBrush = NULL;
+        break;
+    }
+
+    return hBrush;
 }
 
 BOOL
@@ -289,9 +289,9 @@ int
 WINAPI
 GetROP2(HDC hdc)
 {
-  PDC_ATTR Dc_Attr;
-  if (!GdiGetHandleUserData((HGDIOBJ) hdc, GDI_OBJECT_TYPE_DC, (PVOID) &Dc_Attr)) return 0;
-  return Dc_Attr->jROP2;
+    PDC_ATTR Dc_Attr;
+    if (!GdiGetHandleUserData((HGDIOBJ) hdc, GDI_OBJECT_TYPE_DC, (PVOID) &Dc_Attr)) return 0;
+    return Dc_Attr->jROP2;
 }
 
 /*
@@ -302,46 +302,46 @@ WINAPI
 SetROP2(HDC hdc,
         int fnDrawMode)
 {
-  PDC_ATTR Dc_Attr;
-  INT Old_ROP2;
-  
+    PDC_ATTR Dc_Attr;
+    INT Old_ROP2;
+
 #if 0
 // Handle something other than a normal dc object.
- if (GDI_HANDLE_GET_TYPE(hdc) != GDI_OBJECT_TYPE_DC)
- {
-    if (GDI_HANDLE_GET_TYPE(hdc) == GDI_OBJECT_TYPE_METADC)
-      return MFDRV_SetROP2( hdc, fnDrawMode);
-    else
+    if (GDI_HANDLE_GET_TYPE(hdc) != GDI_OBJECT_TYPE_DC)
     {
-      PLDC pLDC = GdiGetLDC(hdc);
-      if ( !pLDC )
-      {
-         SetLastError(ERROR_INVALID_HANDLE);
-         return FALSE;
-      }
-      if (pLDC->iType == LDC_EMFLDC)
-      {
-        return EMFDRV_SetROP2(( hdc, fnDrawMode);
-      }
-      return FALSE;
+        if (GDI_HANDLE_GET_TYPE(hdc) == GDI_OBJECT_TYPE_METADC)
+            return MFDRV_SetROP2( hdc, fnDrawMode);
+        else
+        {
+            PLDC pLDC = GdiGetLDC(hdc);
+            if ( !pLDC )
+            {
+                SetLastError(ERROR_INVALID_HANDLE);
+                return FALSE;
+            }
+            if (pLDC->iType == LDC_EMFLDC)
+            {
+                return EMFDRV_SetROP2(( hdc, fnDrawMode);
+                                  }
+                                  return FALSE;
+        }
     }
- }
 #endif
- if (!GdiGetHandleUserData((HGDIOBJ) hdc, GDI_OBJECT_TYPE_DC, (PVOID) &Dc_Attr)) return FALSE;
   if (!GdiGetHandleUserData((HGDIOBJ) hdc, GDI_OBJECT_TYPE_DC, (PVOID) &Dc_Attr)) return FALSE;
 
- if (NtCurrentTeb()->GdiTebBatch.HDC == hdc)
- {
-    if (Dc_Attr->ulDirty_ & DC_MODE_DIRTY)
+    if (NtCurrentTeb()->GdiTebBatch.HDC == hdc)
     {
-       NtGdiFlush();
-       Dc_Attr->ulDirty_ &= ~DC_MODE_DIRTY;
+        if (Dc_Attr->ulDirty_ & DC_MODE_DIRTY)
+        {
+            NtGdiFlush();
+            Dc_Attr->ulDirty_ &= ~DC_MODE_DIRTY;
+        }
     }
- }
 
- Old_ROP2 = Dc_Attr->jROP2;
- Dc_Attr->jROP2 = fnDrawMode;
   Old_ROP2 = Dc_Attr->jROP2;
   Dc_Attr->jROP2 = fnDrawMode;
 
- return Old_ROP2;
   return Old_ROP2;
 }
 
 /*
@@ -352,15 +352,15 @@ BOOL
 WINAPI
 GetBrushOrgEx(HDC hdc,LPPOINT pt)
 {
-  PDC_ATTR Dc_Attr;
-
-  if (!GdiGetHandleUserData((HGDIOBJ) hdc, GDI_OBJECT_TYPE_DC, (PVOID) &Dc_Attr)) return FALSE;
-  if (pt)
-  {
-     pt->x = Dc_Attr->ptlBrushOrigin.x;
-     pt->y = Dc_Attr->ptlBrushOrigin.y;
-  }
-  return TRUE;
+    PDC_ATTR Dc_Attr;
+
+    if (!GdiGetHandleUserData((HGDIOBJ) hdc, GDI_OBJECT_TYPE_DC, (PVOID) &Dc_Attr)) return FALSE;
+    if (pt)
+    {
+        pt->x = Dc_Attr->ptlBrushOrigin.x;
+        pt->y = Dc_Attr->ptlBrushOrigin.y;
+    }
+    return TRUE;
 }
 
 /*
@@ -373,62 +373,62 @@ SetBrushOrgEx(HDC hdc,
               int nYOrg,
               LPPOINT lppt)
 {
-  PDC_ATTR Dc_Attr;
+    PDC_ATTR Dc_Attr;
 #if 0
 // Handle something other than a normal dc object.
- if (GDI_HANDLE_GET_TYPE(hdc) != GDI_OBJECT_TYPE_DC)
- {
-    PLDC pLDC = GdiGetLDC(hdc);
-    if ( (pLDC == NULL) || (GDI_HANDLE_GET_TYPE(hdc) == GDI_OBJECT_TYPE_METADC))
-    {
-       SetLastError(ERROR_INVALID_HANDLE);
-       return FALSE;
-    }
-    if (pLDC->iType == LDC_EMFLDC)
+    if (GDI_HANDLE_GET_TYPE(hdc) != GDI_OBJECT_TYPE_DC)
     {
-      return EMFDRV_SetBrushOrg(hdc, nXOrg, nYOrg); // ReactOS only.
+        PLDC pLDC = GdiGetLDC(hdc);
+        if ( (pLDC == NULL) || (GDI_HANDLE_GET_TYPE(hdc) == GDI_OBJECT_TYPE_METADC))
+        {
+            SetLastError(ERROR_INVALID_HANDLE);
+            return FALSE;
+        }
+        if (pLDC->iType == LDC_EMFLDC)
+        {
+            return EMFDRV_SetBrushOrg(hdc, nXOrg, nYOrg); // ReactOS only.
+        }
+        return FALSE;
     }
-    return FALSE;
- }
 #endif
- if (GdiGetHandleUserData((HGDIOBJ) hdc, GDI_OBJECT_TYPE_DC, (PVOID) &Dc_Attr))
- {
-    PTEB pTeb = NtCurrentTeb();
-    if (lppt)
-    {
-       lppt->x = Dc_Attr->ptlBrushOrigin.x;
-       lppt->y = Dc_Attr->ptlBrushOrigin.y;
-    }
-    if ((nXOrg == Dc_Attr->ptlBrushOrigin.x) && (nYOrg == Dc_Attr->ptlBrushOrigin.y))
-       return TRUE;
-
-    if(((pTeb->GdiTebBatch.HDC == NULL) || (pTeb->GdiTebBatch.HDC == hdc)) &&
-       ((pTeb->GdiTebBatch.Offset + sizeof(GDIBSSETBRHORG)) <= GDIBATCHBUFSIZE) &&
-       (!(Dc_Attr->ulDirty_ & DC_DIBSECTION)) )
+    if (GdiGetHandleUserData((HGDIOBJ) hdc, GDI_OBJECT_TYPE_DC, (PVOID) &Dc_Attr))
     {
-       PGDIBSSETBRHORG pgSBO = (PGDIBSSETBRHORG)(&pTeb->GdiTebBatch.Buffer[0] +
-                                                      pTeb->GdiTebBatch.Offset);
-
-       Dc_Attr->ptlBrushOrigin.x = nXOrg;
-       Dc_Attr->ptlBrushOrigin.y = nYOrg;
-
-       pgSBO->gbHdr.Cmd = GdiBCSetBrushOrg;
-       pgSBO->gbHdr.Size = sizeof(GDIBSSETBRHORG);
-       pgSBO->ptlBrushOrigin = Dc_Attr->ptlBrushOrigin;
-       
-       pTeb->GdiTebBatch.Offset += sizeof(GDIBSSETBRHORG);
-       pTeb->GdiTebBatch.HDC = hdc;
-       pTeb->GdiBatchCount++;
-       DPRINT("Loading the Flush!! COUNT-> %d\n", pTeb->GdiBatchCount);
-
-       if (pTeb->GdiBatchCount >= GDI_BatchLimit)
-       {
-       DPRINT("Call GdiFlush!!\n");
-       NtGdiFlush();
-       DPRINT("Exit GdiFlush!!\n");
-       }
-       return TRUE;
+        PTEB pTeb = NtCurrentTeb();
+        if (lppt)
+        {
+            lppt->x = Dc_Attr->ptlBrushOrigin.x;
+            lppt->y = Dc_Attr->ptlBrushOrigin.y;
+        }
+        if ((nXOrg == Dc_Attr->ptlBrushOrigin.x) && (nYOrg == Dc_Attr->ptlBrushOrigin.y))
+            return TRUE;
+
+        if(((pTeb->GdiTebBatch.HDC == NULL) || (pTeb->GdiTebBatch.HDC == hdc)) &&
+                ((pTeb->GdiTebBatch.Offset + sizeof(GDIBSSETBRHORG)) <= GDIBATCHBUFSIZE) &&
+                (!(Dc_Attr->ulDirty_ & DC_DIBSECTION)) )
+        {
+            PGDIBSSETBRHORG pgSBO = (PGDIBSSETBRHORG)(&pTeb->GdiTebBatch.Buffer[0] +
+                                    pTeb->GdiTebBatch.Offset);
+
+            Dc_Attr->ptlBrushOrigin.x = nXOrg;
+            Dc_Attr->ptlBrushOrigin.y = nYOrg;
+
+            pgSBO->gbHdr.Cmd = GdiBCSetBrushOrg;
+            pgSBO->gbHdr.Size = sizeof(GDIBSSETBRHORG);
+            pgSBO->ptlBrushOrigin = Dc_Attr->ptlBrushOrigin;
+
+            pTeb->GdiTebBatch.Offset += sizeof(GDIBSSETBRHORG);
+            pTeb->GdiTebBatch.HDC = hdc;
+            pTeb->GdiBatchCount++;
+            DPRINT("Loading the Flush!! COUNT-> %d\n", pTeb->GdiBatchCount);
+
+            if (pTeb->GdiBatchCount >= GDI_BatchLimit)
+            {
+                DPRINT("Call GdiFlush!!\n");
+                NtGdiFlush();
+                DPRINT("Exit GdiFlush!!\n");
+            }
+            return TRUE;
+        }
     }
- }
- return NtGdiSetBrushOrg(hdc,nXOrg,nYOrg,lppt);
+    return NtGdiSetBrushOrg(hdc,nXOrg,nYOrg,lppt);
 }