I did not found any information about GetLayout16, I would like to know if it is correct too.
Thanks Rémi
diff -u dlls/gdi/dc.c dlls/gdi/dc.c --- dlls/gdi/dc.c 2004-11-21 18:34:03.000000000 +0100 +++ dlls/gdi/dc.c 2004-11-21 19:00:32.787454960 +0100 @@ -1876,9 +1876,15 @@ */ DWORD WINAPI GetLayout(HDC hdc) { - FIXME("(%p): stub\n", hdc); - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; + DWORD layout = 0; + DC * dc = DC_GetDCPtr( hdc ); + if (dc) + { + layout = dc->flags; + GDI_ReleaseObj( hdc ); + return layout; + } + return GDI_ERROR; } /*********************************************************************** diff -u dlls/gdi/gdi16.c dlls/gdi/gdi16.c --- dlls/gdi/gdi16.c 2004-08-31 02:02:03.000000000 +0200 +++ dlls/gdi/gdi16.c 2004-11-20 21:41:25.000000000 +0100 @@ -2824,3 +2824,13 @@ { return SetLayout( HDC_32(hdc), layout ); } + +/*********************************************************************** + * SetLayout (GDI.1001) + * + * Gets left->right or right->left text layout flags of a dc. + */ +BOOL16 WINAPI GetLayout16( HDC16 hdc ) +{ + return GetLayout( HDC_32(hdc) ); +} diff -u dlls/gdi/gdi.exe.spec dlls/gdi/gdi.exe.spec --- dlls/gdi/gdi.exe.spec 2003-09-26 06:32:20.000000000 +0200 +++ dlls/gdi/gdi.exe.spec 2004-11-20 21:42:27.000000000 +0100 @@ -413,4 +413,4 @@ 823 stub ICMTranslateRGBs 824 stub ICMCheckColorsInGamut 1000 pascal -ret16 SetLayout(word long) SetLayout16 -1001 stub GetLayout +1001 pascal -ret16 GetLayout(word) GetLayout16 diff -u dlls/gdi/gdi.exe.spec.c dlls/gdi/gdi.exe.spec.c --- dlls/gdi/gdi.exe.spec.c 2004-11-20 21:43:36.000000000 +0100 +++ dlls/gdi/gdi.exe.spec.c 2004-11-20 21:45:23.000000000 +0100 @@ -154,7 +154,6 @@ static void __wine_stub_ICMTranslateRGB(void) { __wine_unimplemented("ICMTranslateRGB"); } static void __wine_stub_ICMTranslateRGBs(void) { __wine_unimplemented("ICMTranslateRGBs"); } static void __wine_stub_ICMCheckColorsInGamut(void) { __wine_unimplemented("ICMCheckColorsInGamut"); } -static void __wine_stub_GetLayout(void) { __wine_unimplemented("GetLayout"); } typedef unsigned int (__stdcall *proc_p_long_llll_t)( unsigned int, unsigned int, unsigned int, unsigned int ); static unsigned int __stdcall __wine_gdi_exe_CallFrom16_p_long_llll( proc_p_long_llll_t proc, unsigned char *args ) {