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;