18832f19b488e6de2eaa1b6380748703f78997ef
2 * PROJECT: ReactOS api tests
3 * LICENSE: GPL - See COPYING in the top level directory
4 * PURPOSE: Test for ...
5 * PROGRAMMERS: Timo Kreuzer
13 PULONG gpulTargetBits
;
16 void Test_PatBlt_Params()
22 /* Test a rop that contains only the operation index */
23 ret
= PatBlt(hdcTarget
, 0, 0, 1, 1, PATCOPY
& 0x00FF0000);
26 /* Test an invalid rop */
28 ok_long(PatBlt(hdcTarget
, 0, 0, 1, 1, SRCCOPY
) , 0);
32 for (i
= 0; i
< 256; i
++)
35 ret
= PatBlt(hdcTarget
, 0, 0, 1, 1, rop
);
37 /* Only these should succeed (they use no source) */
38 if ((i
== 0) || (i
== 5) || (i
== 10) || (i
== 15) || (i
== 80) ||
39 (i
== 85) || (i
== 90) || (i
== 95) || (i
== 160) || (i
== 165) ||
40 (i
== 170) || (i
== 175) || (i
== 240) || (i
== 245) ||
41 (i
== 250) || (i
== 255))
43 ok(ret
== 1, "index %ld failed, but should succeed\n", i
);
47 ok(ret
== 0, "index %ld succeeded, but should fail\n", i
);
51 /* Test quaternary rop, the background part is simply ignored */
52 ret
= PatBlt(hdcTarget
, 0, 0, 1, 1, MAKEROP4(PATCOPY
, PATINVERT
));
54 ret
= PatBlt(hdcTarget
, 0, 0, 1, 1, MAKEROP4(PATCOPY
, SRCCOPY
));
56 ret
= PatBlt(hdcTarget
, 0, 0, 1, 1, MAKEROP4(SRCCOPY
, PATCOPY
));
60 hdc
= CreateICA("DISPLAY", NULL
, NULL
, NULL
);
63 ok_long(PatBlt(hdc
, 0, 0, 1, 1, PATCOPY
), 1);
67 /* Test a mem DC without selecting a bitmap */
68 hdc
= CreateCompatibleDC(NULL
);
70 ok_long(PatBlt(hdc
, 0, 0, 1, 1, PATCOPY
), 1);
78 void Test_BrushOrigin()
80 ULONG aulBits
[2] = {0x5555AAAA, 0};
85 hbmp
= CreateBitmap(2, 2, 1, 1, aulBits
);
88 printf("Couln not create a bitmap\n");
92 hbr
= CreatePatternBrush(hbmp
);
95 printf("Couln not create a bitmap\n");
99 if (!SelectObject(hdcTarget
, hbr
))
101 printf("failed to select pattern brush\n");
105 ret
= PatBlt(hdcTarget
, 0, 0, 2, 2, PATCOPY
);
107 ok_long(gpulTargetBits
[0], 0xffffff);
108 ok_long(gpulTargetBits
[1], 0);
109 ok_long(gpulTargetBits
[16], 0);
110 ok_long(gpulTargetBits
[17], 0xffffff);
111 //printf("0x%lx, 0x%lx\n", gpulTargetBits[0], gpulTargetBits[1]);
113 ret
= PatBlt(hdcTarget
, 1, 0, 2, 2, PATCOPY
);
115 ok_long(gpulTargetBits
[0], 0xffffff);
116 ok_long(gpulTargetBits
[1], 0);
117 ok_long(gpulTargetBits
[2], 0xffffff);
118 ok_long(gpulTargetBits
[16], 0);
119 ok_long(gpulTargetBits
[17], 0xffffff);
120 ok_long(gpulTargetBits
[18], 0);
128 bmi
.bmiHeader
.biSize
= sizeof(BITMAPINFOHEADER
);
129 bmi
.bmiHeader
.biWidth
= 16;
130 bmi
.bmiHeader
.biHeight
= -16;
131 bmi
.bmiHeader
.biPlanes
= 1;
132 bmi
.bmiHeader
.biBitCount
= 32;
133 bmi
.bmiHeader
.biCompression
= BI_RGB
;
134 bmi
.bmiHeader
.biSizeImage
= 0;
135 bmi
.bmiHeader
.biXPelsPerMeter
= 1;
136 bmi
.bmiHeader
.biYPelsPerMeter
= 1;
137 bmi
.bmiHeader
.biClrUsed
= 0;
138 bmi
.bmiHeader
.biClrImportant
= 0;
139 ghbmpTarget
= CreateDIBSection(NULL
,
142 (PVOID
*)&gpulTargetBits
,
147 printf("Couln not create target bitmap\n");
151 hdcTarget
= CreateCompatibleDC(0);
154 printf("Couln not create target dc\n");
159 if (!SelectObject(hdcTarget
, ghbmpTarget
))
161 printf("Failed to select bitmap\n");
165 Test_PatBlt_Params();