[ros-diffs] [tkreuzer] 33781: patch by Jeffrey Morlan (mrnobo1024 at yahoo dot com) Testcase for NtGdiSetDIBitsToDeviceInternal See issue #3294 for more details.

tkreuzer at svn.reactos.org tkreuzer at svn.reactos.org
Sat May 31 02:04:17 CEST 2008


Author: tkreuzer
Date: Fri May 30 19:04:16 2008
New Revision: 33781

URL: http://svn.reactos.org/svn/reactos?rev=33781&view=rev
Log:
patch by Jeffrey Morlan (mrnobo1024 at yahoo dot com)
Testcase for NtGdiSetDIBitsToDeviceInternal
See issue #3294 for more details.

Added:
    trunk/rostests/apitests/w32knapi/ntgdi/NtGdiSetDIBitsToDeviceInternal.c   (with props)
Modified:
    trunk/rostests/apitests/w32knapi/testlist.c

Added: trunk/rostests/apitests/w32knapi/ntgdi/NtGdiSetDIBitsToDeviceInternal.c
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/w32knapi/ntgdi/NtGdiSetDIBitsToDeviceInternal.c?rev=33781&view=auto
==============================================================================
--- trunk/rostests/apitests/w32knapi/ntgdi/NtGdiSetDIBitsToDeviceInternal.c (added)
+++ trunk/rostests/apitests/w32knapi/ntgdi/NtGdiSetDIBitsToDeviceInternal.c [iso-8859-1] Fri May 30 19:04:16 2008
@@ -1,0 +1,52 @@
+INT
+Test_NtGdiSetDIBitsToDeviceInternal(PTESTINFO pti)
+{
+	static const DWORD InBits[8] = { 0x81, 0x7E, 0x5A, 0x7E, 0x7E, 0x42, 0x7E, 0x81 };
+	DWORD OutBits[8];
+
+	HWND hWnd = CreateWindowW(L"Static", NULL, WS_VISIBLE,
+	                          100, 100, 200, 200,
+	                          NULL, NULL, NULL, NULL);
+	/* This DC has an nonzero origin */
+	HDC hDC = GetDC(hWnd);
+	struct
+	{
+		BITMAPINFOHEADER bmiHeader;
+		RGBQUAD bmiColors[2];
+	} bmi;
+	int x, y;
+
+	bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
+	bmi.bmiHeader.biWidth = 8;
+	bmi.bmiHeader.biHeight = -8;
+	bmi.bmiHeader.biPlanes = 1;
+	bmi.bmiHeader.biBitCount = 1;
+	bmi.bmiHeader.biCompression = 0;
+	bmi.bmiHeader.biSizeImage = 0;
+	bmi.bmiHeader.biXPelsPerMeter = 0;
+	bmi.bmiHeader.biYPelsPerMeter = 0;
+	bmi.bmiHeader.biClrUsed = 0;
+	bmi.bmiHeader.biClrImportant = 0;
+	*(DWORD *)&bmi.bmiColors[0] = 0x000000;
+	*(DWORD *)&bmi.bmiColors[1] = 0xFFFFFF;
+
+	/* The destination coordinates are relative to the DC origin */
+	TEST(NtGdiSetDIBitsToDeviceInternal(hDC, 2, 3, 8, 8, 0, 0, 0, 8,
+	                                    (PVOID)InBits, (BITMAPINFO *)&bmi, DIB_RGB_COLORS,
+	                                    sizeof(InBits), sizeof(bmi), TRUE, NULL));
+
+	/* Now get the data from the screen, and see if it matches */
+	for (y = 0; y < 8; y++)
+	{
+		DWORD Row = 0;
+		for (x = 0; x < 8; x++)
+			Row |= (0x80 & GetPixel(hDC, 2 + x, 3 + y)) >> x;
+		OutBits[y] = Row;
+	}
+	TEST(memcmp(InBits, OutBits, sizeof(InBits)) == 0);
+
+	ReleaseDC(hWnd, hDC);
+	DestroyWindow(hWnd);
+
+	return APISTATUS_NORMAL;
+}

Propchange: trunk/rostests/apitests/w32knapi/ntgdi/NtGdiSetDIBitsToDeviceInternal.c
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: trunk/rostests/apitests/w32knapi/testlist.c
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/w32knapi/testlist.c?rev=33781&r1=33780&r2=33781&view=diff
==============================================================================
--- trunk/rostests/apitests/w32knapi/testlist.c [iso-8859-1] (original)
+++ trunk/rostests/apitests/w32knapi/testlist.c [iso-8859-1] Fri May 30 19:04:16 2008
@@ -22,6 +22,7 @@
 #include "ntgdi/NtGdiSelectFont.c"
 #include "ntgdi/NtGdiSelectPen.c"
 #include "ntgdi/NtGdiSetBitmapBits.c"
+#include "ntgdi/NtGdiSetDIBitsToDeviceInternal.c"
 //#include "ntgdi/NtGdiSTROBJ_vEnumStart.c"
 #include "ntgdi/NtGdiGetDIBits.c"
 #include "ntgdi/NtGdiGetStockObject.c"
@@ -64,6 +65,7 @@
 	{ L"NtGdiGetFontResourceInfoInternalW", Test_NtGdiGetFontResourceInfoInternalW },
 	{ L"NtGdiGetRandomRgn", Test_NtGdiGetRandomRgn },
 	{ L"NtGdiSetBitmapBits", Test_NtGdiSetBitmapBits },
+	{ L"NtGdiSetDIBitsToDeviceInternal", Test_NtGdiSetDIBitsToDeviceInternal },
 	{ L"NtGdiSelectBitmap", Test_NtGdiSelectBitmap },
 	{ L"NtGdiSelectBrush", Test_NtGdiSelectBrush },
 	{ L"NtGdiSelectFont", Test_NtGdiSelectFont },



More information about the Ros-diffs mailing list