// these functions live in dockart.cpp -- they'll eventually
// be moved to a new utility cpp file
-wxColor wxAuiStepColour(const wxColor& c, int percent);
-
wxBitmap wxAuiBitmapFromBits(const unsigned char bits[], int w, int h,
const wxColour& color);
if (button_state == wxAUI_BUTTON_STATE_HOVER ||
button_state == wxAUI_BUTTON_STATE_PRESSED)
{
- dc.SetBrush(wxBrush(wxAuiStepColour(bkcolour, 120)));
- dc.SetPen(wxPen(wxAuiStepColour(bkcolour, 75)));
+ dc.SetBrush(wxBrush(bkcolour.ChangeLightness(120)));
+ dc.SetPen(wxPen(bkcolour.ChangeLightness(75)));
// draw the background behind the button
dc.DrawRectangle(rect.x, rect.y, 15, 15);
(255-base_colour.Green()) +
(255-base_colour.Blue()) < 60)
{
- base_colour = wxAuiStepColour(base_colour, 92);
+ base_colour = base_colour.ChangeLightness(92);
}
+ m_active_colour = base_colour;
m_base_colour = base_colour;
- wxColor border_colour = wxAuiStepColour(base_colour, 75);
+ wxColor border_colour = base_colour.ChangeLightness(75);
m_border_pen = wxPen(border_colour);
m_base_colour_pen = wxPen(m_base_colour);
{
// draw background
- wxColor top_color = wxAuiStepColour(m_base_colour, 90);
- wxColor bottom_color = wxAuiStepColour(m_base_colour, 170);
+ wxColor top_color = m_base_colour.ChangeLightness(90);
+ wxColor bottom_color = m_base_colour.ChangeLightness(170);
wxRect r;
if (m_flags &wxAUI_NB_BOTTOM)
// draw base background color
wxRect r(tab_x, tab_y, tab_width, tab_height);
- dc.SetPen(m_base_colour_pen);
- dc.SetBrush(m_base_colour_brush);
+ dc.SetPen(wxPen(m_active_colour));
+ dc.SetBrush(wxBrush(m_active_colour));
dc.DrawRectangle(r.x+1, r.y+1, r.width-1, r.height-4);
// this white helps fill out the gradient at the top of the tab
dc.DrawRectangle(r.x+2, r.y+1, r.width-3, r.height-4);
// these two points help the rounded corners appear more antialiased
- dc.SetPen(m_base_colour_pen);
+ dc.SetPen(wxPen(m_active_colour));
dc.DrawPoint(r.x+2, r.y+1);
dc.DrawPoint(r.x+r.width-2, r.y+1);
// set rectangle down a bit for gradient drawing
r.SetHeight(r.GetHeight()/2);
r.x += 2;
- r.width -= 2;
+ r.width -= 3;
r.y += r.height;
r.y -= 2;
// draw gradient background
wxColor top_color = *wxWHITE;
- wxColor bottom_color = m_base_colour;
+ wxColor bottom_color = m_active_colour;
dc.GradientFillLinear(r, bottom_color, top_color, wxNORTH);
}
else
// -- draw top gradient fill for glossy look
wxColor top_color = m_base_colour;
- wxColor bottom_color = wxAuiStepColour(top_color, 160);
+ wxColor bottom_color = top_color.ChangeLightness(160);
dc.GradientFillLinear(r, bottom_color, top_color, wxNORTH);
r.y += r.height;
if (page.active)
{
if (m_flags &wxAUI_NB_BOTTOM)
- dc.SetPen(wxPen(wxColour(wxAuiStepColour(m_base_colour, 170))));
+ dc.SetPen(wxPen(m_base_colour.ChangeLightness(170)));
// TODO: else if (m_flags &wxAUI_NB_LEFT) {}
// TODO: else if (m_flags &wxAUI_NB_RIGHT) {}
else //for wxAUI_NB_TOP
bmp = m_active_close_bmp;
}
+ int offsetY = tab_y-1;
+ if (m_flags & wxAUI_NB_BOTTOM)
+ offsetY = 1;
+
wxRect rect(tab_x + tab_width - close_button_width - 1,
- tab_y + (tab_height/2) - (bmp.GetHeight()/2),
+ offsetY + (tab_height/2) - (bmp.GetHeight()/2),
close_button_width,
tab_height);
+
IndentPressedBitmap(&rect, close_button_state);
dc.DrawBitmap(bmp, rect.x, rect.y, true);
m_measuring_font = font;
}
+void wxAuiDefaultTabArt::SetColour(const wxColour& colour)
+{
+ m_base_colour = colour;
+ m_border_pen = wxPen(m_base_colour.ChangeLightness(75));
+ m_base_colour_pen = wxPen(m_base_colour);
+ m_base_colour_brush = wxBrush(m_base_colour);
+}
+
+void wxAuiDefaultTabArt::SetActiveColour(const wxColour& colour)
+{
+ m_active_colour = colour;
+}
// -- wxAuiSimpleTabArt class implementation --
wxAuiTabArt* wxAuiSimpleTabArt::Clone()
{
- return static_cast<wxAuiTabArt*>(new wxAuiSimpleTabArt);
+ return new wxAuiSimpleTabArt(*this);
}
-
void wxAuiSimpleTabArt::SetFlags(unsigned int flags)
{
m_flags = flags;
m_fixed_tab_width = 220;
}
+void wxAuiSimpleTabArt::SetColour(const wxColour& colour)
+{
+ m_bkbrush = wxBrush(colour);
+ m_normal_bkbrush = wxBrush(colour);
+ m_normal_bkpen = wxPen(colour);
+}
+
+void wxAuiSimpleTabArt::SetActiveColour(const wxColour& colour)
+{
+ m_selected_bkbrush = wxBrush(colour);
+ m_selected_bkpen = wxPen(colour);
+}
+
void wxAuiSimpleTabArt::DrawBackground(wxDC& dc,
wxWindow* WXUNUSED(wnd),
const wxRect& rect)
m_art->SetMeasuringFont(font);
}
+void wxAuiTabContainer::SetColour(const wxColour& colour)
+{
+ m_art->SetColour(colour);
+}
+
+void wxAuiTabContainer::SetActiveColour(const wxColour& colour)
+{
+ m_art->SetActiveColour(colour);
+}
+
void wxAuiTabContainer::SetRect(const wxRect& rect)
{
m_rect = rect;
// specified tab ctrl height, overriding all other considerations,
// such as text or bitmap height. It overrides any call to
// SetUniformBitmapSize(). Specifying a height of -1 reverts
-// any previous call and returns to the default behavior
+// any previous call and returns to the default behaviour
void wxAuiNotebook::SetTabCtrlHeight(int height)
{