]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/carbon/renderer.cpp
fixing focus, fixes #9985
[wxWidgets.git] / src / osx / carbon / renderer.cpp
index bac3e528c4a04ed06c7a798a759705109433d9c5..ee4b05d68006a12721076f9dbdf251687c090281 100644 (file)
@@ -1,5 +1,5 @@
 ///////////////////////////////////////////////////////////////////////////////
-// Name:        src/mac/carbon/renderer.cpp
+// Name:        src/osx/carbon/renderer.cpp
 // Purpose:     implementation of wxRendererNative for Mac
 // Author:      Vadim Zeitlin
 // Modified by:
 
 #include "wx/renderer.h"
 #include "wx/graphics.h"
+#include "wx/dcgraph.h"
 #include "wx/osx/private.h"
 
+#if wxOSX_USE_COCOA
+// bring in the theme headers
+#include <Carbon/Carbon.h>
+#endif
 
 class WXDLLEXPORT wxRendererMac : public wxDelegateRendererNative
 {
@@ -62,6 +67,8 @@ public:
                               const wxRect& rect,
                               int flags = 0);
 
+    virtual wxSize GetCheckBoxSize(wxWindow* win);
+
     virtual void DrawComboBoxDropButton(wxWindow *win,
                                         wxDC& dc,
                                         const wxRect& rect,
@@ -344,6 +351,27 @@ wxRendererMac::DrawCheckBox(wxWindow *win,
                        kThemeCheckBox, kThemeAdornmentNone);
 }
 
+wxSize wxRendererMac::GetCheckBoxSize(wxWindow* WXUNUSED(win))
+{
+    wxSize size;
+    SInt32 width, height;
+    OSStatus errStatus;
+
+    errStatus = GetThemeMetric(kThemeMetricCheckBoxWidth, &width);
+    if (errStatus == noErr)
+    {
+        size.SetWidth(width);
+    }
+
+    errStatus = GetThemeMetric(kThemeMetricCheckBoxHeight, &height);
+    if (errStatus == noErr)
+    {
+        size.SetHeight(height);
+    }
+
+    return size;
+}
+
 void
 wxRendererMac::DrawComboBoxDropButton(wxWindow *win,
                               wxDC& dc,
@@ -405,4 +433,3 @@ wxRendererMac::DrawFocusRect(wxWindow* win, wxDC& dc, const wxRect& rect, int fl
 
     HIThemeDrawFocusRect( &cgrect , true , cgContext , kHIThemeOrientationNormal ) ;
 }
-