[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