diff dwt/internal/win32/OS.d @ 78:b00303c762ac

successfully linked
author Frank Benoit <benoit@tionex.de>
date Tue, 05 Feb 2008 20:28:19 +0100
parents 205350493476
children 67d24430822a
line wrap: on
line diff
--- a/dwt/internal/win32/OS.d	Tue Feb 05 14:31:31 2008 +0100
+++ b/dwt/internal/win32/OS.d	Tue Feb 05 20:28:19 2008 +0100
@@ -65,6 +65,10 @@
         return null;
     }
 
+    // macro from winnt.h
+    public static int PRIMARYLANGID( int lgid ){
+        return lgid & 0x3FF;
+    }
 
     private static int getNOTIFYICONDATAA_V2_SIZE (){
         // hm, NOTIFYICONDATAA.dwInfoFlags.offsetof did not compile
@@ -3920,9 +3924,9 @@
     alias WINAPI.GetWindowTextA _GetWindowText;
     alias WINAPI.GetWindowTextLengthA GetWindowTextLength;
     alias STDWIN.GlobalAddAtomA GlobalAddAtom;
-    alias WINAPI.ImmGetCompositionFontA ImmGetCompositionFont;
-    alias WINAPI.ImmGetCompositionStringA ImmGetCompositionString;
-    alias WINAPI.ImmSetCompositionFontA ImmSetCompositionFont;
+//     alias WINAPI.ImmGetCompositionFontA ImmGetCompositionFont;
+//     alias WINAPI.ImmGetCompositionStringA ImmGetCompositionString;
+//     alias WINAPI.ImmSetCompositionFontA ImmSetCompositionFont;
     alias WINAPI.InsertMenuA InsertMenu;
     alias WINAPI.InsertMenuItemA InsertMenuItem;
     alias WINAPI.LoadBitmapA LoadBitmap;
@@ -4018,9 +4022,9 @@
     alias WINAPI.GetWindowTextW _GetWindowText;
     alias WINAPI.GetWindowTextLengthW GetWindowTextLength;
     alias STDWIN.GlobalAddAtomW GlobalAddAtom;
-    alias WINAPI.ImmGetCompositionFontW ImmGetCompositionFont;
-    alias WINAPI.ImmGetCompositionStringW ImmGetCompositionString;
-    alias WINAPI.ImmSetCompositionFontW ImmSetCompositionFont;
+//     alias WINAPI.ImmGetCompositionFontW ImmGetCompositionFont;
+//     alias WINAPI.ImmGetCompositionStringW ImmGetCompositionString;
+//     alias WINAPI.ImmSetCompositionFontW ImmSetCompositionFont;
     alias WINAPI.InsertMenuW InsertMenu;
     alias WINAPI.InsertMenuItemW InsertMenuItem;
     alias WINAPI.LoadBitmapW LoadBitmap;
@@ -4064,22 +4068,253 @@
 
 
 
-
-
+// ----------------------------------------------------------------------------
+// UxTheme dummies until dynamic loading is in place.
+// ----------------------------------------------------------------------------
+public static {
+    BOOL IsAppThemed(){
+        return 0;
+    }
+
+    HRESULT DrawThemeBackground(
+        HTHEME hTheme,
+        HDC hdc,
+        int iPartId,
+        int iStateId,
+        RECT *pRect,
+        RECT *pClipRect
+    )
+    {
+        return S_OK;
+    }
+
+
+    HRESULT DrawThemeEdge(
+        HTHEME hTheme,
+        HDC hdc,
+        int iPartId,
+        int iStateId,
+        LPCRECT pDestRect,
+        UINT uEdge,
+        UINT uFlags,
+        LPRECT pContentRect
+    )
+    {
+        return S_OK;
+    }
+
+
+    HRESULT DrawThemeIcon(
+        HTHEME hTheme,
+        HDC hdc,
+        int iPartId,
+        int iStateId,
+        LPCRECT pRect,
+        HIMAGELIST himl,
+        int iImageIndex
+    )
+    {
+        return S_OK;
+    }
+
+
+    HRESULT DrawThemeParentBackground(
+        HWND hwnd,
+        HDC hdc,
+        RECT *prc
+    )
+    {
+        return S_OK;
+    }
+
+    HRESULT DrawThemeText(
+        HTHEME hTheme,
+        HDC hdc,
+        int iPartId,
+        int iStateId,
+        LPCWSTR pszText,
+        int iCharCount,
+        DWORD dwTextFlags,
+        DWORD dwTextFlags2,
+        LPCRECT pRect
+    )
+    {
+        return S_OK;
+    }
+
+    HTHEME OpenThemeData(
+        HWND hwnd,
+        LPCWSTR pszClassList
+    )
+    {
+        return null;
+    }
+
+
+    HRESULT BufferedPaintInit(){
+        return S_OK;
+    }
+
+    HRESULT CloseThemeData(
+        HTHEME hTheme
+    ){
+        return S_OK;
+    }
+
+
+    HRESULT BufferedPaintUnInit(){
+        return S_OK;
+    }
+
+    HPAINTBUFFER BeginBufferedPaint(
+        HDC hdcTarget,
+        RECT *prcTarget,
+        uint/+BP_BUFFERFORMAT+/ dwFormat,
+        void*/+BP_PAINTPARAMS+/ pPaintParams,
+        HDC *phdc
+    ){
+        return null;
+    }
+
+
+    HRESULT EndBufferedPaint(
+        HPAINTBUFFER hBufferedPaint,
+        BOOL fUpdateTarget
+    ){
+        return S_OK;
+    }
+
+    HRESULT GetThemeTextExtent(
+        HTHEME hTheme,
+        HDC hdc,
+        int iPartId,
+        int iStateId,
+        LPCWSTR pszText,
+        int iCharCount,
+        DWORD dwTextFlags,
+        LPCRECT pBoundingRect,
+        LPRECT pExtentRect
+    )
+    {
+        return S_OK;
+    }
+
+    HRESULT SetWindowTheme(
+        HWND hwnd,
+        LPCWSTR pszSubAppName,
+        LPCWSTR pszSubIdList
+    )
+    {
+        return S_OK;
+    }
+} // public static
+
+//----------------------------------------------------------------------
+// Coreimm.lib (WinCE)
+//----------------------------------------------------------------------
+public static extern(Windows) {
+
+HIMC function(
+    HWND hWnd,
+    HIMC hIMC
+) ImmAssociateContext;
+
+HIMC function(
+) ImmCreateContext;
+
+int function(
+    HIMC hIMC
+) ImmDestroyContext;
+
+HIMC function(
+    HWND hWnd
+) ImmGetContext;
+
+BOOL function(
+    HIMC hIMC,
+    LPDWORD lpfdwConversion,
+    LPDWORD lpfdwSentence
+) ImmGetConversionStatus;
+
+HWND function(
+    HWND hWnd
+) ImmGetDefaultIMEWnd;
+
+BOOL function(
+    HIMC hIMC
+) ImmGetOpenStatus;
+
+BOOL function(
+    HWND hWnd,
+    HIMC hIMC
+) ImmReleaseContext;
+
+version(ANSI) {
+    BOOL function(
+        HIMC hIMC,
+        LOGFONTA* lplf
+    ) ImmSetCompositionFont;
+
+    LONG function(
+        HIMC hIMC,
+        DWORD dwIndex,
+        LPVOID lpBuf,
+        DWORD dwBufLen
+    ) ImmGetCompositionString;
+
+    BOOL function(
+        HIMC hIMC,
+        LPLOGFONTA lplf
+    ) ImmGetCompositionFont;
+
+} else {
+    BOOL function(
+        HIMC hIMC,
+        LOGFONTW* lplf
+    ) ImmSetCompositionFont;
+
+    LONG function(
+        HIMC hIMC,
+        DWORD dwIndex,
+        LPVOID lpBuf,
+        DWORD dwBufLen
+    ) ImmGetCompositionString;
+
+    BOOL function(
+        HIMC hIMC,
+        LOGFONTW* lplf
+    ) ImmGetCompositionFont;
+}
+
+BOOL function(
+    HIMC hIMC,
+    LPCOMPOSITIONFORM lpCompForm
+) ImmSetCompositionWindow;
+
+BOOL function(
+    HIMC hIMC,
+    DWORD fdwConversion,
+    DWORD fdwSentence
+) ImmSetConversionStatus;
+
+BOOL function(
+    HIMC hIMC,
+    BOOL fOpen
+) ImmSetOpenStatus;
+
+} // public static
+//------------------------------------------------------------------------
 /** All Natives */
 alias WINAPI.AbortDoc AbortDoc;
 alias WINAPI.ActivateKeyboardLayout ActivateKeyboardLayout;
 alias WINAPI.AdjustWindowRectEx AdjustWindowRectEx;
 alias WINAPI.AlphaBlend AlphaBlend;
 alias WINAPI.Arc Arc;
-alias WINAPI.BeginBufferedPaint BeginBufferedPaint;
 alias WINAPI.BeginDeferWindowPos BeginDeferWindowPos;
 alias WINAPI.BeginPaint BeginPaint;
 alias STDWIN.BeginPath BeginPath;
 alias WINAPI.BitBlt BitBlt;
 alias WINAPI.BringWindowToTop BringWindowToTop;
-alias WINAPI.BufferedPaintInit BufferedPaintInit;
-alias WINAPI.BufferedPaintUnInit BufferedPaintUnInit;
 alias WINAPI.CallNextHookEx CallNextHookEx;
 alias WINAPI.CallWindowProcA CallWindowProcA;
 alias WINAPI.CallWindowProcW CallWindowProcW;
@@ -4094,7 +4329,6 @@
 alias WINAPI.ChooseFontW ChooseFontW;
 alias WINAPI.ClientToScreen ClientToScreen;
 alias WINAPI.CloseHandle CloseHandle;
-alias WINAPI.CloseThemeData CloseThemeData;
 alias WINAPI.CloseClipboard CloseClipboard;
 alias WINAPI.CombineRgn CombineRgn;
 alias WINAPI.CommDlgExtendedError CommDlgExtendedError;
@@ -4168,17 +4402,11 @@
 alias WINAPI.DrawStateW DrawStateW;
 alias WINAPI.DrawTextA DrawTextA;
 alias WINAPI.DrawTextW DrawTextW;
-alias WINAPI.DrawThemeBackground DrawThemeBackground;
-alias WINAPI.DrawThemeEdge DrawThemeEdge;
-alias WINAPI.DrawThemeIcon DrawThemeIcon;
-alias WINAPI.DrawThemeParentBackground DrawThemeParentBackground;
-alias WINAPI.DrawThemeText DrawThemeText;
 alias WINAPI.Ellipse Ellipse;
 alias WINAPI.EnableMenuItem EnableMenuItem;
 alias WINAPI.EnableScrollBar EnableScrollBar;
 alias WINAPI.EnableWindow EnableWindow;
 alias WINAPI.EndDeferWindowPos EndDeferWindowPos;
-alias WINAPI.EndBufferedPaint EndBufferedPaint;
 alias WINAPI.EndDoc EndDoc;
 alias WINAPI.EndPage EndPage;
 alias WINAPI.EndPaint EndPaint;
@@ -4274,7 +4502,6 @@
 alias WINAPI.GetMessagePos GetMessagePos;
 alias WINAPI.GetMessageTime GetMessageTime;
 alias STDWIN.GetMetaRgn GetMetaRgn;
-alias WINAPI.GetThemeTextExtent GetThemeTextExtent;
 alias WINAPI.GetMessageW GetMessageW;
 alias WINAPI.GetModuleFileNameA GetModuleFileNameA;
 alias WINAPI.GetModuleFileNameW GetModuleFileNameW;
@@ -4356,23 +4583,21 @@
 alias WINAPI.ImageList_Replace ImageList_Replace;
 alias WINAPI.ImageList_ReplaceIcon ImageList_ReplaceIcon;
 alias WINAPI.ImageList_SetIconSize ImageList_SetIconSize;
-alias WINAPI.ImmAssociateContext ImmAssociateContext;
-alias WINAPI.ImmCreateContext ImmCreateContext;
-alias WINAPI.ImmDestroyContext ImmDestroyContext;
-alias WINAPI.ImmGetCompositionFontA ImmGetCompositionFontA;
-alias WINAPI.ImmGetCompositionFontW ImmGetCompositionFontW;
-alias WINAPI.ImmGetCompositionStringA ImmGetCompositionStringA;
-alias WINAPI.ImmGetCompositionStringW ImmGetCompositionStringW;
-alias WINAPI.ImmGetContext ImmGetContext;
-alias WINAPI.ImmGetConversionStatus ImmGetConversionStatus;
-alias WINAPI.ImmGetDefaultIMEWnd ImmGetDefaultIMEWnd;
-alias WINAPI.ImmGetOpenStatus ImmGetOpenStatus;
-alias WINAPI.ImmReleaseContext ImmReleaseContext;
-alias WINAPI.ImmSetCompositionFontA ImmSetCompositionFontA;
-alias WINAPI.ImmSetCompositionFontW ImmSetCompositionFontW;
-alias WINAPI.ImmSetCompositionWindow ImmSetCompositionWindow;
-alias WINAPI.ImmSetConversionStatus ImmSetConversionStatus;
-alias WINAPI.ImmSetOpenStatus ImmSetOpenStatus;
+// alias WINAPI.ImmAssociateContext ImmAssociateContext;
+// alias WINAPI.ImmCreateContext ImmCreateContext;
+// alias WINAPI.ImmDestroyContext ImmDestroyContext;
+// alias WINAPI.ImmGetCompositionFontA ImmGetCompositionFontA;
+// alias WINAPI.ImmGetCompositionFontW ImmGetCompositionFontW;
+// alias WINAPI.ImmGetCompositionStringA ImmGetCompositionStringA;
+// alias WINAPI.ImmGetCompositionStringW ImmGetCompositionStringW;
+// alias WINAPI.ImmGetContext ImmGetContext;
+// alias WINAPI.ImmGetConversionStatus ImmGetConversionStatus;
+// alias WINAPI.ImmGetDefaultIMEWnd ImmGetDefaultIMEWnd;
+// alias WINAPI.ImmGetOpenStatus ImmGetOpenStatus;
+// alias WINAPI.ImmReleaseContext ImmReleaseContext;
+// alias WINAPI.ImmSetCompositionFontA ImmSetCompositionFontA;
+// alias WINAPI.ImmSetCompositionFontW ImmSetCompositionFontW;
+// alias WINAPI.ImmSetOpenStatus ImmSetOpenStatus;
 alias WINAPI.InitCommonControls InitCommonControls;
 alias WINAPI.InitCommonControlsEx InitCommonControlsEx;
 alias WINAPI.InsertMenuA InsertMenuA;
@@ -4385,7 +4610,6 @@
 alias WINAPI.IntersectRect IntersectRect;
 alias WINAPI.InvalidateRect InvalidateRect;
 alias WINAPI.InvalidateRgn InvalidateRgn;
-alias WINAPI.IsAppThemed IsAppThemed;
 alias WINAPI.IsDBCSLeadByte IsDBCSLeadByte;
 alias WINAPI.IsHungAppWindow IsHungAppWindow;
 alias WINAPI.IsIconic IsIconic;
@@ -4426,7 +4650,6 @@
 //alias WINAPI.OleInitialize OleInitialize;
 //alias WINAPI.OleUninitialize OleUninitialize;
 alias WINAPI.OpenClipboard OpenClipboard;
-alias WINAPI.OpenThemeData OpenThemeData;
 alias WINAPI.OutputDebugStringA OutputDebugStringA;
 alias WINAPI.OutputDebugStringW OutputDebugStringW;
 alias WINAPI.PatBlt PatBlt;
@@ -4441,7 +4664,6 @@
 alias WINAPI.PostThreadMessageW PostThreadMessageW;
 alias WINAPI.PrintDlgA PrintDlgA;
 alias WINAPI.PrintDlgW PrintDlgW;
-alias WINAPI.PRIMARYLANGID PRIMARYLANGID;
 alias WINAPI.PtInRect PtInRect;
 alias WINAPI.PtInRegion PtInRegion;
 alias WINAPI.RealizePalette RealizePalette;
@@ -4553,7 +4775,6 @@
 alias WINAPI.SetWindowPlacement SetWindowPlacement;
 alias WINAPI.SetWindowPos SetWindowPos;
 alias WINAPI.SetWindowRgn SetWindowRgn;
-alias WINAPI.SetWindowTheme SetWindowTheme;
 alias STDWIN.SetWorldTransform SetWorldTransform;
 alias WINAPI.SetWindowTextA SetWindowTextA;
 alias WINAPI.SetWindowTextW SetWindowTextW;