From: Vadim Zeitlin Date: Fri, 3 Dec 2010 12:40:28 +0000 (+0000) Subject: Update AUI bitmaps when its colours change. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/cae374efb902a9b7f6911e97aa4cd4a2b7181e4c Update AUI bitmaps when its colours change. Extract the bitmaps initialization in wxAuiDefaultDockArt::InitBitmaps() and call it from SetColour() to ensure that the bitmaps are updated when the colour scheme changes. Closes #12532. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66313 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/aui/dockart.h b/include/wx/aui/dockart.h index dbe21f332b..444308bdc9 100644 --- a/include/wx/aui/dockart.h +++ b/include/wx/aui/dockart.h @@ -134,6 +134,8 @@ protected: void DrawCaptionBackground(wxDC& dc, const wxRect& rect, bool active); + void InitBitmaps(); + protected: wxPen m_border_pen; diff --git a/src/aui/dockart.cpp b/src/aui/dockart.cpp index eabee0f202..3d9675b2ba 100644 --- a/src/aui/dockart.cpp +++ b/src/aui/dockart.cpp @@ -190,6 +190,28 @@ wxAuiDefaultDockArt::wxAuiDefaultDockArt() m_caption_font = wxFont(8, wxDEFAULT, wxNORMAL, wxNORMAL, FALSE); #endif + // default metric values +#if defined( __WXMAC__ ) && wxOSX_USE_COCOA_OR_CARBON + SInt32 height; + GetThemeMetric( kThemeMetricSmallPaneSplitterHeight , &height ); + m_sash_size = height; +#elif defined(__WXGTK__) + m_sash_size = wxRendererNative::Get().GetSplitterParams(NULL).widthSash; +#else + m_sash_size = 4; +#endif + m_caption_size = 17; + m_border_size = 1; + m_button_size = 14; + m_gripper_size = 9; + m_gradient_type = wxAUI_GRADIENT_VERTICAL; + + InitBitmaps(); +} + +void +wxAuiDefaultDockArt::InitBitmaps () +{ // some built in bitmaps #if defined( __WXMAC__ ) static const unsigned char close_bits[]={ @@ -256,22 +278,6 @@ wxAuiDefaultDockArt::wxAuiDefaultDockArt() m_inactive_pin_bitmap = wxAuiBitmapFromBits(pin_bits, 16, 16, m_inactive_caption_text_colour); m_active_pin_bitmap = wxAuiBitmapFromBits(pin_bits, 16, 16, m_active_caption_text_colour); - - // default metric values -#if defined( __WXMAC__ ) && wxOSX_USE_COCOA_OR_CARBON - SInt32 height; - GetThemeMetric( kThemeMetricSmallPaneSplitterHeight , &height ); - m_sash_size = height; -#elif defined(__WXGTK__) - m_sash_size = wxRendererNative::Get().GetSplitterParams(NULL).widthSash; -#else - m_sash_size = 4; -#endif - m_caption_size = 17; - m_border_size = 1; - m_button_size = 14; - m_gripper_size = 9; - m_gradient_type = wxAUI_GRADIENT_VERTICAL; } int wxAuiDefaultDockArt::GetMetric(int id) @@ -344,6 +350,8 @@ void wxAuiDefaultDockArt::SetColour(int id, const wxColor& colour) break; default: wxFAIL_MSG(wxT("Invalid Metric Ordinal")); break; } + + InitBitmaps(); } void wxAuiDefaultDockArt::SetFont(int id, const wxFont& font)