wxSize wxRibbonAUIArtProvider::GetPanelClientSize( wxDC& dc, const wxRibbonPanel* wnd, wxSize size, wxPoint* client_offset) { dc.SetFont(m_panel_label_font); wxSize label_size = dc.GetTextExtent(wnd->GetLabel()); int label_height = label_size.GetHeight() + 5; if(m_flags & wxRIBBON_BAR_FLOW_VERTICAL) { size.DecBy(4, label_height + 6); if(client_offset) *client_offset = wxPoint(2, label_height + 3); } else { size.DecBy(6, label_height + 4); if(client_offset) *client_offset = wxPoint(3, label_height + 2); } if (size.x < 0) size.x = 0; if (size.y < 0) size.y = 0; return size; }