21#define BLACK_PIXEL 0x000000
22#define BLUE_PIXEL 0x0000FF
23#define GREEN_PIXEL 0x00FF00
24#define RED_PIXEL 0xFF0000
25#define WHITE_PIXEL 0xFFFFFF
99 "Expected blank (black) pixel (0x0), got (%06X), coordinates (%d, %d). line: %d\n",
105 "Coordinates: (%d, %d), expected (%06X), got (%06X). line: %d\n",
115 HBITMAP bmpDst, bmpSrc, oldDst, oldSrc;
128 info.bmiHeader.biPlanes = 1;
129 info.bmiHeader.biBitCount = 32;
136 if (!bmpSrc || !bmpDst)
138 skip(
"Failed to create bitmaps");
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);
175 "Mirrored Coodinates: (%ld, %ld), expected (%d, %d), got (%ld, %ld)\n",
176 mirrored.
x, mirrored.
y,
x,
y,
pt.x,
pt.y);
181 StretchBlt(
hdcDst, 0, 0,
WIDTH,
WIDTH,
hdcSrc, 0, 0,
WIDTH,
WIDTH,
SRCCOPY);
188 "Coordinates: (%d, %d), expected (%06X), got (%06X)\n",
194 StretchBlt(
hdcDst, 0, 0,
WIDTH,
WIDTH,
hdcSrc, 0, 0,
WIDTH,
WIDTH,
SRCCOPY |
NOMIRRORBITMAP);
205 "Coordinates: (%d, %d), expected (%06X), got (%06X)\n",
217 "DC Layout is not LAYOUT_RTL | LAYOUT_BITMAPORIENTATIONPRESERVED\n");
221 StretchBlt(
hdcDst, 0, 0,
WIDTH,
WIDTH,
hdcSrc, 0, 0,
WIDTH,
WIDTH,
SRCCOPY);
225 StretchBlt(
hdcDst, 0, 0,
WIDTH,
WIDTH,
hdcSrc, 0, 0,
WIDTH,
WIDTH,
SRCCOPY |
NOMIRRORBITMAP);
249 "Expected (%d, %d) got (%ld, %ld)\n",
x,
y,
pt.x,
pt.y);
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");
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)
HANDLE WINAPI GetStdHandle(IN DWORD nStdHandle)
BOOL WINAPI SetConsoleTextAttribute(IN HANDLE hConsoleOutput, IN WORD wAttributes)
BOOL WINAPI GetConsoleScreenBufferInfo(IN HANDLE hConsoleOutput, OUT PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo)
static void cleanup(void)
static VOID 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)
GLint GLint GLint GLint GLint x
GLint GLint GLint GLint GLint GLint y
GLint GLint GLsizei width
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
static void dump(const void *ptr, unsigned len)
HBITMAP WINAPI CreateDIBSection(HDC hDC, CONST BITMAPINFO *BitmapInfo, UINT Usage, VOID **Bits, HANDLE hSection, DWORD dwOffset)
#define STD_OUTPUT_HANDLE
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