void DrawingUtils::DrawHorizontalButton(wxDC& dc, const wxRect& rect, const bool& focus, const bool& upperTabs, bool vertical, bool hover) { wxColour lightGray = GetGradient(); wxColour topStartColor(wxT("WHITE")); wxColour topEndColor(wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE)); // Define the middle points if(focus) { if(upperTabs) { PaintStraightGradientBox(dc, rect, topStartColor, topEndColor, vertical); } else { PaintStraightGradientBox(dc, rect, topEndColor, topStartColor, vertical); } } else { topStartColor = wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE); topEndColor = lightGray; wxRect r1; wxRect r2; if(upperTabs) { r1 = wxRect(rect.x, rect.y, rect.width, rect.height / 4); r2 = wxRect(rect.x, rect.y + rect.height / 4, rect.width, (rect.height * 3) / 4); PaintStraightGradientBox(dc, r1, topEndColor, topStartColor, vertical); PaintStraightGradientBox(dc, r2, topStartColor, topStartColor, vertical); } else { r1 = wxRect(rect.x, rect.y, rect.width, (rect.height * 3) / 4); r2 = wxRect(rect.x, rect.y + (rect.height * 3) / 4, rect.width, rect.height / 4); PaintStraightGradientBox(dc, r1, topStartColor, topStartColor, vertical); PaintStraightGradientBox(dc, r2, topStartColor, topEndColor, vertical); } } dc.SetBrush(*wxTRANSPARENT_BRUSH); }
void DrawingUtils::DrawVerticalButton(wxDC& dc, const wxRect& rect, const bool &focus, const bool &leftTabs, bool vertical, bool hover ) { wxColour lightGray = GetGradient(); // Define the rounded rectangle base on the given rect // we need an array of 9 points for it wxColour topStartColor(wxT("WHITE")); wxColour topEndColor(wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE)); // Define the middle points if ( focus ) { PaintStraightGradientBox(dc, rect, topStartColor, topEndColor, vertical); } else { wxRect r1; wxRect r2; topStartColor = wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE); topEndColor = lightGray; if (leftTabs) { r1 = wxRect(rect.x, rect.y, rect.width, rect.height/4); r2 = wxRect(rect.x, rect.y+rect.height/4, rect.width, (rect.height*3)/4); PaintStraightGradientBox(dc, r1, topEndColor, topStartColor, vertical); PaintStraightGradientBox(dc, r2, topStartColor, topStartColor, vertical); } else { r1 = wxRect(rect.x, rect.y, rect.width, (rect.height*3)/4); r2 = wxRect(rect.x, rect.y+(rect.height*3)/4, rect.width, rect.height/4); PaintStraightGradientBox(dc, r1, topStartColor, topStartColor, vertical); PaintStraightGradientBox(dc, r2, topStartColor, topEndColor, vertical); } } dc.SetBrush( *wxTRANSPARENT_BRUSH ); }