[ros-diffs] [gschneider] 39337: Testcase extension by Evgeny Boltik <BSTSoft AT narod DOT ru>: - Test StretchBlt ROP codes similar to BitBlt - Offset drawing coordinates with SetWindowOrgEx - Show an overview of several hatched brushes - This was used to test r39336, r39332 and r39326 and the src&dst StretchBlt ROP support

gschneider at svn.reactos.org gschneider at svn.reactos.org
Tue Feb 3 17:11:32 CET 2009


Author: gschneider
Date: Tue Feb  3 10:11:31 2009
New Revision: 39337

URL: http://svn.reactos.org/svn/reactos?rev=39337&view=rev
Log:
Testcase extension by Evgeny Boltik <BSTSoft AT narod DOT ru>:
- Test StretchBlt ROP codes similar to BitBlt
- Offset drawing coordinates with SetWindowOrgEx
- Show an overview of several hatched brushes
- This was used to test r39336, r39332 and r39326 and the src&dst StretchBlt ROP support

Modified:
    trunk/rostests/dibtests/bltrop/bltrop.c

Modified: trunk/rostests/dibtests/bltrop/bltrop.c
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/dibtests/bltrop/bltrop.c?rev=39337&r1=39336&r2=39337&view=diff
==============================================================================
--- trunk/rostests/dibtests/bltrop/bltrop.c [iso-8859-1] (original)
+++ trunk/rostests/dibtests/bltrop/bltrop.c [iso-8859-1] Tue Feb  3 10:11:31 2009
@@ -39,7 +39,40 @@
             /* fill destination with brush */
             brush = CreateHatchBrush(HS_DIAGCROSS, RGB(255,0,0));
             SelectObject(hdc, brush);
-            PatBlt(hdc, 0, 0, 4*bitmap.bmWidth, 4*bitmap.bmHeight, PATCOPY);
+            PatBlt(hdc, 30, 0, 4*bitmap.bmWidth*2, 4*bitmap.bmHeight, PATCOPY);
+
+            /* hatched brushes */
+            INT l = 66;
+            brush = CreateHatchBrush(HS_DIAGCROSS, RGB(255,0,0));
+            SelectObject(hdc, brush);
+            PatBlt(hdc, 0, 0, 30, l, PATCOPY);
+            DeleteObject(brush);
+
+            brush = CreateHatchBrush(HS_CROSS, RGB(255,0,0));
+            SelectObject(hdc, brush);
+            PatBlt(hdc, 0, 1*l, 30, l, PATCOPY);
+            DeleteObject(brush);
+
+            brush = CreateHatchBrush(HS_FDIAGONAL, RGB(255,0,0));
+            SelectObject(hdc, brush);
+            PatBlt(hdc, 0, 2*l, 30, l, PATCOPY);
+            DeleteObject(brush);
+
+            brush = CreateHatchBrush(HS_BDIAGONAL, RGB(255,0,0));
+            SelectObject(hdc, brush);
+            PatBlt(hdc, 0, 3*l, 30, l, PATCOPY);
+            DeleteObject(brush);
+
+            brush = CreateHatchBrush(HS_VERTICAL, RGB(255,0,0));
+            SelectObject(hdc, brush);  
+            PatBlt(hdc, 0, 4*l, 30, l, PATCOPY);
+            DeleteObject(brush);
+
+            brush = CreateHatchBrush(HS_HORIZONTAL, RGB(255,0,0));
+            SelectObject(hdc, brush);
+            PatBlt(hdc, 0, 5*l, 30, l, PATCOPY);
+            DeleteObject(brush);
+  
             /* set up a second brush */
             brush2 = CreateHatchBrush(HS_VERTICAL, RGB(127,127,127));
 
@@ -47,27 +80,51 @@
             SelectObject(hdc, brush2);
             SetBkColor(hdc, RGB(0, 255, 0));
 
-            /* 15 blt op's */
+            /* 15 blt op's with bitblt */
             SelectObject(hdcMem, hBmpTest);
