X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/53a2db124c633f80bdb16336084262037d879a2c..f54e5c1a4f6952c62ed4480f7d26feddc20f98ba:/include/wx/renderer.h diff --git a/include/wx/renderer.h b/include/wx/renderer.h index 9b84247093..b2bb8e2eb7 100644 --- a/include/wx/renderer.h +++ b/include/wx/renderer.h @@ -28,14 +28,14 @@ class WXDLLIMPEXP_FWD_CORE wxDC; class WXDLLIMPEXP_FWD_CORE wxWindow; -#include "wx/gdicmn.h" // for wxPoint +#include "wx/gdicmn.h" // for wxPoint, wxSize #include "wx/colour.h" #include "wx/font.h" #include "wx/bitmap.h" #include "wx/string.h" // some platforms have their own renderers, others use the generic one -#if defined(__WXMSW__) || defined(__WXMAC__) || defined(__WXGTK__) +#if defined(__WXMSW__) || ( defined(__WXMAC__) && wxOSX_USE_COCOA_OR_CARBON ) || defined(__WXGTK__) #define wxHAS_NATIVE_RENDERER #else #undef wxHAS_NATIVE_RENDERER @@ -110,10 +110,11 @@ struct WXDLLIMPEXP_CORE wxHeaderButtonParams int m_labelAlignment; }; -enum wxHeaderSortIconType { +enum wxHeaderSortIconType +{ wxHDR_SORT_ICON_NONE, // Header button has no sort arrow - wxHDR_SORT_ICON_UP, // Header button an an up sort arrow icon - wxHDR_SORT_ICON_DOWN // Header button an a down sort arrow icon + wxHDR_SORT_ICON_UP, // Header button an up sort arrow icon + wxHDR_SORT_ICON_DOWN // Header button a down sort arrow icon }; @@ -227,6 +228,9 @@ public: const wxRect& rect, int flags = 0) = 0; + // Returns the default size of a check box. + virtual wxSize GetCheckBoxSize(wxWindow *win) = 0; + // draw blank button // // flags may use wxCONTROL_PRESSED, wxCONTROL_CURRENT and wxCONTROL_ISDEFAULT @@ -250,7 +254,34 @@ public: // draw the focus rectangle around the label contained in the given rect // // only wxCONTROL_SELECTED makes sense in flags here - virtual void DrawFocusRect(wxWindow* win, wxDC& dc, const wxRect& rect, int flags = 0) = 0; + virtual void DrawFocusRect(wxWindow* win, + wxDC& dc, + const wxRect& rect, + int flags = 0) = 0; + + // Draw a native wxChoice + virtual void DrawChoice(wxWindow* win, + wxDC& dc, + const wxRect& rect, + int flags = 0) = 0; + + // Draw a native wxComboBox + virtual void DrawComboBox(wxWindow* win, + wxDC& dc, + const wxRect& rect, + int flags = 0) = 0; + + // Draw a native wxTextCtrl frame + virtual void DrawTextCtrl(wxWindow* win, + wxDC& dc, + const wxRect& rect, + int flags = 0) = 0; + + // Draw a native wxRadioButton (just the graphical portion) + virtual void DrawOptionButton(wxWindow* win, + wxDC& dc, + const wxRect& rect, + int flags = 0) = 0; // geometry functions // ------------------ @@ -370,24 +401,54 @@ public: virtual void DrawCheckBox(wxWindow *win, wxDC& dc, const wxRect& rect, - int flags = 0 ) + int flags = 0) { m_rendererNative.DrawCheckBox( win, dc, rect, flags ); } + virtual wxSize GetCheckBoxSize(wxWindow *win) + { return m_rendererNative.GetCheckBoxSize(win); } + virtual void DrawPushButton(wxWindow *win, wxDC& dc, const wxRect& rect, - int flags = 0 ) + int flags = 0) { m_rendererNative.DrawPushButton( win, dc, rect, flags ); } virtual void DrawItemSelectionRect(wxWindow *win, wxDC& dc, const wxRect& rect, - int flags = 0 ) + int flags = 0) { m_rendererNative.DrawItemSelectionRect( win, dc, rect, flags ); } - virtual void DrawFocusRect(wxWindow* win, wxDC& dc, const wxRect& rect, int flags = 0) + virtual void DrawFocusRect(wxWindow* win, + wxDC& dc, + const wxRect& rect, + int flags = 0) { m_rendererNative.DrawFocusRect( win, dc, rect, flags ); } + virtual void DrawChoice(wxWindow* win, + wxDC& dc, + const wxRect& rect, + int flags = 0) + { m_rendererNative.DrawChoice( win, dc, rect, flags); } + + virtual void DrawComboBox(wxWindow* win, + wxDC& dc, + const wxRect& rect, + int flags = 0) + { m_rendererNative.DrawComboBox( win, dc, rect, flags); } + + virtual void DrawTextCtrl(wxWindow* win, + wxDC& dc, + const wxRect& rect, + int flags = 0) + { m_rendererNative.DrawTextCtrl( win, dc, rect, flags); } + + virtual void DrawOptionButton(wxWindow* win, + wxDC& dc, + const wxRect& rect, + int flags = 0) + { m_rendererNative.DrawOptionButton( win, dc, rect, flags); } + virtual wxSplitterRenderParams GetSplitterParams(const wxWindow *win) { return m_rendererNative.GetSplitterParams(win); }