void wxRibbonMetroArtProvider::DrawMinimisedPanel( wxDC& dc, wxRibbonPanel* wnd, const wxRect& rect, wxBitmap& bitmap) { DrawPartialPageBackground(dc, wnd, rect, false); wxRect true_rect(rect); // RemovePanelPadding(&true_rect); wxRect client_rect(true_rect); client_rect.width -= 2; client_rect.y++; client_rect.height -= 2; if(wnd->GetExpandedPanel() != NULL) { dc.SetPen(m_button_bar_active_border_pen); dc.SetBrush (m_button_bar_active_background_colour); dc.DrawRectangle(client_rect); } else if(wnd->IsHovered()) { dc.SetPen(m_button_bar_hover_border_pen); dc.SetBrush (m_panel_active_background_colour); dc.DrawRectangle(client_rect); } else { dc.SetPen(m_button_bar_hover_border_pen); dc.SetBrush (m_button_bar_hover_background_colour); dc.DrawRectangle(client_rect); } wxRect preview; DrawMinimisedPanelCommon(dc, wnd, true_rect, &preview); dc.SetBrush(m_panel_active_background_colour); dc.SetPen(m_button_bar_hover_border_pen); dc.DrawRectangle(preview); if(bitmap.IsOk()) { dc.DrawBitmap(bitmap, preview.x + (preview.width - bitmap.GetWidth()) / 2, preview.y + (preview.height - 7 - bitmap.GetHeight()) / 2, true); } DrawPanelBorder(dc, true_rect, m_panel_border_pen, m_panel_border_gradient_pen); }
void wxRibbonAUIArtProvider::DrawMinimisedPanel( wxDC& dc, wxRibbonPanel* wnd, const wxRect& rect, wxBitmap& bitmap) { dc.SetPen(*wxTRANSPARENT_PEN); dc.SetBrush(m_background_brush); dc.DrawRectangle(rect.x, rect.y, rect.width, rect.height); wxRect true_rect(rect); RemovePanelPadding(&true_rect); dc.SetPen(m_panel_border_pen); dc.SetBrush(*wxTRANSPARENT_BRUSH); dc.DrawRectangle(true_rect.x, true_rect.y, true_rect.width, true_rect.height); true_rect.Deflate(1); if(wnd->IsHovered() || wnd->GetExpandedPanel()) { wxColour colour = m_page_hover_background_colour; wxColour gradient = m_page_hover_background_gradient_colour; #ifdef __WXMAC__ if(!wnd->GetExpandedPanel()) #else if(wnd->GetExpandedPanel()) #endif { wxColour temp = colour; colour = gradient; gradient = temp; } dc.GradientFillLinear(true_rect, colour, gradient, wxSOUTH); } wxRect preview; DrawMinimisedPanelCommon(dc, wnd, true_rect, &preview); dc.SetPen(m_panel_border_pen); dc.SetBrush(*wxTRANSPARENT_BRUSH); dc.DrawRectangle(preview.x, preview.y, preview.width, preview.height); preview.Deflate(1); wxRect preview_caption_rect(preview); preview_caption_rect.height = 7; preview.y += preview_caption_rect.height; preview.height -= preview_caption_rect.height; #ifdef __WXMAC__ dc.GradientFillLinear(preview_caption_rect, m_panel_hover_label_background_gradient_colour, m_panel_hover_label_background_colour, wxSOUTH); dc.GradientFillLinear(preview, m_page_hover_background_gradient_colour, m_page_hover_background_colour, wxSOUTH); #else dc.GradientFillLinear(preview_caption_rect, m_panel_hover_label_background_colour, m_panel_hover_label_background_gradient_colour, wxSOUTH); dc.GradientFillLinear(preview, m_page_hover_background_colour, m_page_hover_background_gradient_colour, wxSOUTH); #endif if(bitmap.IsOk()) { dc.DrawBitmap(bitmap, preview.x + (preview.width - bitmap.GetWidth()) / 2, preview.y + (preview.height - bitmap.GetHeight()) / 2, true); } }