Author: greatlrd Date: Sun Mar 9 14:04:26 2008 New Revision: 32628
URL: http://svn.reactos.org/svn/reactos?rev=3D32628&view=3Drev Log: partly implement gdi32 Escape implemented command GETCOLORTABLE and GETEXTENDEDTEXTMETRICS in Escape MS have releae docs over this api in msdn, u can also found docs in nt4 ddk= and win98 ddk how this api works. =
and thanks to Filip and Blight that have explain how this api works time to= time, in gdi32 =
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=3D32628&r1=3D32627&r2=3D32628&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 14:04:26 2008 @@ -178,17 +178,7 @@ return 0; } =
-/* - * @unimplemented - */ -int -STDCALL -Escape(HDC hdc, INT escape, INT in_count, LPCSTR in_data, LPVOID out_data) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} + =
/* * @implemented @@ -1503,6 +1493,45 @@ petm->emKernPairs =3D GetKerningPairsA(hdc, 0, 0); =
return Ret; +} + +/* + * @unimplemented + */ +int +STDCALL +Escape(HDC hdc, INT nEscape, INT cbInput, LPCSTR lpvInData, LPVOID lpvOutD= ata) +{ + int retValue =3D -1; + + /* FIXME gdi share memory */ + + if (nEscape =3D=3D GETCOLORTABLE) + { + retValue =3D GetSystemPaletteEntries(hdc, (UINT)*lpvInData, 1, (LP= PALETTEENTRY)lpvOutData); + if ( !retValue ) + { + retValue =3D -1; =
+ } + + /* FIXME tempary until Escape are completed */ + return retValue; + } + else if (nEscape =3D=3D GETEXTENDEDTEXTMETRICS) + { + retValue =3D (int) GetETM( hdc, (EXTTEXTMETRIC *) lpvOutData) !=3D= 0; + + /* FIXME tempary until Escape are completed */ + return retValue; + } + else if ( nEscape !=3D QUERYESCSUPPORT ) + { + =
+ } + + UNIMPLEMENTED; + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return retValue; } =
/*