partially implemented fullscreen in changedisplay setting
I can play winquake in fullscreen now :)
Modified: trunk/reactos/subsys/win32k/objects/dc.c

Modified: trunk/reactos/subsys/win32k/objects/dc.c
--- trunk/reactos/subsys/win32k/objects/dc.c	2005-05-26 21:55:34 UTC (rev 15537)
+++ trunk/reactos/subsys/win32k/objects/dc.c	2005-05-26 22:41:31 UTC (rev 15538)
@@ -2507,6 +2507,7 @@
   BOOLEAN Reset = FALSE;
   BOOLEAN SetPrimary = FALSE;
   LONG Ret;
+  NTSTATUS Status;
 
   DPRINT1("display flag : %x\n",dwflags);
 
@@ -2545,10 +2546,29 @@
   
   if ((dwflags & CDS_FULLSCREEN) == CDS_FULLSCREEN)
   {
+   DEVMODE lpDevMode;
    /* Full Screen */
    dwflags &= ~CDS_FULLSCREEN;
-   DPRINT1("flag CDS_FULLSCREEN UNIMPLEMENT");
+   DPRINT1("flag CDS_FULLSCREEN partially implemented");
    Ret = DISP_CHANGE_FAILED;
+
+   lpDevMode.dmBitsPerPel =0;
+   lpDevMode.dmPelsWidth  =0;
+   lpDevMode.dmPelsHeight =0;
+   lpDevMode.dmDriverExtra =0;
+
+   lpDevMode.dmSize = sizeof(DEVMODE);
+   Status = IntEnumDisplaySettings(pDeviceName,  ENUM_CURRENT_SETTINGS, &lpDevMode, 0);
+   if (!NT_SUCCESS(Status)) return DISP_CHANGE_FAILED;
+
+   DPRINT1("Req Mode     : %d x %d x %d\n", DevMode->dmPelsWidth,DevMode->dmPelsHeight,DevMode->dmBitsPerPel);
+   DPRINT1("Current Mode : %d x %d x %d\n", lpDevMode.dmPelsWidth,lpDevMode.dmPelsHeight, lpDevMode.dmBitsPerPel);
+
+
+   if ((lpDevMode.dmBitsPerPel == DevMode->dmBitsPerPel) &&
+       (lpDevMode.dmPelsWidth  == DevMode->dmPelsWidth) &&
+       (lpDevMode.dmPelsHeight == DevMode->dmPelsHeight))
+	   Ret = DISP_CHANGE_SUCCESSFUL; 
   }
 
   if ((dwflags & CDS_VIDEOPARAMETERS) == CDS_VIDEOPARAMETERS)
@@ -2571,8 +2591,7 @@
 	  	WCHAR KernelModeNameBuffer[256];
 		UNICODE_STRING RegistryKey;
 		WCHAR RegistryKeyBuffer[512];
-		PDEVICE_OBJECT DeviceObject;
-		NTSTATUS Status;
+		PDEVICE_OBJECT DeviceObject;		
 		ULONG LastSlash;
 		OBJECT_ATTRIBUTES ObjectAttributes;
 		HANDLE DevInstRegKey;