Add implementation of native DrawCheckBox for Mac. (patch #1786282.)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@49361 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Kevin Ollivier
2007-10-23 19:10:52 +00:00
parent c00df9c854
commit 728d38cbe5
2 changed files with 33 additions and 0 deletions

View File

@@ -135,6 +135,20 @@ public:
wxRendererNative::Get().DrawHeaderButton(this, dc,
wxRect(20, 70, 100, 60));
// Draw some check boxes in various states
dc.SetBrush(*wxBLACK_BRUSH);
dc.SetTextForeground(*wxBLACK);
dc.DrawText(_T("Checkbox Drawn with native renderer"), 10, 150);
// Checked
wxRendererNative::Get().DrawCheckBox(this, dc, wxRect(20, 170, 16, 16), wxCONTROL_CHECKED);
// Undetermined
wxRendererNative::Get().DrawCheckBox(this, dc, wxRect(40, 170, 16, 16), wxCONTROL_CHECKABLE);
// Unchecked
wxRendererNative::Get().DrawCheckBox(this, dc, wxRect(60, 170, 16, 16), 0);
// Checked and Disabled
wxRendererNative::Get().DrawCheckBox(this, dc, wxRect(80, 170, 16, 16), wxCONTROL_CHECKED | wxCONTROL_DISABLED);
}
DECLARE_EVENT_TABLE()

View File

@@ -57,6 +57,11 @@ public:
wxOrientation orient,
int flags = 0 );
virtual void DrawCheckBox(wxWindow *win,
wxDC& dc,
const wxRect& rect,
int flags = 0);
virtual void DrawComboBoxDropButton(wxWindow *win,
wxDC& dc,
const wxRect& rect,
@@ -459,6 +464,8 @@ wxRendererMac::DrawMacThemeButton(wxWindow *win,
drawInfo.kind = kind;
drawInfo.state = (flags & wxCONTROL_DISABLED) ? kThemeStateInactive : kThemeStateActive;
drawInfo.value = (flags & wxCONTROL_SELECTED) ? kThemeButtonOn : kThemeButtonOff;
if (flags & wxCONTROL_UNDETERMINED)
drawInfo.value = kThemeButtonMixed;
drawInfo.adornment = adornment;
HIThemeDrawButton( &headerRect, &drawInfo, cgContext, kHIThemeOrientationNormal, &labelRect );
@@ -471,6 +478,18 @@ wxRendererMac::DrawMacThemeButton(wxWindow *win,
}
}
void
wxRendererMac::DrawCheckBox(wxWindow *win,
wxDC& dc,
const wxRect& rect,
int flags)
{
if (flags & wxCONTROL_CHECKED)
flags |= wxCONTROL_SELECTED;
DrawMacThemeButton(win, dc, rect, flags,
kThemeCheckBox, kThemeAdornmentNone);
}
void
wxRendererMac::DrawComboBoxDropButton(wxWindow *win,