-            BitBlt(hdc, 0,   0, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, SRCCOPY);
-            BitBlt(hdc, 100, 0, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, DSTINVERT);
-            BitBlt(hdc, 200, 0, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, MERGECOPY);
-            BitBlt(hdc, 300, 0, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, MERGEPAINT);
-
-            BitBlt(hdc, 0,   100, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, NOTSRCCOPY);
-            BitBlt(hdc, 100, 100, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, NOTSRCERASE);
-            BitBlt(hdc, 200, 100, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, PATCOPY);
-            BitBlt(hdc, 300, 100, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, PATINVERT);
-
-            BitBlt(hdc, 0,   200, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, PATPAINT);
-            BitBlt(hdc, 100, 200, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, SRCAND);
-            BitBlt(hdc, 200, 200, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, SRCERASE);
-            BitBlt(hdc, 300, 200, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, SRCINVERT);
-
-            BitBlt(hdc, 0,   300, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, BLACKNESS);
-            BitBlt(hdc, 100, 300, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, SRCPAINT);
-            BitBlt(hdc, 200, 300, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, WHITENESS);
-
+            /* offset coordinates */
+            SetWindowOrgEx(hdc, -10, -10, NULL);
+            BitBlt(hdc, 30,  0, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, SRCCOPY);
+            BitBlt(hdc, 130, 0, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, DSTINVERT);
+            BitBlt(hdc, 230, 0, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, MERGECOPY);
+            BitBlt(hdc, 330, 0, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, MERGEPAINT);
+
+            BitBlt(hdc, 30,  100, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, NOTSRCCOPY);
+            BitBlt(hdc, 130, 100, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, NOTSRCERASE);
+            BitBlt(hdc, 230, 100, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, PATCOPY);
+            BitBlt(hdc, 330, 100, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, PATINVERT);
+
+            BitBlt(hdc, 30,  200, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, PATPAINT);
+            BitBlt(hdc, 130, 200, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, SRCAND);
+            BitBlt(hdc, 230, 200, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, SRCERASE);
+            BitBlt(hdc, 330, 200, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, SRCINVERT);
+
+            BitBlt(hdc, 30,  300, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, BLACKNESS);
+            BitBlt(hdc, 130, 300, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, SRCPAINT);
+            BitBlt(hdc, 230, 300, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, WHITENESS);
+
+            /* 15 blt op's with stretchblt */
+            StretchBlt(hdc, 30+400,  0, bitmap.bmWidth/2, bitmap.bmHeight/2, hdcMem, 0, 0, bitmap.bmWidth, bitmap.bmHeight, SRCCOPY);
+            StretchBlt(hdc, 130+400, 0, bitmap.bmWidth/2, bitmap.bmHeight/2, hdcMem, 0, 0, bitmap.bmWidth, bitmap.bmHeight, DSTINVERT);
+            StretchBlt(hdc, 230+400, 0, bitmap.bmWidth/2, bitmap.bmHeight/2, hdcMem, 0, 0, bitmap.bmWidth, bitmap.bmHeight, MERGECOPY);
+            StretchBlt(hdc, 330+400, 0, bitmap.bmWidth/2, bitmap.bmHeight/2, hdcMem, 0, 0, bitmap.bmWidth, bitmap.bmHeight, MERGEPAINT);
+
+            StretchBlt(hdc, 30+400,  100, bitmap.bmWidth/2, bitmap.bmHeight/2, hdcMem, 0, 0, bitmap.bmWidth, bitmap.bmHeight, NOTSRCCOPY);
+            StretchBlt(hdc, 130+400, 100, bitmap.bmWidth/2, bitmap.bmHeight/2, hdcMem, 0, 0, bitmap.bmWidth, bitmap.bmHeight, NOTSRCERASE);
+            StretchBlt(hdc, 230+400, 100, bitmap.bmWidth/2, bitmap.bmHeight/2, hdcMem, 0, 0, bitmap.bmWidth, bitmap.bmHeight, PATCOPY);
+            StretchBlt(hdc, 330+400, 100, bitmap.bmWidth/2, bitmap.bmHeight/2, hdcMem, 0, 0, bitmap.bmWidth, bitmap.bmHeight, PATINVERT);
+
+            StretchBlt(hdc, 30+400,  200, bitmap.bmWidth/2, bitmap.bmHeight/2, hdcMem, 0, 0, bitmap.bmWidth, bitmap.bmHeight, PATPAINT);
+            StretchBlt(hdc, 130+400, 200, bitmap.bmWidth/2, bitmap.bmHeight/2, hdcMem, 0, 0, bitmap.bmWidth, bitmap.bmHeight, SRCAND);
+            StretchBlt(hdc, 230+400, 200, bitmap.bmWidth/2, bitmap.bmHeight/2, hdcMem, 0, 0, bitmap.bmWidth, bitmap.bmHeight, SRCERASE);
+            StretchBlt(hdc, 330+400, 200, bitmap.bmWidth/2, bitmap.bmHeight/2, hdcMem, 0, 0, bitmap.bmWidth, bitmap.bmHeight, SRCINVERT);
+
+            StretchBlt(hdc, 30+400,  300, bitmap.bmWidth/2, bitmap.bmHeight/2, hdcMem, 0, 0, bitmap.bmWidth, bitmap.bmHeight, BLACKNESS);
+            StretchBlt(hdc, 130+400, 300, bitmap.bmWidth/2, bitmap.bmHeight/2, hdcMem, 0, 0, bitmap.bmWidth, bitmap.bmHeight, SRCPAINT);
+            StretchBlt(hdc, 230+400, 300, bitmap.bmWidth/2, bitmap.bmHeight/2, hdcMem, 0, 0, bitmap.bmWidth, bitmap.bmHeight, WHITENESS);
+
+            DeleteObject(brush);
+            DeleteObject(brush2);
             DeleteDC(hdcMem);
             EndPaint(hWnd, &ps);
             break;
@@ -119,7 +176,7 @@
                          WS_OVERLAPPEDWINDOW,
                          CW_USEDEFAULT,
                          CW_USEDEFAULT,
-                         440,
+                         840,
                          440,
                          NULL,
                          NULL,



More information about the Ros-diffs mailing list