dc.SetFont(m_tab_label_font);
dc.SetPen(*wxTRANSPARENT_PEN);
- if(tab.active || tab.hovered)
+ if(tab.active || tab.hovered || tab.highlight)
{
if(tab.active)
{
dc.SetBrush(m_tab_active_top_background_brush);
dc.DrawRectangle(tab.rect.x, tab.rect.y + 3, tab.rect.width - 1,
grad_rect.y - tab.rect.y - 3);
- dc.GradientFillLinear(grad_rect, m_tab_active_background_colour,
- m_tab_active_background_gradient_colour, wxSOUTH);
+ if(tab.highlight)
+ {
+ wxColour top_colour((m_tab_active_background_colour.Red() + m_tab_hover_background_top_colour.Red())/2,
+ (m_tab_active_background_colour.Green() + m_tab_hover_background_top_colour.Green())/2,
+ (m_tab_active_background_colour.Blue() + m_tab_hover_background_top_colour.Blue())/2);
+
+ wxColour bottom_colour((m_tab_active_background_gradient_colour.Red() + m_tab_hover_background_top_gradient_colour.Red())/2,
+ (m_tab_active_background_gradient_colour.Green() + m_tab_hover_background_top_gradient_colour.Green())/2,
+ (m_tab_active_background_gradient_colour.Blue() + m_tab_hover_background_top_gradient_colour.Blue())/2);
+
+ dc.GradientFillLinear(grad_rect, top_colour,
+ bottom_colour, wxSOUTH);
+ }
+ else
+ {
+ dc.GradientFillLinear(grad_rect, m_tab_active_background_colour,
+ m_tab_active_background_gradient_colour, wxSOUTH);
+ }
}
else
{