void wxAuiDefaultDockArt::DrawBorder(wxDC& dc, wxWindow *WXUNUSED(window), const wxRect& _rect, wxAuiPaneInfo& pane) { dc.SetPen(m_border_pen); dc.SetBrush(*wxTRANSPARENT_BRUSH); wxRect rect = _rect; int i, border_width = GetMetric(wxAUI_DOCKART_PANE_BORDER_SIZE); if (pane.IsToolbar()) { for (i = 0; i < border_width; ++i) { dc.SetPen(*wxWHITE_PEN); dc.DrawLine(rect.x, rect.y, rect.x+rect.width, rect.y); dc.DrawLine(rect.x, rect.y, rect.x, rect.y+rect.height); dc.SetPen(m_border_pen); dc.DrawLine(rect.x, rect.y+rect.height-1, rect.x+rect.width, rect.y+rect.height-1); dc.DrawLine(rect.x+rect.width-1, rect.y, rect.x+rect.width-1, rect.y+rect.height); rect.Deflate(1); } } else { for (i = 0; i < border_width; ++i) { dc.DrawRectangle(rect.x, rect.y, rect.width, rect.height); rect.Deflate(1); } } }
void wxAuiDefaultDockArt::DrawBorder(wxDC& dc, wxWindow* window, const wxRect& _rect, wxAuiPaneInfo& pane) { dc.SetPen(m_borderPen); dc.SetBrush(*wxTRANSPARENT_BRUSH); wxRect rect = _rect; int i, border_width = GetMetric(wxAUI_DOCKART_PANE_BORDER_SIZE); if (pane.IsToolbar()) { for (i = 0; i < border_width; ++i) { dc.SetPen(*wxWHITE_PEN); dc.DrawLine(rect.x, rect.y, rect.x+rect.width, rect.y); dc.DrawLine(rect.x, rect.y, rect.x, rect.y+rect.height); dc.SetPen(m_borderPen); dc.DrawLine(rect.x, rect.y+rect.height-1, rect.x+rect.width, rect.y+rect.height-1); dc.DrawLine(rect.x+rect.width-1, rect.y, rect.x+rect.width-1, rect.y+rect.height); rect.Deflate(1); } } else { // notebooks draw the border themselves, so they can use native rendering (e.g. tabartgtk) wxAuiTabArt* art = 0; wxAuiNotebook* nb = wxDynamicCast(window, wxAuiNotebook); if (nb) art = nb->GetArtProvider(); if (art) art->DrawBorder(dc, window, rect); else { for (i = 0; i < border_width; ++i) { dc.DrawRectangle(rect.x, rect.y, rect.width, rect.height); rect.Deflate(1); } } } }