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;
}
=
/*