changeset 276:240db000bbcd

Load some more WinAPI functions dynamically.
author Frank Benoit <benoit@tionex.de>
date Tue, 05 Aug 2008 00:52:09 +0200
parents 9c5ba1f00519
children f18872e0f232
files dwt/internal/win32/OS.d dwt/internal/win32/WINAPI.d
diffstat 2 files changed, 36 insertions(+), 33 deletions(-) [+]
line wrap: on
line diff
--- 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;
--- 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