[GDI+: 8/10] GdipDrawRectangleI test
Evan Stade
estade at gmail.com
Mon Jun 11 15:00:14 CDT 2007
Hi,
Changelog:
*added GdipDrawRectangleI test
dlls/gdiplus/tests/graphics.c | 64 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 64 insertions(+), 0 deletions(-)
-Evan Stade
-------------- next part --------------
diff --git a/dlls/gdiplus/tests/graphics.c b/dlls/gdiplus/tests/graphics.c
index e5ebba1..807290d 100644
--- a/dlls/gdiplus/tests/graphics.c
+++ b/dlls/gdiplus/tests/graphics.c
@@ -113,6 +113,36 @@ static const INT drawline_bmp2[192] =
0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,
0xffffffff,0xffffffff,0xffffffff};
+static const INT drawrect_bmp1[192] =
+{0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,
+ 0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,
+ 0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,
+ 0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,
+ 0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,
+ 0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,
+ 0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,
+ 0xffffffff,0xffffffff,0xddffffff,0xccddbbcc,0xbbccddbb,0xddbbccdd,0xffffbbcc,
+ 0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,
+ 0xddffffff,0xccddbbcc,0xbbccddbb,0xddbbccdd,0xffffbbcc,0xffffffff,0xffffffff,
+ 0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xddffffff,0xccddbbcc,
+ 0xffffffbb,0xddbbccdd,0xffffbbcc,0xffffffff,0xffffffff,0xffffffff,0xffffffff,
+ 0xffffffff,0xffffffff,0xffffffff,0xddffffff,0xccddbbcc,0xffffffbb,0xddbbccdd,
+ 0xffffbbcc,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,
+ 0xffffffff,0xddffffff,0xccddbbcc,0xffffffbb,0xddbbccdd,0xffffbbcc,0xffffffff,
+ 0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xddffffff,
+ 0xccddbbcc,0xbbccddbb,0xddbbccdd,0xffffbbcc,0xffffffff,0xffffffff,0xffffffff,
+ 0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xddffffff,0xccddbbcc,0xbbccddbb,
+ 0xddbbccdd,0xffffbbcc,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,
+ 0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,
+ 0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,
+ 0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,
+ 0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,
+ 0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,
+ 0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,
+ 0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,
+ 0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,
+ 0xffffffff,0xffffffff,0xffffffff};
+
static INT smart_GetDIBits(HDC hdc, HBITMAP hbm, BYTE** buff, INT *bytes,
INT bitcount, INT compression, INT imagesize)
{
@@ -238,8 +268,35 @@ static void drawline(HWND hwnd, HDC hdc)
GdipDeletePen(eraser);
}
+static void drawrect(HWND hwnd, HDC hdc)
+{
+ GpStatus stat;
+ GpPen *pen;
+ GpGraphics *graphics;
+
+ INT height = 0, num_bytes = 0;
+ BYTE* buff;
+
+ stat = GdipCreateFromHDC(hdc, &graphics);
+ expect(stat, Ok);
+ stat = GdipCreatePen1((ARGB)0xffbbccdd, 2.0f, UnitPixel, &pen);
+ expect(stat, Ok);
+ stat = GdipDrawRectangleI(graphics, pen, 6, 6, 3, 5);
+ expect(stat, Ok);
+
+ height = capture_dc(hdc, &buff, &num_bytes);
+ assert(height == WND_SZ);
+
+ ok(!memcmp(buff, drawrect_bmp1, num_bytes), "Expected different bitmap\n");
+
+ HeapFree(GetProcessHeap(), 0, buff);
+ GdipDeleteGraphics(graphics);
+ GdipDeletePen(pen);
+}
+
SIMPLE_WINDOW_PROC(constructor)
SIMPLE_WINDOW_PROC(drawline)
+SIMPLE_WINDOW_PROC(drawrect)
static BOOL RegisterHelper(WNDPROC x, LPCTSTR ClassName)
{
@@ -268,6 +325,7 @@ static BOOL RegisterWindowClasses(void)
ret = RegisterHelper(constructor_window_proc, TEXT("Constructor"));
ret = ret && RegisterHelper(drawline_window_proc, TEXT("DrawLine"));
+ ret = ret && RegisterHelper(drawrect_window_proc, TEXT("DrawRect"));
return ret;
}
@@ -300,6 +358,11 @@ static void test_drawline(void)
window_test_runner(TEXT("DrawLine"), TEXT("Draw line test"));
}
+static void test_drawrect(void)
+{
+ window_test_runner(TEXT("DrawRect"), TEXT("Draw rect test"));
+}
+
START_TEST(graphics)
{
struct GdiplusStartupInput gdiplusStartupInput;
@@ -316,6 +379,7 @@ START_TEST(graphics)
test_constructor_destructor();
test_drawline();
+ test_drawrect();
GdiplusShutdown(gdiplusToken);
}
--
1.4.1
More information about the wine-patches
mailing list