114{
115 HBITMAP bmpDst, bmpSrc, oldDst, oldSrc;
120
124
128 info.bmiHeader.biPlanes = 1;
129 info.bmiHeader.biBitCount = 32;
131
132
135
136 if (!bmpSrc || !bmpDst)
137 {
138 skip(
"Failed to create bitmaps");
140 }
141
144
145
150
151
155
156
158 {
160 {
163
165
166 ok(
pt.x == mirrored.
x &&
pt.y == mirrored.
y,
167 "Coodinates: (%d, %d), expected (%ld, %ld), got (%ld, %ld)\n",
168 x,
y, mirrored.
x, mirrored.
y,
pt.x,
pt.y);
169
171
172
175 "Mirrored Coodinates: (%ld, %ld), expected (%d, %d), got (%ld, %ld)\n",
176 mirrored.
x, mirrored.
y,
x,
y,
pt.x,
pt.y);
177 }
178 }
179
181 StretchBlt(
hdcDst, 0, 0,
WIDTH,
WIDTH,
hdcSrc, 0, 0,
WIDTH,
WIDTH,
SRCCOPY);
183 {
185 {
186
188 "Coordinates: (%d, %d), expected (%06X), got (%06X)\n",
190 }
191 }
192
194 StretchBlt(
hdcDst, 0, 0,
WIDTH,
WIDTH,
hdcSrc, 0, 0,
WIDTH,
WIDTH,
SRCCOPY |
NOMIRRORBITMAP);
196
200 {
202 {
203
205 "Coordinates: (%d, %d), expected (%06X), got (%06X)\n",
207 }
208 }
209
213
215
217 "DC Layout is not LAYOUT_RTL | LAYOUT_BITMAPORIENTATIONPRESERVED\n");
219
221 StretchBlt(
hdcDst, 0, 0,
WIDTH,
WIDTH,
hdcSrc, 0, 0,
WIDTH,
WIDTH,
SRCCOPY);
223
225 StretchBlt(
hdcDst, 0, 0,
WIDTH,
WIDTH,
hdcSrc, 0, 0,
WIDTH,
WIDTH,
SRCCOPY |
NOMIRRORBITMAP);
227
231
235
236
239
241 {
243 {
245
247
249 "Expected (%d, %d) got (%ld, %ld)\n",
x,
y,
pt.x,
pt.y);
250 }
251 }
252
254 StretchBlt(
hdcDst, 0, 0,
WIDTH,
WIDTH,
hdcSrc, 0, 0,
WIDTH,
WIDTH,
SRCCOPY);
255 ok(
memcmp(dstBuffer, srcBuffer, nBuf) == 0,
"Bitmaps are not identical\n");
256
259
268}
static void copy(PUINT32 buffer, UINT32 value, int width, int start_x, int start_y, int end_x, int end_y)
static void nomirror_test(PUINT32 dstBuffer, PUINT32 srcBuffer, int width, int line)
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
static void cleanup(void)
static VOID NTAPI BitBlt(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Width, _In_ ULONG Height, _In_reads_bytes_(Delta *Height) PUCHAR Buffer, _In_ ULONG BitsPerPixel, _In_ ULONG Delta)
DWORD WINAPI GetLayout(_In_ HDC hdc)
DWORD WINAPI SetLayout(_In_ HDC hdc, _In_ DWORD dwLayout)
HBITMAP WINAPI CreateDIBSection(HDC hDC, CONST BITMAPINFO *BitmapInfo, UINT Usage, VOID **Bits, HANDLE hSection, DWORD dwOffset)
BOOL WINAPI DPtoLP(_In_ HDC hdc, _Inout_updates_(c) LPPOINT lppt, _In_ int c)
BOOL WINAPI LPtoDP(_In_ HDC hdc, _Inout_updates_(c) LPPOINT lppt, _In_ int c)
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
BOOL WINAPI StretchBlt(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_opt_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ DWORD)
int WINAPI GetMapMode(_In_ HDC)
BOOL WINAPI DeleteDC(_In_ HDC)
#define LAYOUT_BITMAPORIENTATIONPRESERVED