# HG changeset patch # User Frank Benoit # Date 1215810085 -7200 # Node ID fbb9174f2a2cc666767f1e5dbb6048f2a705a404 # Parent dffb802cad030ae6a3aaa887d418218a59ead5bd Reuse the tango windows api diff -r dffb802cad03 -r fbb9174f2a2c dwt/dnd/HTMLTransfer.d --- a/dwt/dnd/HTMLTransfer.d Sun Jul 06 18:45:41 2008 +0200 +++ b/dwt/dnd/HTMLTransfer.d Fri Jul 11 23:01:25 2008 +0200 @@ -134,7 +134,7 @@ auto wstrz = StrToTCHARz(OS.CP_UTF8,buffer.toString); cchMultiByte = OS.WideCharToMultiByte(OS.CP_UTF8, 0, wstrz, -1, null, 0, null, null); - auto lpMultiByteStr = cast(CHAR*) OS.GlobalAlloc(OS.GMEM_FIXED | OS.GMEM_ZEROINIT, cchMultiByte); + auto lpMultiByteStr = cast(PCHAR) OS.GlobalAlloc(OS.GMEM_FIXED | OS.GMEM_ZEROINIT, cchMultiByte); OS.WideCharToMultiByte(OS.CP_UTF8, 0, wstrz, -1, lpMultiByteStr, cchMultiByte, null, null); transferData.stgmedium = new STGMEDIUM(); transferData.stgmedium.tymed = COM.TYMED_HGLOBAL; @@ -167,7 +167,7 @@ auto hMem = stgmedium.unionField; try { - auto lpMultiByteStr = cast(CHAR*) OS.GlobalLock(hMem); + auto lpMultiByteStr = cast(PCHAR) OS.GlobalLock(hMem); if (lpMultiByteStr is null) return null; try { /* NOTE: CF_HTML uses UTF-8 encoding. diff -r dffb802cad03 -r fbb9174f2a2c dwt/dnd/RTFTransfer.d --- a/dwt/dnd/RTFTransfer.d Sun Jul 06 18:45:41 2008 +0200 +++ b/dwt/dnd/RTFTransfer.d Fri Jul 11 23:01:25 2008 +0200 @@ -91,7 +91,7 @@ transferData.result = COM.DV_E_STGMEDIUM; return; } - auto lpMultiByteStr = cast(CHAR*)OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, cchMultiByte); + auto lpMultiByteStr = cast(PCHAR)OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, cchMultiByte); OS.WideCharToMultiByte(codePage, 0, chars, -1, lpMultiByteStr, cchMultiByte, null, null); transferData.stgmedium = new STGMEDIUM(); transferData.stgmedium.tymed = COM.TYMED_HGLOBAL; diff -r dffb802cad03 -r fbb9174f2a2c dwt/events/SelectionListener.d --- a/dwt/events/SelectionListener.d Sun Jul 06 18:45:41 2008 +0200 +++ b/dwt/events/SelectionListener.d Fri Jul 11 23:01:25 2008 +0200 @@ -63,3 +63,62 @@ */ public void widgetDefaultSelected(SelectionEvent e); } + + + +/// Helper class for the dgListener template function +private class _DgSelectionListenerWidgetSelectedT(Dg,T...) : SelectionListener { + + alias ParameterTupleOf!(DgSel) DgArgs; + static assert( is(DgArgs == Tuple!(SelectionEvent,T)), + "Delegate args not correct" ); + + Dg dg; + T t; + + private this( Dg dg, T t ){ + this.dg = dg; + static if( T.length > 0 ){ + this.t = t; + } + } + + public void widgetSelected(SelectionEvent e){ + dg(e,t); + } + public void widgetDefaultSelected(SelectionEvent e){ + } +} + +private class _DgSelectionListenerWidgetDefaultSelectedT(Dg,T...) : SelectionListener { + + alias ParameterTupleOf!(DgSel) DgArgs; + static assert( is(DgArgs == Tuple!(SelectionEvent,T)), + "Delegate args not correct" ); + + Dg dg; + T t; + + private this( Dg dg, T t ){ + this.dg = dg; + static if( T.length > 0 ){ + this.t = t; + } + } + + public void widgetSelected(SelectionEvent e){ + } + public void widgetDefaultSelected(SelectionEvent e){ + dg(e,t); + } +} + +SelectionListener dgSelectionListenerWidgetSelected( Dg, T... )( Dg dg, T args ){ + return new _DgSelectionListenerWidgetSelectedT!( Dg, T )( dg, args ); +} +SelectionListener dgSelectionListenerWidgetDefaultSelected( Dg, T... )( Dg dg, T args ){ + return new _DgSelectionListenerWidgetDefaultSelectedT!( Dg, T )( dg, args ); +} + + + diff -r dffb802cad03 -r fbb9174f2a2c dwt/internal/gdip/Gdip.d --- a/dwt/internal/gdip/Gdip.d Sun Jul 06 18:45:41 2008 +0200 +++ b/dwt/internal/gdip/Gdip.d Fri Jul 11 23:01:25 2008 +0200 @@ -21,6 +21,9 @@ import dwt.internal.win32.WINTYPES; import dwt.internal.win32.WINAPI; import dwt.internal.win32.OS; +version(TANGOSVN){ +import tango.sys.win32.UserGdi; +} import tango.util.log.Trace; void trace(int line ){ diff -r dffb802cad03 -r fbb9174f2a2c dwt/internal/win32/OS.d --- a/dwt/internal/win32/OS.d Sun Jul 06 18:45:41 2008 +0200 +++ b/dwt/internal/win32/OS.d Fri Jul 11 23:01:25 2008 +0200 @@ -13,8 +13,17 @@ module dwt.internal.win32.OS; public import dwt.internal.win32.WINTYPES; -private import dwt.internal.win32.WINAPI; -alias dwt.internal.win32.WINAPI WINAPI; +version(TANGOSVN){ + private import dwt.internal.win32.WINAPI; + alias dwt.internal.win32.WINAPI DWTWINAPI; + private import tango.sys.win32.UserGdi; + alias tango.sys.win32.UserGdi WINAPI; +} +else{ + private import dwt.internal.win32.WINAPI; + alias dwt.internal.win32.WINAPI WINAPI; + alias dwt.internal.win32.WINAPI USERGDIAPI; +} import dwt.internal.C; import dwt.internal.Library; @@ -2433,8 +2442,8 @@ alias WINAPI.UnregisterClassA UnregisterClass; alias WINAPI.VkKeyScanA VkKeyScan; }else{ - alias WINAPI.AddFontResourceExW AddFontResourceEx; - alias WINAPI.AssocQueryStringW AssocQueryString; + alias DWTWINAPI.AddFontResourceExW AddFontResourceEx; + alias DWTWINAPI.AssocQueryStringW AssocQueryString; alias WINAPI.CallWindowProcW CallWindowProc; alias WINAPI.CharLowerW CharLower; alias WINAPI.CharUpperW CharUpper; @@ -2457,11 +2466,11 @@ alias WINAPI.DrawTextW DrawText; alias WINAPI.EnumFontFamiliesExW EnumFontFamiliesEx; alias WINAPI.EnumFontFamiliesW EnumFontFamilies; - alias WINAPI.EnumSystemLanguageGroupsW EnumSystemLanguageGroups; + alias DWTWINAPI.EnumSystemLanguageGroupsW EnumSystemLanguageGroups; alias WINAPI.EnumSystemLocalesW EnumSystemLocales; alias WINAPI.ExpandEnvironmentStringsW ExpandEnvironmentStrings; alias WINAPI.ExtTextOutW ExtTextOut; - alias WINAPI.ExtractIconExW ExtractIconEx; + alias DWTWINAPI.ExtractIconExW ExtractIconEx; alias WINAPI.FindResourceW FindResource; alias WINAPI.FindWindowW FindWindow; alias WINAPI.FormatMessageW FormatMessage; @@ -2479,7 +2488,7 @@ alias WINAPI.GetMessageW GetMessage; alias WINAPI.GetModuleFileNameW GetModuleFileName; alias WINAPI.GetModuleHandleW GetModuleHandle; - alias WINAPI.GetMonitorInfoW GetMonitorInfo; + alias DWTWINAPI.GetMonitorInfoW GetMonitorInfo; alias WINAPI.GetObjectW GetObject; alias WINAPI.GetOpenFileNameW GetOpenFileName; alias WINAPI.GetOutlineTextMetricsW GetOutlineTextMetrics; @@ -2523,8 +2532,8 @@ alias WINAPI.RegOpenKeyExW RegOpenKeyEx; alias WINAPI.RegisterWindowMessageW RegisterWindowMessage; alias WINAPI.RemovePropW RemoveProp; - alias WINAPI.SHBrowseForFolderW SHBrowseForFolder; - alias WINAPI.SHGetPathFromIDListW SHGetPathFromIDList; + alias DWTWINAPI.SHBrowseForFolderW SHBrowseForFolder; + alias DWTWINAPI.SHGetPathFromIDListW SHGetPathFromIDList; alias WINAPI.SendMessageW SendMessage; alias WINAPI.SetMenuItemInfoW SetMenuItemInfo; alias WINAPI.SetWindowLongW SetWindowLong; @@ -2532,8 +2541,8 @@ alias WINAPI.SetWindowTextW SetWindowText; alias WINAPI.SetWindowsHookExW SetWindowsHookEx; alias WINAPI.SetPropW SetProp; - alias WINAPI.ShellExecuteExW ShellExecuteEx; - alias WINAPI.Shell_NotifyIconW Shell_NotifyIcon; + alias DWTWINAPI.ShellExecuteExW ShellExecuteEx; + alias DWTWINAPI.Shell_NotifyIconW Shell_NotifyIcon; alias WINAPI.StartDocW StartDoc; alias WINAPI.SystemParametersInfoW SystemParametersInfo; alias WINAPI.TranslateAcceleratorW TranslateAccelerator; @@ -2812,7 +2821,7 @@ alias WINAPI.AbortDoc AbortDoc; alias WINAPI.ActivateKeyboardLayout ActivateKeyboardLayout; alias WINAPI.AdjustWindowRectEx AdjustWindowRectEx; -alias WINAPI.AlphaBlend AlphaBlend; +alias DWTWINAPI.AlphaBlend AlphaBlend; alias WINAPI.Arc Arc; alias WINAPI.BeginDeferWindowPos BeginDeferWindowPos; alias WINAPI.BeginPaint BeginPaint; @@ -2837,7 +2846,7 @@ alias WINAPI.CloseEnhMetaFile CloseEnhMetaFile; alias WINAPI.CloseMetaFile CloseMetaFile; alias WINAPI.CombineRgn CombineRgn; -alias WINAPI.CommDlgExtendedError CommDlgExtendedError; +alias DWTWINAPI.CommDlgExtendedError CommDlgExtendedError; version(WinCE){ alias WINAPI.CommandBar_AddAdornments CommandBar_AddAdornments; @@ -2924,19 +2933,19 @@ alias WINAPI.EnumFontFamiliesExA EnumFontFamiliesExA; alias WINAPI.EnumFontFamiliesExW EnumFontFamiliesExW; alias WINAPI.EnumFontFamiliesW EnumFontFamiliesW; -alias WINAPI.EnumSystemLanguageGroupsA EnumSystemLanguageGroupsA; -alias WINAPI.EnumSystemLanguageGroupsW EnumSystemLanguageGroupsW; +alias DWTWINAPI.EnumSystemLanguageGroupsA EnumSystemLanguageGroupsA; +alias DWTWINAPI.EnumSystemLanguageGroupsW EnumSystemLanguageGroupsW; alias WINAPI.EnumSystemLocalesA EnumSystemLocalesA; -alias WINAPI.EnumSystemLocalesW EnumSystemLocalesW; -alias WINAPI.EqualRect EqualRect; +alias DWTWINAPI.EnumSystemLocalesW EnumSystemLocalesW; +alias DWTWINAPI.EqualRect EqualRect; alias WINAPI.EqualRgn EqualRgn; alias WINAPI.ExcludeClipRect ExcludeClipRect; alias WINAPI.ExpandEnvironmentStringsA ExpandEnvironmentStringsA; alias WINAPI.ExpandEnvironmentStringsW ExpandEnvironmentStringsW; alias WINAPI.ExtTextOutA ExtTextOutA; alias WINAPI.ExtTextOutW ExtTextOutW; -alias WINAPI.ExtractIconExA ExtractIconExA; -alias WINAPI.ExtractIconExW ExtractIconExW; +alias DWTWINAPI.ExtractIconExA ExtractIconExA; +alias DWTWINAPI.ExtractIconExW ExtractIconExW; alias WINAPI.ExtCreatePen ExtCreatePen; alias WINAPI.ExtCreateRegion ExtCreateRegion; alias WINAPI.FillRect FillRect; @@ -2968,7 +2977,7 @@ alias WINAPI.GetClipboardData GetClipboardData; alias WINAPI.GetClipboardFormatNameA GetClipboardFormatNameA; alias WINAPI.GetClipboardFormatNameW GetClipboardFormatNameW; -alias WINAPI.GetComboBoxInfo GetComboBoxInfo; +alias DWTWINAPI.GetComboBoxInfo GetComboBoxInfo; alias WINAPI.GetCurrentObject GetCurrentObject; alias WINAPI.GetCurrentProcessId GetCurrentProcessId; alias WINAPI.GetCurrentThreadId GetCurrentThreadId; @@ -2985,7 +2994,7 @@ alias WINAPI.GetDoubleClickTime GetDoubleClickTime; alias WINAPI.GetFocus GetFocus; alias WINAPI.GetFontLanguageInfo GetFontLanguageInfo; -alias WINAPI.GetGUIThreadInfo GetGUIThreadInfo; +alias DWTWINAPI.GetGUIThreadInfo GetGUIThreadInfo; alias WINAPI.GetIconInfo GetIconInfo; alias WINAPI.GetKeyNameTextA GetKeyNameTextA; alias WINAPI.GetKeyNameTextW GetKeyNameTextW; @@ -2995,13 +3004,13 @@ alias WINAPI.GetKeyboardState GetKeyboardState; alias WINAPI.GetLastActivePopup GetLastActivePopup; alias WINAPI.GetLastError GetLastError; -alias WINAPI.GetLayout GetLayout; +alias DWTWINAPI.GetLayout GetLayout; alias WINAPI.GetLocaleInfoA GetLocaleInfoA; alias WINAPI.GetLocaleInfoW GetLocaleInfoW; alias WINAPI.GetMenu GetMenu; -alias WINAPI.GetMenuBarInfo GetMenuBarInfo; +alias DWTWINAPI.GetMenuBarInfo GetMenuBarInfo; alias WINAPI.GetMenuDefaultItem GetMenuDefaultItem; -alias WINAPI.GetMenuInfo GetMenuInfo; +alias DWTWINAPI.GetMenuInfo GetMenuInfo; alias WINAPI.GetMenuItemCount GetMenuItemCount; alias WINAPI.GetMenuItemInfoA GetMenuItemInfoA; alias WINAPI.GetMenuItemInfoW GetMenuItemInfoW; @@ -3016,7 +3025,7 @@ alias WINAPI.GetModuleHandleA GetModuleHandleA; alias WINAPI.GetModuleHandleW GetModuleHandleW; alias WINAPI.GetMonitorInfoA GetMonitorInfoA; -alias WINAPI.GetMonitorInfoW GetMonitorInfoW; +alias DWTWINAPI.GetMonitorInfoW GetMonitorInfoW; alias WINAPI.GetNearestPaletteIndex GetNearestPaletteIndex; alias WINAPI.GetPath GetPath; alias WINAPI.GetObjectA GetObjectA; @@ -3032,7 +3041,7 @@ alias WINAPI.GetProfileStringA GetProfileStringA; alias WINAPI.GetProfileStringW GetProfileStringW; alias WINAPI.GetROP2 GetROP2; -alias WINAPI.GetRandomRgn GetRandomRgn; +alias DWTWINAPI.GetRandomRgn GetRandomRgn; alias WINAPI.GetRegionData GetRegionData; alias WINAPI.GetRgnBox GetRgnBox; alias WINAPI.GetSaveFileNameA GetSaveFileNameA; @@ -3041,7 +3050,7 @@ alias WINAPI.GetStockObject GetStockObject; alias WINAPI.GetSysColor GetSysColor; alias WINAPI.GetSysColorBrush GetSysColorBrush; -alias WINAPI.GetSystemDefaultUILanguage GetSystemDefaultUILanguage; +alias DWTWINAPI.GetSystemDefaultUILanguage GetSystemDefaultUILanguage; alias WINAPI.GetSystemMenu GetSystemMenu; alias WINAPI.GetSystemMetrics GetSystemMetrics; alias WINAPI.GetSystemPaletteEntries GetSystemPaletteEntries; @@ -3075,11 +3084,11 @@ alias WINAPI.GlobalLock GlobalLock; alias WINAPI.GlobalSize GlobalSize; alias WINAPI.GlobalUnlock GlobalUnlock; -alias WINAPI.GradientFill GradientFill; +alias DWTWINAPI.GradientFill GradientFill; alias WINAPI.HeapAlloc HeapAlloc; alias WINAPI.HeapFree HeapFree; alias WINAPI.HideCaret HideCaret; -alias WINAPI.IIDFromString IIDFromString; +alias DWTWINAPI.IIDFromString IIDFromString; alias WINAPI.ImageList_Add ImageList_Add; alias WINAPI.ImageList_AddMasked ImageList_AddMasked; alias WINAPI.ImageList_BeginDrag ImageList_BeginDrag; @@ -3114,7 +3123,7 @@ // alias WINAPI.ImmSetCompositionFontW ImmSetCompositionFontW; // alias WINAPI.ImmSetOpenStatus ImmSetOpenStatus; alias WINAPI.InitCommonControls InitCommonControls; -alias WINAPI.InitCommonControlsEx InitCommonControlsEx; +alias DWTWINAPI.InitCommonControlsEx InitCommonControlsEx; alias WINAPI.InsertMenuA InsertMenuA; alias WINAPI.InsertMenuItemA InsertMenuItemA; alias WINAPI.InsertMenuItemW InsertMenuItemW; @@ -3126,7 +3135,7 @@ alias WINAPI.InvalidateRect InvalidateRect; alias WINAPI.InvalidateRgn InvalidateRgn; alias WINAPI.IsDBCSLeadByte IsDBCSLeadByte; -alias WINAPI.IsHungAppWindow IsHungAppWindow; +alias DWTWINAPI.IsHungAppWindow IsHungAppWindow; alias WINAPI.IsIconic IsIconic; alias WINAPI.IsWindow IsWindow; alias WINAPI.IsWindowEnabled IsWindowEnabled; @@ -3155,11 +3164,11 @@ alias WINAPI.MessageBeep MessageBeep; alias WINAPI.MessageBoxA MessageBoxA; alias WINAPI.MessageBoxW MessageBoxW; -alias WINAPI.MonitorFromWindow MonitorFromWindow; +alias DWTWINAPI.MonitorFromWindow MonitorFromWindow; alias WINAPI.MoveToEx MoveToEx; -alias WINAPI.MsgWaitForMultipleObjectsEx MsgWaitForMultipleObjectsEx; +alias DWTWINAPI.MsgWaitForMultipleObjectsEx MsgWaitForMultipleObjectsEx; alias WINAPI.MultiByteToWideChar MultiByteToWideChar; -alias WINAPI.NotifyWinEvent NotifyWinEvent; +alias DWTWINAPI.NotifyWinEvent NotifyWinEvent; alias WINAPI.OffsetRect OffsetRect; alias WINAPI.OffsetRgn OffsetRgn; //alias WINAPI.OleInitialize OleInitialize; @@ -3207,15 +3216,15 @@ alias WINAPI.RemoveMenu RemoveMenu; alias WINAPI.RestoreDC RestoreDC; alias WINAPI.RoundRect RoundRect; -alias WINAPI.RtlMoveMemory MoveMemory; -alias WINAPI.SHBrowseForFolderA SHBrowseForFolderA; -alias WINAPI.SHBrowseForFolderW SHBrowseForFolderW; +alias DWTWINAPI.RtlMoveMemory MoveMemory; +alias DWTWINAPI.SHBrowseForFolderA SHBrowseForFolderA; +alias DWTWINAPI.SHBrowseForFolderW SHBrowseForFolderW; version(WinCE){ alias WINAPI.SHCreateMenuBar SHCreateMenuBar; } -alias WINAPI.SHGetMalloc SHGetMalloc; -alias WINAPI.SHGetPathFromIDListA SHGetPathFromIDListA; -alias WINAPI.SHGetPathFromIDListW SHGetPathFromIDListW; +alias DWTWINAPI.SHGetMalloc SHGetMalloc; +alias DWTWINAPI.SHGetPathFromIDListA SHGetPathFromIDListA; +alias DWTWINAPI.SHGetPathFromIDListW SHGetPathFromIDListW; version(WinCE) { alias WINAPI.SHHandleWMSettingChange SHHandleWMSettingChange; @@ -3226,31 +3235,31 @@ } alias WINAPI.SaveDC SaveDC; alias WINAPI.ScreenToClient ScreenToClient; -alias WINAPI.ScriptApplyDigitSubstitution ScriptApplyDigitSubstitution; -alias WINAPI.ScriptBreak ScriptBreak; -alias WINAPI.ScriptCPtoX ScriptCPtoX; -alias WINAPI.ScriptCacheGetHeight ScriptCacheGetHeight; -alias WINAPI.ScriptFreeCache ScriptFreeCache; -alias WINAPI.ScriptGetFontProperties ScriptGetFontProperties; -alias WINAPI.ScriptGetLogicalWidths ScriptGetLogicalWidths; -alias WINAPI.ScriptGetProperties ScriptGetProperties; -alias WINAPI.ScriptItemize ScriptItemize; -alias WINAPI.ScriptJustify ScriptJustify; -alias WINAPI.ScriptLayout ScriptLayout; -alias WINAPI.ScriptPlace ScriptPlace; -alias WINAPI.ScriptRecordDigitSubstitution ScriptRecordDigitSubstitution; -alias WINAPI.ScriptGetCMap ScriptGetCMap; -alias WINAPI.ScriptShape ScriptShape; -alias WINAPI.ScriptStringAnalyse ScriptStringAnalyse; -alias WINAPI.ScriptStringOut ScriptStringOut; -alias WINAPI.ScriptStringFree ScriptStringFree; -alias WINAPI.ScriptTextOut ScriptTextOut; -alias WINAPI.ScriptXtoCP ScriptXtoCP; +alias DWTWINAPI.ScriptApplyDigitSubstitution ScriptApplyDigitSubstitution; +alias DWTWINAPI.ScriptBreak ScriptBreak; +alias DWTWINAPI.ScriptCPtoX ScriptCPtoX; +alias DWTWINAPI.ScriptCacheGetHeight ScriptCacheGetHeight; +alias DWTWINAPI.ScriptFreeCache ScriptFreeCache; +alias DWTWINAPI.ScriptGetFontProperties ScriptGetFontProperties; +alias DWTWINAPI.ScriptGetLogicalWidths ScriptGetLogicalWidths; +alias DWTWINAPI.ScriptGetProperties ScriptGetProperties; +alias DWTWINAPI.ScriptItemize ScriptItemize; +alias DWTWINAPI.ScriptJustify ScriptJustify; +alias DWTWINAPI.ScriptLayout ScriptLayout; +alias DWTWINAPI.ScriptPlace ScriptPlace; +alias DWTWINAPI.ScriptRecordDigitSubstitution ScriptRecordDigitSubstitution; +alias DWTWINAPI.ScriptGetCMap ScriptGetCMap; +alias DWTWINAPI.ScriptShape ScriptShape; +alias DWTWINAPI.ScriptStringAnalyse ScriptStringAnalyse; +alias DWTWINAPI.ScriptStringOut ScriptStringOut; +alias DWTWINAPI.ScriptStringFree ScriptStringFree; +alias DWTWINAPI.ScriptTextOut ScriptTextOut; +alias DWTWINAPI.ScriptXtoCP ScriptXtoCP; alias WINAPI.ScrollWindowEx ScrollWindowEx; alias WINAPI.SelectClipRgn SelectClipRgn; alias WINAPI.SelectObject SelectObject; alias WINAPI.SelectPalette SelectPalette; -alias WINAPI.SendInput SendInput; +alias DWTWINAPI.SendInput SendInput; alias WINAPI.SendMessageA SendMessageA; alias WINAPI.SendMessageW SendMessageW; alias WINAPI.SetActiveWindow SetActiveWindow; @@ -3269,10 +3278,10 @@ alias WINAPI.SetForegroundWindow SetForegroundWindow; alias WINAPI.SetGraphicsMode SetGraphicsMode; alias WINAPI.SetLastError SetLastError; -alias WINAPI.SetLayout SetLayout; +alias DWTWINAPI.SetLayout SetLayout; alias WINAPI.SetMenu SetMenu; alias WINAPI.SetMenuDefaultItem SetMenuDefaultItem; -alias WINAPI.SetMenuInfo SetMenuInfo; +alias DWTWINAPI.SetMenuInfo SetMenuInfo; alias WINAPI.SetMenuItemInfoA SetMenuItemInfoA; alias WINAPI.SetMenuItemInfoW SetMenuItemInfoW; alias WINAPI.SetMetaRgn SetMetaRgn; @@ -3299,10 +3308,10 @@ alias WINAPI.SetWindowTextW SetWindowTextW; alias WINAPI.SetWindowsHookExA SetWindowsHookExA; alias WINAPI.SetWindowsHookExW SetWindowsHookExW; -alias WINAPI.ShellExecuteExA ShellExecuteExA; -alias WINAPI.ShellExecuteExW ShellExecuteExW; -alias WINAPI.Shell_NotifyIconA Shell_NotifyIconA; -alias WINAPI.Shell_NotifyIconW Shell_NotifyIconW; +alias DWTWINAPI.ShellExecuteExA ShellExecuteExA; +alias DWTWINAPI.ShellExecuteExW ShellExecuteExW; +alias DWTWINAPI.Shell_NotifyIconA Shell_NotifyIconA; +alias DWTWINAPI.Shell_NotifyIconW Shell_NotifyIconW; alias WINAPI.SHGetFileInfo SHGetFileInfo; alias WINAPI.ShowCaret ShowCaret; alias WINAPI.ShowOwnedPopups ShowOwnedPopups; @@ -3321,14 +3330,14 @@ alias WINAPI.SystemParametersInfoW SystemParametersInfoW; alias WINAPI.ToAscii ToAscii; alias WINAPI.ToUnicode ToUnicode; -alias WINAPI.TrackMouseEvent TrackMouseEvent; +alias DWTWINAPI.TrackMouseEvent TrackMouseEvent; alias WINAPI.TrackPopupMenu TrackPopupMenu; alias WINAPI.TranslateAcceleratorA TranslateAcceleratorA; alias WINAPI.TranslateAcceleratorW TranslateAcceleratorW; alias WINAPI.TranslateCharsetInfo TranslateCharsetInfo; alias WINAPI.TranslateMDISysAccel TranslateMDISysAccel; alias WINAPI.TranslateMessage TranslateMessage; -alias WINAPI.TransparentBlt TransparentBlt; +alias DWTWINAPI.TransparentBlt TransparentBlt; version(WinCE){ alias WINAPI.TransparentImage TransparentImage; } @@ -3345,7 +3354,7 @@ alias WINAPI.WideCharToMultiByte WideCharToMultiByte; alias WINAPI.WindowFromDC WindowFromDC; alias WINAPI.WindowFromPoint WindowFromPoint; -alias WINAPI.wcslen wcslen; +alias DWTWINAPI.wcslen wcslen; public static int VERSION (int major, int minor) { return major << 16 | minor;} @@ -3455,9 +3464,9 @@ } -alias WINAPI.OleInitialize OleInitialize; -alias WINAPI.OleUninitialize OleUninitialize; -alias WINAPI.CoCreateInstance CoCreateInstance; +alias DWTWINAPI.OleInitialize OleInitialize; +alias DWTWINAPI.OleUninitialize OleUninitialize; +alias DWTWINAPI.CoCreateInstance CoCreateInstance; /** * @@ -3547,7 +3556,7 @@ *cast(HTREEITEM *)prc = hitem; return cast(bool) SendMessage( hwnd, TVM_GETITEMRECT, code, cast(int)prc ); } -static int strlen( CHAR* ptr ){ +static int strlen( PCHAR ptr ){ return tango.stdc.string.strlen( cast(char*)ptr ); } @@ -3556,7 +3565,7 @@ pt.y = cast(SHORT) HIWORD(pts); } -alias WINAPI.GetScrollBarInfo GetScrollBarInfo; +alias DWTWINAPI.GetScrollBarInfo GetScrollBarInfo; } // END of OS //----------------------------------------------------------------------------- import tango.sys.win32.CodePage : CodePage; diff -r dffb802cad03 -r fbb9174f2a2c dwt/internal/win32/WINAPI.d --- a/dwt/internal/win32/WINAPI.d Sun Jul 06 18:45:41 2008 +0200 +++ b/dwt/internal/win32/WINAPI.d Fri Jul 11 23:01:25 2008 +0200 @@ -10,11 +10,12 @@ //import tango_sys_win32.Types; //import STDWIN = tango_sys_win32.UserGdi; +version(TANGOSVN){ +} +else{ // !TANGOSVN extern(Windows) { - HRESULT AssocQueryStringA(ASSOCF flags, int str, LPCTSTR pszAssoc, LPCTSTR pszExtra, LPTSTR pszOut, DWORD *pcchOut); - HRESULT AssocQueryStringW(ASSOCF flags, int str, LPCTSTR pszAssoc, LPCTSTR pszExtra, LPTSTR pszOut, DWORD *pcchOut); // BOOL GetWindowInfo(HWND, PWINDOWINFO); // BOOL EnumDisplayMonitors(HDC, RECT*, MONITORENUMPROC, LPARAM); @@ -1749,11 +1750,13 @@ // BOOL SetWaitableTimer(HANDLE hTimer, LARGE_INTEGER* pDueTime, LONG lPeriod, PTIMERAPCROUTINE pfnCompletionRoutine, LPVOID lpArgToCompletionRoutine, BOOL fResume); } - +} // !TANGOSVN //////////////////////////////////////////////////////////////////////////////////////// // dwt //////////////////////////////////////////////////////////////////////////////////////// + HRESULT AssocQueryStringA(ASSOCF flags, int str, LPCTSTR pszAssoc, LPCTSTR pszExtra, LPTSTR pszOut, DWORD *pcchOut); + HRESULT AssocQueryStringW(ASSOCF flags, int str, LPCTSTR pszAssoc, LPCTSTR pszExtra, LPTSTR pszOut, DWORD *pcchOut); alias HANDLE HPAINTBUFFER; extern (Windows){ @@ -3238,12 +3241,6 @@ WPARAM wParam, LPARAM lParam ); -BOOL PrintDlgA( - LPPRINTDLGA lppd -); -BOOL PrintDlgW( - LPPRINTDLGW lppd -); BOOL PtInRect( RECT *lprc, // rectangle POINT pt // point diff -r dffb802cad03 -r fbb9174f2a2c dwt/internal/win32/WINTYPES.d --- a/dwt/internal/win32/WINTYPES.d Sun Jul 06 18:45:41 2008 +0200 +++ b/dwt/internal/win32/WINTYPES.d Fri Jul 11 23:01:25 2008 +0200 @@ -8,7 +8,10 @@ adopted form tango Author: Trevor Parscal */ - +version(TANGOSVN){ + public import tango.sys.win32.Types; +} +else{ // !TANGOSVN /+ Aliases, Types, and Constants +/ const void* NULL = null; alias int SCODE; @@ -19,11 +22,11 @@ alias WINBOOL BOOL; alias uint CALTYPE; alias uint CALID; -alias ubyte CCHAR; -alias ubyte* PCHAR; +alias char CCHAR; +alias char* PCHAR; alias uint COLORREF; alias uint TCOLORREF; -alias ubyte CHAR; +alias char CHAR; alias ubyte BYTE; alias short INT16; alias ushort UINT16; @@ -37,10 +40,11 @@ alias uint UINT_PTR; alias int LONG_PTR; alias uint ULONG_PTR; +alias DWORD DWORD_PTR; alias uint PROPID; const BOOL FALSE = 0; const BOOL TRUE = -1; -alias ubyte* PANSICHAR; +alias char* PANSICHAR; alias wchar* PWIDECHAR; alias int* PINTEGER; alias long LONGLONG; @@ -156,7 +160,10 @@ alias ubyte TBYTE; version(Win32SansUnicode){ - alias ubyte TCHAR; + // Strictly speaking this should be ubyte since char is UTF-8, but that + // fills code with so many casts that it's just not sensible. + // (See also DMD Issue 2193.) + alias char TCHAR; }else{ alias wchar TCHAR; } @@ -2877,7 +2884,7 @@ RDW_ALLCHILDREN = (128), RDW_NOCHILDREN = (64), /* - // + // HKEY_CLASSES_ROOT = (0x80000000), HKEY_CURRENT_USER = (0x80000001), HKEY_LOCAL_MACHINE = (0x80000002), @@ -6827,28 +6834,52 @@ alias LOGFONTW* LPLOGFONT; } -struct TCHOOSEFONT -{ - DWORD lStructSize; - HWND hwndOwner; - HDC hDC; - LPLOGFONT lpLogFont; - INT iPointSize; - DWORD Flags; - DWORD rgbColors; - LPARAM lCustData; +struct CHOOSEFONTA { + DWORD lStructSize; + HWND hwndOwner; + HDC hDC; + LPLOGFONTA lpLogFont; + INT iPointSize; + DWORD Flags; + DWORD rgbColors; + LPARAM lCustData; LPCFHOOKPROC lpfnHook; - LPCTSTR lpTemplateName; - HINST hInstance; - LPTSTR lpszStyle; - ushort nFontType; - ushort ___MISSING_ALIGNMENT__; - INT nSizeMin; - INT nSizeMax; -} - -alias TCHOOSEFONT* LPCHOOSEFONT; -alias TCHOOSEFONT* PCHOOSEFONT; + LPCSTR lpTemplateName; + HINSTANCE hInstance; + LPSTR lpszStyle; + WORD nFontType; + WORD ___MISSING_ALIGNMENT__; + INT nSizeMin; + INT nSizeMax; +}alias CHOOSEFONTA* PCHOOSEFONTA, LPCHOOSEFONTA; + +struct CHOOSEFONTW { + DWORD lStructSize; + HWND hwndOwner; + HDC hDC; + LOGFONTW* lpLogFont; + INT iPointSize; + DWORD Flags; + DWORD rgbColors; + LPARAM lCustData; + LPCFHOOKPROC lpfnHook; + LPCWSTR lpTemplateName; + HINSTANCE hInstance; + LPWSTR lpszStyle; + WORD nFontType; + WORD ___MISSING_ALIGNMENT__; + INT nSizeMin; + INT nSizeMax; +}alias CHOOSEFONTW* PCHOOSEFONTW, LPCHOOSEFONTW; +version(Win32SansUnicode){ + alias CHOOSEFONTA CHOOSEFONT; +}else{ + alias CHOOSEFONTW CHOOSEFONT; +} + +alias CHOOSEFONT* LPCHOOSEFONT; +alias CHOOSEFONT* PCHOOSEFONT; +alias CHOOSEFONT TCHOOSEFONT; struct CIDA { @@ -8002,6 +8033,7 @@ alias DOCINFO* LPDOCINFO; alias DOCINFO* PDOCINFO; + struct DRAGLISTINFO { UINT uNotification; @@ -11582,34 +11614,67 @@ alias PREVENT_MEDIA_REMOVAL TPREVENTMEDIAREMOVAL; alias PREVENT_MEDIA_REMOVAL* PPREVENTMEDIAREMOVAL; -align(1) struct TPRINTDLG -{ - DWORD lStructSize; - HWND hwndOwner; - HANDLE hDevMode; - HANDLE hDevNames; - HDC hDC; - DWORD Flags; - ushort nFromPage; - ushort nToPage; - ushort nMinPage; - ushort nMaxPage; - ushort nCopies; - HINST hInstance; - DWORD lCustData; +struct PRINTDLGA { // pd + align(2): + DWORD lStructSize; + HWND hwndOwner; + HANDLE hDevMode; + HANDLE hDevNames; + HDC hDC; + DWORD Flags; + WORD nFromPage; + WORD nToPage; + WORD nMinPage; + WORD nMaxPage; + WORD nCopies; + HINSTANCE hInstance; + DWORD lCustData; LPPRINTHOOKPROC lpfnPrintHook; LPSETUPHOOKPROC lpfnSetupHook; - LPCTSTR lpPrintTemplateName; - LPCTSTR lpSetupTemplateName; - HANDLE hPrintTemplate; - HANDLE hSetupTemplate; -} - -alias TPRINTDLG* LPPRINTDLG; -alias TPRINTDLG* PPRINTDLG; -alias TPRINTDLG TAGPD; -alias TPRINTDLG TPD; -alias TPRINTDLG* PPD; + LPCSTR lpPrintTemplateName; + LPCSTR lpSetupTemplateName; + HANDLE hPrintTemplate; + HANDLE hSetupTemplate; +} +alias PRINTDLGA* PPRINTDLGA; +alias PRINTDLGA* LPPRINTDLGA; +struct PRINTDLGW { // pd + align(2): + DWORD lStructSize; + HWND hwndOwner; + HANDLE hDevMode; + HANDLE hDevNames; + HDC hDC; + DWORD Flags; + WORD nFromPage; + WORD nToPage; + WORD nMinPage; + WORD nMaxPage; + WORD nCopies; + HINSTANCE hInstance; + DWORD lCustData; + LPPRINTHOOKPROC lpfnPrintHook; + LPSETUPHOOKPROC lpfnSetupHook; + LPCWSTR lpPrintTemplateName; + LPCWSTR lpSetupTemplateName; + HANDLE hPrintTemplate; + HANDLE hSetupTemplate; +} +alias PRINTDLGW* PPRINTDLGW; +alias PRINTDLGW* LPPRINTDLGW; + +version(Win32SansUnicode){ + alias PRINTDLGA PRINTDLG; +}else{ + alias PRINTDLGW PRINTDLG; +} + + +alias PRINTDLG* LPPRINTDLG; +alias PRINTDLG* PPRINTDLG; +alias PRINTDLG TAGPD; +alias PRINTDLG TPD; +alias PRINTDLG* PPD; struct PRINTER_DEFAULTS { @@ -13453,7 +13518,7 @@ alias NETCONNECTINFOSTRUCT TNETCONNECTINFOSTRUCT; alias NETCONNECTINFOSTRUCT* PNETCONNECTINFOSTRUCT; extern(Windows){ -alias int (*ENUMMETAFILEPROC)(HDC, HANDLETABLE, METARECORD, int, LPARAM); +alias int (*ENUMMETAFILEPROC)(HDC, HANDLETABLE*, METARECORD*, int, LPARAM); alias int (*ENHMETAFILEPROC)(HDC, HANDLETABLE*, ENHMETARECORD*, int, LPARAM); alias int (*ENUMFONTSPROC)(LPLOGFONT, LPTEXTMETRIC, DWORD, LPARAM); alias int (*FONTENUMPROC)(ENUMLOGFONT*, NEWTEXTMETRIC*, int, LPARAM); @@ -13914,6 +13979,8 @@ int CO_E_RELEASED = (DWORD)((0x800401FF)); */ +} // !TANGOSVN + /////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////// @@ -14062,7 +14129,7 @@ alias DWORD LGRPID; //alias LONG LONG_PTR; //alias ULONG ULONG_PTR; -alias DWORD DWORD_PTR; +//alias DWORD DWORD_PTR; //alias int INT_PTR; //alias uint UINT_PTR; // alias DWORD LCID; @@ -14208,53 +14275,6 @@ -struct CHOOSEFONTA { - // sizeof = 60 ??? -// align(2): - DWORD lStructSize; - HWND hwndOwner; - HDC hDC; - LPLOGFONTA lpLogFont; - INT iPointSize; - DWORD Flags; - DWORD rgbColors; - LPARAM lCustData; - LPCFHOOKPROC lpfnHook; - LPCSTR lpTemplateName; - HINSTANCE hInstance; - LPSTR lpszStyle; - WORD nFontType; - WORD ___MISSING_ALIGNMENT__; - INT nSizeMin; - INT nSizeMax; -}alias CHOOSEFONTA* PCHOOSEFONTA, LPCHOOSEFONTA; - -struct CHOOSEFONTW { - // sizeof = 60 ??? -// align(2): - DWORD lStructSize; - HWND hwndOwner; - HDC hDC; - LOGFONTW* lpLogFont; - INT iPointSize; - DWORD Flags; - DWORD rgbColors; - LPARAM lCustData; - LPCFHOOKPROC lpfnHook; - LPCWSTR lpTemplateName; - HINSTANCE hInstance; - LPWSTR lpszStyle; - WORD nFontType; - WORD ___MISSING_ALIGNMENT__; - INT nSizeMin; - INT nSizeMax; -}alias CHOOSEFONTW* PCHOOSEFONTW, LPCHOOSEFONTW; -version(Win32SansUnicode){ - alias CHOOSEFONTA CHOOSEFONT; -}else{ - alias CHOOSEFONTW CHOOSEFONT; -} - struct COMBOBOXINFO { DWORD cbSize; RECT rcItem; @@ -15086,58 +15106,6 @@ //} -struct PRINTDLGA { // pd - align(2): - DWORD lStructSize; - HWND hwndOwner; - HANDLE hDevMode; - HANDLE hDevNames; - HDC hDC; - DWORD Flags; - WORD nFromPage; - WORD nToPage; - WORD nMinPage; - WORD nMaxPage; - WORD nCopies; - HINSTANCE hInstance; - DWORD lCustData; - LPPRINTHOOKPROC lpfnPrintHook; - LPSETUPHOOKPROC lpfnSetupHook; - LPCSTR lpPrintTemplateName; - LPCSTR lpSetupTemplateName; - HANDLE hPrintTemplate; - HANDLE hSetupTemplate; -} -alias PRINTDLGA* PPRINTDLGA, LPPRINTDLGA; -struct PRINTDLGW { // pd - align(2): - DWORD lStructSize; - HWND hwndOwner; - HANDLE hDevMode; - HANDLE hDevNames; - HDC hDC; - DWORD Flags; - WORD nFromPage; - WORD nToPage; - WORD nMinPage; - WORD nMaxPage; - WORD nCopies; - HINSTANCE hInstance; - DWORD lCustData; - LPPRINTHOOKPROC lpfnPrintHook; - LPSETUPHOOKPROC lpfnSetupHook; - LPCWSTR lpPrintTemplateName; - LPCWSTR lpSetupTemplateName; - HANDLE hPrintTemplate; - HANDLE hSetupTemplate; -} -alias PRINTDLGW* PPRINTDLGW, LPPRINTDLGW; -version(Win32SansUnicode){ - alias PRINTDLGA PRINTDLG; -}else{ - alias PRINTDLGW PRINTDLG; -} - struct REBARBANDINFOA { UINT cbSize; UINT fMask;