# HG changeset patch # User Frank Benoit # Date 1217890329 -7200 # Node ID 240db000bbcd061bf3a04f7030d7fb1bf3b6791d # Parent 9c5ba1f0051946db680454a1869e2d0a2736b9bb Load some more WinAPI functions dynamically. diff -r 9c5ba1f00519 -r 240db000bbcd dwt/internal/win32/OS.d --- a/dwt/internal/win32/OS.d Tue Aug 05 00:51:33 2008 +0200 +++ b/dwt/internal/win32/OS.d Tue Aug 05 00:52:09 2008 +0200 @@ -147,6 +147,30 @@ // private static int getNOTIFYICONDATAW_V2_SIZE (){ // return IsWinCE ? NOTIFYICONDATAW.sizeof : cast(int)(&(cast(NOTIFYICONDATAW*)null).dwInfoFlags) + int.sizeof; // } +// kernel32 winxp/vista +public static extern(Windows) { +HANDLE function( ACTCTX* pActCtx ) CreateActCtx; +BOOL function( HACTCTX hActCtx, uint* lpCookie ) ActivateActCtx; +LANGID function() GetSystemDefaultUILanguage; +BOOL function( + LANGUAGEGROUP_ENUMPROC pLangGroupEnumProc, // callback function + DWORD dwFlags, // language groups + LONG_PTR lParam // callback parameter +)EnumSystemLanguageGroupsA; +BOOL function( + LANGUAGEGROUP_ENUMPROC pLangGroupEnumProc, // callback function + DWORD dwFlags, // language groups + LONG_PTR lParam // callback parameter +)EnumSystemLanguageGroupsW; +BOOL function( + LOCALE_ENUMPROC lpLocaleEnumProc, // callback function + DWORD dwFlags // locales +)EnumSystemLocalesA; +BOOL function( + LOCALE_ENUMPROC lpLocaleEnumProc, // callback function + DWORD dwFlags // locales +)EnumSystemLocalesW; +} /* * DWT Windows flags @@ -2378,7 +2402,7 @@ alias WINAPI.EnumFontFamiliesExA EnumFontFamiliesEx; alias WINAPI.EnumFontFamiliesA EnumFontFamilies; alias WINAPI.EnumSystemLanguageGroupsA EnumSystemLanguageGroups; - alias WINAPI.EnumSystemLocalesA EnumSystemLocales; + alias EnumSystemLocalesA EnumSystemLocales; alias WINAPI.ExpandEnvironmentStringsA ExpandEnvironmentStrings; alias WINAPI.ExtTextOutA ExtTextOut; alias WINAPI.ExtractIconExA ExtractIconEx; @@ -2483,8 +2507,8 @@ alias WINAPI.DrawTextW DrawText; alias WINAPI.EnumFontFamiliesExW EnumFontFamiliesEx; alias WINAPI.EnumFontFamiliesW EnumFontFamilies; - alias DWTWINAPI.EnumSystemLanguageGroupsW EnumSystemLanguageGroups; - alias WINAPI.EnumSystemLocalesW EnumSystemLocales; + alias EnumSystemLanguageGroupsW EnumSystemLanguageGroups; + alias EnumSystemLocalesW EnumSystemLocales; alias WINAPI.ExpandEnvironmentStringsW ExpandEnvironmentStrings; alias WINAPI.ExtTextOutW ExtTextOut; alias DWTWINAPI.ExtractIconExW ExtractIconEx; @@ -2736,8 +2760,11 @@ ]; // user32.dll vista -public static extern(Windows) BOOL function() SetProcessDPIAware; -public static extern(Windows) BOOL function( HWND hWnd )IsHungAppWindow; +public static extern(Windows){ + BOOL function() SetProcessDPIAware; + BOOL function( HWND hWnd )IsHungAppWindow; +} + static Symbol[] Symbols_User32 = [ { "SetProcessDPIAware", cast(void**)& SetProcessDPIAware, 6, 0 }, { "GetLayeredWindowAttributes", cast(void**)& GetLayeredWindowAttributes, 5, 1 }, @@ -2821,18 +2848,16 @@ { "ImmSetCandidateWindow", cast(void**)& ImmSetCandidateWindow, 5, 1 }, ]; -// kernel32 winxp/vista -public static extern(Windows) { -HANDLE function( ACTCTX* pActCtx ) CreateActCtx; -BOOL function( HACTCTX hActCtx, uint* lpCookie ) ActivateActCtx; -LANGID function() GetSystemDefaultUILanguage; -} version(ANSI){ }else{ static Symbol[] Symbols_Kernel32 = [ { "CreateActCtxW", cast(void**)& CreateActCtx, 5, 1 }, { "ActivateActCtx", cast(void**)& ActivateActCtx, 5, 1 }, { "GetSystemDefaultUILanguage", cast(void**)& GetSystemDefaultUILanguage, 5, 0 }, + { "EnumSystemLanguageGroupsW", cast(void**)& EnumSystemLanguageGroupsW, 4, 0 }, + { "EnumSystemLanguageGroupsA", cast(void**)& EnumSystemLanguageGroupsA, 4, 0 }, + { "EnumSystemLocalesW", cast(void**)& EnumSystemLocalesW, 4, 0 }, + { "EnumSystemLocalesA", cast(void**)& EnumSystemLocalesA, 4, 0 }, ]; } @@ -2954,10 +2979,6 @@ alias WINAPI.EnumFontFamiliesExA EnumFontFamiliesExA; alias WINAPI.EnumFontFamiliesExW EnumFontFamiliesExW; alias WINAPI.EnumFontFamiliesW EnumFontFamiliesW; -alias DWTWINAPI.EnumSystemLanguageGroupsA EnumSystemLanguageGroupsA; -alias DWTWINAPI.EnumSystemLanguageGroupsW EnumSystemLanguageGroupsW; -alias WINAPI.EnumSystemLocalesA EnumSystemLocalesA; -alias DWTWINAPI.EnumSystemLocalesW EnumSystemLocalesW; alias DWTWINAPI.EqualRect EqualRect; alias WINAPI.EqualRgn EqualRgn; alias WINAPI.ExcludeClipRect ExcludeClipRect; diff -r 9c5ba1f00519 -r 240db000bbcd dwt/internal/win32/WINAPI.d --- a/dwt/internal/win32/WINAPI.d Tue Aug 05 00:51:33 2008 +0200 +++ b/dwt/internal/win32/WINAPI.d Tue Aug 05 00:52:09 2008 +0200 @@ -2393,24 +2393,6 @@ // pointer to callback function LPARAM lParam // pointer to application-supplied data ); -BOOL EnumSystemLanguageGroupsA( - LANGUAGEGROUP_ENUMPROC pLangGroupEnumProc, // callback function - DWORD dwFlags, // language groups - LONG_PTR lParam // callback parameter -); -BOOL EnumSystemLanguageGroupsW( - LANGUAGEGROUP_ENUMPROC pLangGroupEnumProc, // callback function - DWORD dwFlags, // language groups - LONG_PTR lParam // callback parameter -); -BOOL EnumSystemLocalesA( - LOCALE_ENUMPROC lpLocaleEnumProc, // callback function - DWORD dwFlags // locales -); -BOOL EnumSystemLocalesW( - LOCALE_ENUMPROC lpLocaleEnumProc, // callback function - DWORD dwFlags // locales -); BOOL EqualRect( RECT *lprc1, // pointer to structure with first rectangle RECT *lprc2 // pointer to structure with second rectangle