X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1d451c5bd117cd7e7dcf3f1516049141093e46f0..a7d5151df02bf70a9f6ff1c5c7fd33ab07bf409c:/src/os2/settings.cpp diff --git a/src/os2/settings.cpp b/src/os2/settings.cpp index 5918387a3f..6d29e973e8 100644 --- a/src/os2/settings.cpp +++ b/src/os2/settings.cpp @@ -78,138 +78,126 @@ wxColour wxSystemSettingsNative::GetColour( { COLORREF vRef; wxColour vCol; + LONG vSysClr; switch (nIndex) { // // PM actually has values for these // case wxSYS_COLOUR_WINDOW: - vRef = (ULONG)::WinQuerySysColor( HWND_DESKTOP - ,SYSCLR_WINDOW - ,0L - ); - vCol.Set( GetRValue(vRef) - ,GetGValue(vRef) - ,GetBValue(vRef) - ); + vSysClr = SYSCLR_WINDOW; break; case wxSYS_COLOUR_WINDOWFRAME: - vRef = (ULONG)::WinQuerySysColor( HWND_DESKTOP - ,SYSCLR_WINDOWFRAME - ,0L - ); - vCol.Set( GetRValue(vRef) - ,GetGValue(vRef) - ,GetBValue(vRef) - ); + vSysClr = SYSCLR_WINDOWFRAME; break; case wxSYS_COLOUR_MENUTEXT: - vRef = (ULONG)::WinQuerySysColor( HWND_DESKTOP - ,SYSCLR_MENUTEXT - ,0L - ); - vCol.Set( GetRValue(vRef) - ,GetGValue(vRef) - ,GetBValue(vRef) - ); + vSysClr = SYSCLR_MENUTEXT; + break; + + case wxSYS_COLOUR_MENUHILIGHT: + vSysClr = SYSCLR_MENUHILITE; break; case wxSYS_COLOUR_BTNFACE: - vRef = (ULONG)::WinQuerySysColor( HWND_DESKTOP - ,SYSCLR_BUTTONDEFAULT - ,0L - ); - vCol.Set( GetRValue(vRef) - ,GetGValue(vRef) - ,GetBValue(vRef) - ); + vSysClr = SYSCLR_BUTTONMIDDLE; break; case wxSYS_COLOUR_BTNSHADOW: - vRef = (ULONG)::WinQuerySysColor( HWND_DESKTOP - ,SYSCLR_BUTTONMIDDLE - ,0L - ); - vCol.Set( GetRValue(vRef) - ,GetGValue(vRef) - ,GetBValue(vRef) - ); + vSysClr = SYSCLR_BUTTONDARK; break; case wxSYS_COLOUR_BTNHIGHLIGHT: - vRef = (ULONG)::WinQuerySysColor( HWND_DESKTOP - ,SYSCLR_BUTTONLIGHT - ,0L - ); - vCol.Set( GetRValue(vRef) - ,GetGValue(vRef) - ,GetBValue(vRef) - ); + vSysClr = SYSCLR_BUTTONLIGHT; + break; + + case wxSYS_COLOUR_BACKGROUND: + vSysClr = SYSCLR_BACKGROUND; + break; + + case wxSYS_COLOUR_APPWORKSPACE: + vSysClr = SYSCLR_APPWORKSPACE; break; case wxSYS_COLOUR_MENUBAR: - vRef = (ULONG)::WinQuerySysColor( HWND_DESKTOP - ,SYSCLR_MENU - ,0L - ); - vCol.Set( GetRValue(vRef) - ,GetGValue(vRef) - ,GetBValue(vRef) - ); + case wxSYS_COLOUR_MENU: + vSysClr = SYSCLR_MENU; + break; + + case wxSYS_COLOUR_INACTIVECAPTION: + vSysClr = SYSCLR_INACTIVETITLE; + break; + + case wxSYS_COLOUR_INACTIVEBORDER: + vSysClr = SYSCLR_INACTIVEBORDER; break; - // - // We'll have to just give values to these - // case wxSYS_COLOUR_LISTBOX: + vSysClr = SYSCLR_ENTRYFIELD; + break; + case wxSYS_COLOUR_CAPTIONTEXT: - return(*wxWHITE); + vSysClr = SYSCLR_TITLETEXT; break; - case wxSYS_COLOUR_WINDOWTEXT: case wxSYS_COLOUR_INACTIVECAPTIONTEXT: + vSysClr = SYSCLR_INACTIVETITLETEXT; + break; + + case wxSYS_COLOUR_WINDOWTEXT: case wxSYS_COLOUR_BTNTEXT: - case wxSYS_COLOUR_INFOTEXT: - vCol = (*wxBLACK); + vSysClr = SYSCLR_WINDOWTEXT; break; - // - // We should customize these to look like other ports - // + case wxSYS_COLOUR_INFOTEXT: + vSysClr = SYSCLR_HELPTEXT; + break; case wxSYS_COLOUR_ACTIVECAPTION: + vSysClr = SYSCLR_ACTIVETITLE; + break; + case wxSYS_COLOUR_ACTIVEBORDER: + vSysClr = SYSCLR_ACTIVEBORDER; + break; + case wxSYS_COLOUR_HIGHLIGHT: - vCol = (*wxBLUE); + vSysClr = SYSCLR_HILITEBACKGROUND; break; case wxSYS_COLOUR_SCROLLBAR: - case wxSYS_COLOUR_BACKGROUND: - case wxSYS_COLOUR_INACTIVECAPTION: - case wxSYS_COLOUR_MENU: - case wxSYS_COLOUR_INACTIVEBORDER: - case wxSYS_COLOUR_APPWORKSPACE: + vSysClr = SYSCLR_SCROLLBAR; + break; + case wxSYS_COLOUR_HIGHLIGHTTEXT: + vSysClr = SYSCLR_HILITEFOREGROUND; + break; + + case wxSYS_COLOUR_INFOBK: + vSysClr = SYSCLR_HELPBACKGROUND; + break; + + // Don't know what these should be, so leave them grey (normally) case wxSYS_COLOUR_GRAYTEXT: case wxSYS_COLOUR_3DDKSHADOW: case wxSYS_COLOUR_3DLIGHT: - case wxSYS_COLOUR_INFOBK: - vCol = (*wxLIGHT_GREY); + case wxSYS_COLOUR_HOTLIGHT: + case wxSYS_COLOUR_GRADIENTACTIVECAPTION: + case wxSYS_COLOUR_GRADIENTINACTIVECAPTION: + vSysClr = SYSCLR_BUTTONMIDDLE; break; default: - vRef = (ULONG)::WinQuerySysColor( HWND_DESKTOP - ,SYSCLR_WINDOW - ,0L - ); - vCol.Set( GetRValue(vRef) - ,GetGValue(vRef) - ,GetBValue(vRef) - ); + vSysClr = SYSCLR_WINDOW; break; } + vRef = (ULONG)::WinQuerySysColor( HWND_DESKTOP, + vSysClr, + 0L ); + vCol.Set( GetRValue(vRef), + GetGValue(vRef), + GetBValue(vRef) ); return(vCol); } // end of wxSystemSettingsNative::GetColour @@ -249,9 +237,8 @@ wxFont wxSystemSettingsNative::GetFont( } // Get a system metric, e.g. scrollbar size -int wxSystemSettingsNative::GetMetric( - wxSystemMetric index -) +int wxSystemSettingsNative::GetMetric( wxSystemMetric index, + wxWindow* WXUNUSED(win) ) { switch ( index) { @@ -275,18 +262,22 @@ int wxSystemSettingsNative::GetMetric( // TODO case wxSYS_ICONSPACING_Y: // TODO case wxSYS_WINDOWMIN_X: // TODO case wxSYS_WINDOWMIN_Y: - + case wxSYS_SCREEN_X: return ::WinQuerySysValue(HWND_DESKTOP,SV_CXSCREEN); case wxSYS_SCREEN_Y: return ::WinQuerySysValue(HWND_DESKTOP,SV_CYSCREEN); - + // TODO case wxSYS_FRAMESIZE_X: // TODO case wxSYS_FRAMESIZE_Y: // TODO case wxSYS_SMALLICON_X: // TODO case wxSYS_SMALLICON_Y: - // TODO case wxSYS_HSCROLL_Y: - // TODO case wxSYS_VSCROLL_X: + + case wxSYS_HSCROLL_Y: + return ::WinQuerySysValue(HWND_DESKTOP,SV_CYHSCROLL); + case wxSYS_VSCROLL_X: + return ::WinQuerySysValue(HWND_DESKTOP,SV_CXVSCROLL); + // TODO case wxSYS_VSCROLL_ARROW_X: // TODO case wxSYS_VSCROLL_ARROW_Y: // TODO case wxSYS_VTHUMB_Y: @@ -296,27 +287,20 @@ int wxSystemSettingsNative::GetMetric( // TODO case wxSYS_PENWINDOWS_PRESENT: // TODO case wxSYS_SHOW_SOUNDS: // TODO case wxSYS_SWAP_BUTTONS: - - default: - return -1; // unsupported metric } - return 0; + return -1; // unsupported metric } -bool wxSystemSettingsNative::HasFeature( - wxSystemFeature index -) +bool wxSystemSettingsNative::HasFeature( wxSystemFeature index ) { switch (index) { case wxSYS_CAN_ICONIZE_FRAME: - return TRUE; + return true; case wxSYS_CAN_DRAW_FRAME_DECORATIONS: - return FALSE; - - default: - return FALSE; + return false; } - return FALSE; + + return false; }