Add DrawCheckMark and GetCheckMarkSize to wxRendererNative

Show its use in the render sample. Also use the recently added GetExpanderSize
for the size of DrawTreeItemButton.
This commit is contained in:
Maarten Bent
2019-08-08 00:52:06 +02:00
parent 97320c312e
commit 2874dab7f0
5 changed files with 152 additions and 3 deletions

View File

@@ -106,8 +106,15 @@ public:
const wxRect& rect,
int flags = 0) wxOVERRIDE;
virtual void DrawCheckMark(wxWindow *win,
wxDC& dc,
const wxRect& rect,
int flags = 0) wxOVERRIDE;
virtual wxSize GetCheckBoxSize(wxWindow *win) wxOVERRIDE;
virtual wxSize GetCheckMarkSize(wxWindow *win) wxOVERRIDE;
virtual wxSize GetExpanderSize(wxWindow *win) wxOVERRIDE;
virtual void DrawPushButton(wxWindow *win,
@@ -714,6 +721,16 @@ wxRendererGeneric::DrawCheckBox(wxWindow *WXUNUSED(win),
}
}
void
wxRendererGeneric::DrawCheckMark(wxWindow *WXUNUSED(win),
wxDC& dc,
const wxRect& rect,
int flags)
{
dc.SetPen(*(flags & wxCONTROL_DISABLED ? wxGREY_PEN : wxBLACK_PEN));
dc.DrawCheckMark(rect);
}
wxSize wxRendererGeneric::GetCheckBoxSize(wxWindow *win)
{
wxCHECK_MSG( win, wxSize(0, 0), "Must have a valid window" );
@@ -721,6 +738,11 @@ wxSize wxRendererGeneric::GetCheckBoxSize(wxWindow *win)
return win->FromDIP(wxSize(16, 16));
}
wxSize wxRendererGeneric::GetCheckMarkSize(wxWindow *win)
{
return GetCheckBoxSize(win);
}
wxSize wxRendererGeneric::GetExpanderSize(wxWindow *win)
{
wxCHECK_MSG( win, wxSize(0, 0), "Must have a valid window" );