m_gallery_button_active_background_top_brush = LikeSecondary(-9.0, 0.15, -0.08);
m_button_bar_label_colour = m_tab_label_colour;
+ m_button_bar_label_disabled_colour = m_tab_label_colour;
+
m_button_bar_hover_border_pen = LikeSecondary(-6.2, -0.47, -0.14);
m_button_bar_hover_background_gradient_colour = LikeSecondary(-0.6, 0.16, 0.04);
m_button_bar_hover_background_colour = LikeSecondary(-0.2, 0.16, -0.10);
copy->m_page_toggle_hover_face_colour = m_page_toggle_hover_face_colour;
copy->m_button_bar_label_colour = m_button_bar_label_colour;
+ copy->m_button_bar_label_disabled_colour = m_button_bar_label_disabled_colour;
copy->m_tab_label_colour = m_tab_label_colour;
copy->m_tab_separator_colour = m_tab_separator_colour;
copy->m_tab_separator_gradient_colour = m_tab_separator_gradient_colour;
{
case wxRIBBON_ART_BUTTON_BAR_LABEL_COLOUR:
return m_button_bar_label_colour;
+ case wxRIBBON_ART_BUTTON_BAR_LABEL_DISABLED_COLOUR:
+ return m_button_bar_label_disabled_colour;
case wxRIBBON_ART_BUTTON_BAR_HOVER_BORDER_COLOUR:
return m_button_bar_hover_border_pen.GetColour();
case wxRIBBON_ART_BUTTON_BAR_HOVER_BACKGROUND_TOP_COLOUR:
case wxRIBBON_ART_BUTTON_BAR_LABEL_COLOUR:
m_button_bar_label_colour = colour;
break;
+ case wxRIBBON_ART_BUTTON_BAR_LABEL_DISABLED_COLOUR:
+ m_button_bar_label_disabled_colour = colour;
+ break;
case wxRIBBON_ART_BUTTON_BAR_HOVER_BORDER_COLOUR:
m_button_bar_hover_border_pen.SetColour(colour);
break;
}
void wxRibbonMSWArtProvider::DrawPartialPageBackground(wxDC& dc,
- wxWindow* wnd, const wxRect& rect, wxRibbonPage* page,
+ wxWindow* wnd, const wxRect& r, wxRibbonPage* page,
wxPoint offset, bool hovered)
{
wxRect background;
page->AdjustRectToIncludeScrollButtons(&background);
background.height -= 2;
}
- // Page background isn't dependant upon the width of the page
+ // Page background isn't dependent upon the width of the page
// (at least not the part of it intended to be painted by this
// function). Set to wider than the page itself for when externally
// expanded panels need a background - the expanded panel can be wider
lower_rect.y += upper_rect.height;
lower_rect.height -= upper_rect.height;
- wxRect paint_rect(rect);
+ wxRect paint_rect(r);
paint_rect.x += offset.x;
paint_rect.y += offset.y;
}
dc.SetFont(m_button_bar_label_font);
- dc.SetTextForeground(m_button_bar_label_colour);
+ dc.SetTextForeground(state & wxRIBBON_BUTTONBAR_BUTTON_DISABLED
+ ? m_button_bar_label_disabled_colour
+ : m_button_bar_label_colour);
DrawButtonBarButtonForeground(dc, rect, kind, state, label, bitmap_large,
bitmap_small);
}
const wxBitmap& bitmap_large,
const wxBitmap& bitmap_small)
{
+ const wxColour
+ arrowColour(state & wxRIBBON_BUTTONBAR_BUTTON_DISABLED
+ ? m_button_bar_label_disabled_colour
+ : m_button_bar_label_colour);
+
switch(state & wxRIBBON_BUTTONBAR_BUTTON_SIZE_MASK)
{
case wxRIBBON_BUTTONBAR_BUTTON_LARGE:
{
DrawDropdownArrow(dc, rect.x + rect.width / 2,
ypos + (label_h * 3) / 2,
- m_button_bar_label_colour);
+ arrowColour);
}
}
else
DrawDropdownArrow(dc,
iX + 2 +label_w - arrow_width,
ypos + label_h / 2 + 1,
- m_button_bar_label_colour);
+ arrowColour);
}
break;
}
x_cursor += label_w + 3;
if(kind != wxRIBBON_BUTTON_NORMAL)
{
- DrawDropdownArrow(dc, x_cursor, rect.y + rect.height / 2,
- m_button_bar_label_colour);
+ DrawDropdownArrow(dc, x_cursor, rect.y + rect.height / 2, arrowColour);
}
break;
}