]> git.saurik.com Git - wxWidgets.git/blobdiff - src/aui/auibar.cpp
Add wxCompositeWindow<> and use it in wxDatePickerCtrlGeneric.
[wxWidgets.git] / src / aui / auibar.cpp
index b9039efd55eeb182dfb3d11b3aad26d7f6e905f9..3885fdf078960efd0d3922a54f035ebbbfc1bb71 100644 (file)
@@ -69,9 +69,6 @@ const int BUTTON_DROPDOWN_WIDTH = 10;
 wxBitmap wxAuiBitmapFromBits(const unsigned char bits[], int w, int h,
                              const wxColour& color);
 
-unsigned char wxAuiBlendColour(unsigned char fg, unsigned char bg, double alpha);
-wxColor wxAuiStepColour(const wxColor& c, int percent);
-
 static wxBitmap MakeDisabledBitmap(wxBitmap& bmp)
 {
     wxImage image = bmp.ConvertToImage();
@@ -98,9 +95,9 @@ static wxBitmap MakeDisabledBitmap(wxBitmap& bmp)
             if (has_mask && *r == mr && *g == mg && *b == mb)
                 continue;
 
-            *r = wxAuiBlendColour(*r, 255, 0.4);
-            *g = wxAuiBlendColour(*g, 255, 0.4);
-            *b = wxAuiBlendColour(*b, 255, 0.4);
+            *r = wxColour::AlphaBlend(*r, 255, 0.4);
+            *g = wxColour::AlphaBlend(*g, 255, 0.4);
+            *b = wxColour::AlphaBlend(*b, 255, 0.4);
         }
     }
 
@@ -122,7 +119,7 @@ static wxColor GetBaseColor()
         (255-base_colour.Green()) +
         (255-base_colour.Blue()) < 60)
     {
-        base_colour = wxAuiStepColour(base_colour, 92);
+        base_colour = base_colour.ChangeLightness(92);
     }
 
     return base_colour;
@@ -158,7 +155,7 @@ private:
 
 
 static const unsigned char
-    DISABLED_TEXT_GREY_HUE = wxAuiBlendColour(0, 255, 0.4);
+    DISABLED_TEXT_GREY_HUE = wxColour::AlphaBlend(0, 255, 0.4);
 const wxColour DISABLED_TEXT_COLOR(DISABLED_TEXT_GREY_HUE,
                                    DISABLED_TEXT_GREY_HUE,
                                    DISABLED_TEXT_GREY_HUE);
@@ -175,11 +172,11 @@ wxAuiDefaultToolBarArt::wxAuiDefaultToolBarArt()
     m_gripper_size = 7;
     m_overflow_size = 16;
 
-    wxColor darker1_colour = wxAuiStepColour(m_base_colour, 85);
-    wxColor darker2_colour = wxAuiStepColour(m_base_colour, 75);
-    wxColor darker3_colour = wxAuiStepColour(m_base_colour, 60);
-    wxColor darker4_colour = wxAuiStepColour(m_base_colour, 50);
-    wxColor darker5_colour = wxAuiStepColour(m_base_colour, 40);
+    wxColor darker1_colour = m_base_colour.ChangeLightness(85);
+    wxColor darker2_colour = m_base_colour.ChangeLightness(75);
+    wxColor darker3_colour = m_base_colour.ChangeLightness(60);
+    wxColor darker4_colour = m_base_colour.ChangeLightness(50);
+    wxColor darker5_colour = m_base_colour.ChangeLightness(40);
 
     m_gripper_pen1 = wxPen(darker5_colour);
     m_gripper_pen2 = wxPen(darker3_colour);
