Author: fireball
Date: Mon Oct 12 20:10:24 2009
New Revision: 43409
URL:
http://svn.reactos.org/svn/reactos?rev=43409&view=rev
Log:
- Remove PatBlt driver routine and instead call it from StretchBlt handler. Unregresses
arwinss after syncing. Mouse cursor is still totally broken though.
Modified:
branches/arwinss/reactos/dll/win32/winent.drv/gdidrv.c
Modified: branches/arwinss/reactos/dll/win32/winent.drv/gdidrv.c
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/winen…
==============================================================================
--- branches/arwinss/reactos/dll/win32/winent.drv/gdidrv.c [iso-8859-1] (original)
+++ branches/arwinss/reactos/dll/win32/winent.drv/gdidrv.c [iso-8859-1] Mon Oct 12
20:10:24 2009
@@ -398,31 +398,6 @@
return FALSE;
}
-#if 0
-BOOL CDECL RosDrv_PatBlt( NTDRV_PDEVICE *physDev, INT left, INT top, INT width, INT
height, DWORD rop )
-{
- POINT pts[2], ptBrush;
-
- /* Map coordinates */
- pts[0].x = left;
- pts[0].y = top;
- pts[1].x = left + width;
- pts[1].y = top + height;
-
- LPtoDP(physDev->hUserDC, pts, 2);
- width = pts[1].x - pts[0].x;
- height = pts[1].y - pts[0].y;
- left = pts[0].x;
- top = pts[0].y;
-
- /* Update brush origin */
- GetBrushOrgEx(physDev->hUserDC, &ptBrush);
- RosGdiSetBrushOrg(physDev->hKernelDC, ptBrush.x, ptBrush.y);
-
- return RosGdiPatBlt(physDev->hKernelDC, left, top, width, height, rop);
-}
-#endif
-
BOOL CDECL RosDrv_Pie( NTDRV_PDEVICE *physDev, INT left, INT top, INT right, INT bottom,
INT xstart, INT ystart, INT xend, INT yend )
{
@@ -777,8 +752,16 @@
GetBrushOrgEx(physDevDst->hUserDC, &ptBrush);
RosGdiSetBrushOrg(physDevDst->hKernelDC, ptBrush.x, ptBrush.y);
- return RosGdiStretchBlt(physDevDst->hKernelDC, xDst, yDst, widthDst, heightDst,
- physDevSrc->hKernelDC, xSrc, ySrc, widthSrc, heightSrc, rop);
+ if (!physDevSrc)
+ {
+ /* This is PatBlt */
+ return RosGdiPatBlt(physDevDst->hKernelDC, xDst, yDst, widthDst, heightDst,
rop);
+ }
+ else
+ {
+ return RosGdiStretchBlt(physDevDst->hKernelDC, xDst, yDst, widthDst,
heightDst,
+ physDevSrc->hKernelDC, xSrc, ySrc, widthSrc, heightSrc, rop);
+ }
}
BOOL CDECL RosDrv_SwapBuffers(NTDRV_PDEVICE *physDev)