[ros-diffs] [greatlrd] 32635: partly implement gdi32 Escape need it for getting opengl icd driver working, if they are using ms icd ddk implemented command DRAFTMODE, FLUSHOUTPUT, SETCOLORTABLE for they are not longer supported in windows XP/2003 implemented command SETABORTPROC it is still stub in gdi32/misc/stubs.c

greatlrd at svn.reactos.org greatlrd at svn.reactos.org
Mon Mar 10 00:32:53 CET 2008


Author: greatlrd
Date: Sun Mar  9 18:32:52 2008
New Revision: 32635

URL: http://svn.reactos.org/svn/reactos?rev=3D32635&view=3Drev
Log:
partly implement gdi32 Escape need it for getting opengl icd driver working=
, if they are using ms icd ddk =

implemented command DRAFTMODE, FLUSHOUTPUT, SETCOLORTABLE for they are not =
longer supported in windows XP/2003
implemented command SETABORTPROC it is still stub in gdi32/misc/stubs.c

 =


Modified:
    trunk/reactos/dll/win32/gdi32/misc/stubs.c

Modified: trunk/reactos/dll/win32/gdi32/misc/stubs.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/misc/=
stubs.c?rev=3D32635&r1=3D32634&r2=3D32635&view=3Ddiff
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/reactos/dll/win32/gdi32/misc/stubs.c (original)
+++ trunk/reactos/dll/win32/gdi32/misc/stubs.c Sun Mar  9 18:32:52 2008
@@ -619,9 +619,8 @@
 int
 STDCALL
 SetAbortProc(
-	HDC		hdc,
-	ABORTPROC	a1
-	)
+	HDC hdc,
+	ABORTPROC lpAbortProc)
 {
 	UNIMPLEMENTED;
 	SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
@@ -1519,7 +1518,7 @@
     {
         switch (nEscape)
         {
-            case ABORTDOC:                =

+            case ABORTDOC:        =

                 /* Note Winodws check see if the handle have any user data=
 for ABORTDOC command =

                  * ReactOS copy this behoir to be compatible with windows =
2003 =

                  */
@@ -1535,7 +1534,35 @@
                  }
                 break;
 =

-            case GETCOLORTABLE:            =

+            case DRAFTMODE:
+            case FLUSHOUTPUT:
+            case SETCOLORTABLE:
+                /* Note 1: DRAFTMODE, FLUSHOUTPUT, SETCOLORTABLE is outdat=
ed and been replace with other api */
+                /* Note 2: Winodws check see if the handle have any user d=
ata for DRAFTMODE, FLUSHOUTPUT, SETCOLORTABLE command =

+                 * ReactOS copy this behoir to be compatible with windows =
2003 =

+                 */
+                if ( (!GdiGetHandleUserData(hObject, (DWORD)Type, (PVOID) =
&pUserData)) ||  =

+                     (pUserData =3D=3D NULL) ) =

+                {
+                    GdiSetLastError(ERROR_INVALID_HANDLE);
+                }
+                retValue =3D FALSE;
+                break;
+
+            case SETABORTPROC:
+                /* Note : Winodws check see if the handle have any user da=
ta for DRAFTMODE, FLUSHOUTPUT, SETCOLORTABLE command =

+                 * ReactOS copy this behoir to be compatible with windows =
2003 =

+                 */
+                if ( (!GdiGetHandleUserData(hObject, (DWORD)Type, (PVOID) =
&pUserData)) ||  =

+                     (pUserData =3D=3D NULL) ) =

+                {
+                    GdiSetLastError(ERROR_INVALID_HANDLE);
+                    retValue =3D FALSE;
+                }
+                retValue =3D SetAbortProc(hdc, (ABORTPROC)lpvInData);
+                break;
+
+            case GETCOLORTABLE:
                 retValue =3D GetSystemPaletteEntries(hdc, (UINT)*lpvInData=
, 1, (LPPALETTEENTRY)lpvOutData);
                 if ( !retValue )
                 {
@@ -1543,11 +1570,7 @@
                 }            =

                 break;
 =

-            case GETEXTENDEDTEXTMETRICS:
-                retValue =3D (int) GetETM( hdc, (EXTTEXTMETRIC *) lpvOutDa=
ta) !=3D 0;
-                break;
-                =

-            case GETSCALINGFACTOR:       =

+            case GETSCALINGFACTOR:
                 /* Note GETSCALINGFACTOR is outdated have been replace by =
GetDeviceCaps */
                 if ( Type =3D=3D GDI_OBJECT_TYPE_DC )
                 {                =

@@ -1560,6 +1583,13 @@
                 }                                =

                 retValue =3D FALSE;
                 break;
+
+            case GETEXTENDEDTEXTMETRICS:
+                retValue =3D (int) GetETM( hdc, (EXTTEXTMETRIC *) lpvOutDa=
ta) !=3D 0;
+                break;
+                =

+            =

+
 =

             default:
                 UNIMPLEMENTED;




More information about the Ros-diffs mailing list