@@ -247,8 +244,8 @@ void wxAuiDefaultToolBarArt::DrawBackground(
 {
     wxRect rect = _rect;
     rect.height++;
-    wxColour start_colour = wxAuiStepColour(m_base_colour, 150);
-    wxColour end_colour = wxAuiStepColour(m_base_colour, 90);
+    wxColour start_colour = m_base_colour.ChangeLightness(150);
+    wxColour end_colour = m_base_colour.ChangeLightness(90);
     dc.GradientFillLinear(rect, start_colour, end_colour, wxSOUTH);
 }
 
@@ -334,18 +331,18 @@ void wxAuiDefaultToolBarArt::DrawButton(
         if (item.GetState() & wxAUI_BUTTON_STATE_PRESSED)
         {
             dc.SetPen(wxPen(m_highlight_colour));
-            dc.SetBrush(wxBrush(wxAuiStepColour(m_highlight_colour, 150)));
+            dc.SetBrush(wxBrush(m_highlight_colour.ChangeLightness(150)));
             dc.DrawRectangle(rect);
         }
         else if ((item.GetState() & wxAUI_BUTTON_STATE_HOVER) || item.IsSticky())
         {
             dc.SetPen(wxPen(m_highlight_colour));
-            dc.SetBrush(wxBrush(wxAuiStepColour(m_highlight_colour, 170)));
+            dc.SetBrush(wxBrush(m_highlight_colour.ChangeLightness(170)));
 
             // draw an even lighter background for checked item hovers (since
             // the hover background is the same color as the check background)
             if (item.GetState() & wxAUI_BUTTON_STATE_CHECKED)
-                dc.SetBrush(wxBrush(wxAuiStepColour(m_highlight_colour, 180)));
+                dc.SetBrush(wxBrush(m_highlight_colour.ChangeLightness(180)));
 
             dc.DrawRectangle(rect);
         }
@@ -354,7 +351,7 @@ void wxAuiDefaultToolBarArt::DrawButton(
             // it's important to put this code in an else statment after the
             // hover, otherwise hovers won't draw properly for checked items
             dc.SetPen(wxPen(m_highlight_colour));
-            dc.SetBrush(wxBrush(wxAuiStepColour(m_highlight_colour, 170)));
+            dc.SetBrush(wxBrush(m_highlight_colour.ChangeLightness(170)));
             dc.DrawRectangle(rect);
         }
     }
@@ -454,17 +451,17 @@ void wxAuiDefaultToolBarArt::DrawDropDownButton(
     if (item.GetState() & wxAUI_BUTTON_STATE_PRESSED)
     {
         dc.SetPen(wxPen(m_highlight_colour));
-        dc.SetBrush(wxBrush(wxAuiStepColour(m_highlight_colour, 140)));
+        dc.SetBrush(wxBrush(m_highlight_colour.ChangeLightness(140)));
         dc.DrawRectangle(button_rect);
 
-        dc.SetBrush(wxBrush(wxAuiStepColour(m_highlight_colour, 170)));
+        dc.SetBrush(wxBrush(m_highlight_colour.ChangeLightness(170)));
         dc.DrawRectangle(dropdown_rect);
     }
     else if (item.GetState() & wxAUI_BUTTON_STATE_HOVER ||
              item.IsSticky())
     {
         dc.SetPen(wxPen(m_highlight_colour));
-        dc.SetBrush(wxBrush(wxAuiStepColour(m_highlight_colour, 170)));
+        dc.SetBrush(wxBrush(m_highlight_colour.ChangeLightness(170)));
         dc.DrawRectangle(button_rect);
         dc.DrawRectangle(dropdown_rect);
     }
@@ -641,8 +638,8 @@ void wxAuiDefaultToolBarArt::DrawSeparator(
         rect.width = new_width;
     }
 
-    wxColour start_colour = wxAuiStepColour(m_base_colour, 80);
-    wxColour end_colour = wxAuiStepColour(m_base_colour, 80);
+    wxColour start_colour = m_base_colour.ChangeLightness(80);
+    wxColour end_colour = m_base_colour.ChangeLightness(80);
     dc.GradientFillLinear(rect, start_colour, end_colour, horizontal ? wxSOUTH : wxEAST);
 }
 
@@ -694,7 +691,7 @@ void wxAuiDefaultToolBarArt::DrawOverflowButton(wxDC& dc,
         state & wxAUI_BUTTON_STATE_PRESSED)
     {
         wxRect cli_rect = wnd->GetClientRect();
-        wxColor light_gray_bg = wxAuiStepColour(m_highlight_colour, 170);
+        wxColor light_gray_bg = m_highlight_colour.ChangeLightness(170);
 
         if (m_flags & wxAUI_TB_VERTICAL)
         {