]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/renderer.h
document recently added enums
[wxWidgets.git] / interface / wx / renderer.h
index c2d963d8ed49c975de6e9e408c3b6b7392caacaa..443169a16ed6889e873120a0f05613a0a9a78e09 100644 (file)
@@ -211,6 +211,8 @@ public:
     virtual void DrawCheckBox(wxWindow *win, wxDC& dc,
                               const wxRect& rect, int flags = 0 );
 
+    virtual wxSize GetCheckBoxSize(wxWindow *win);
+
     virtual void DrawPushButton(wxWindow *win, wxDC& dc,
                                 const wxRect& rect, int flags = 0 );
 
@@ -283,16 +285,16 @@ public:
     /**
         Virtual destructor as for any base class.
     */
-    ~wxRendererNative();
+    virtual ~wxRendererNative();
 
     /**
-        Draw a check box (used by wxDataViewCtrl).
+        Draw a check box.
 
         @a flags may have the @c wxCONTROL_CHECKED, @c wxCONTROL_CURRENT or
         @c wxCONTROL_UNDETERMINED bit set, see @ref wxCONTROL_FLAGS.
     */
-    virtual void DrawCheckBox(wxWindow* win, wxDC& dc,
-                              const wxRect& rect, int flags);
+    virtual void DrawCheckBox(wxWindow* win, wxDC& dc, const wxRect& rect,
+                              int flags = 0) = 0;
 
     /**
         Draw a button like the one used by wxComboBox to show a
@@ -302,8 +304,7 @@ public:
         see @ref wxCONTROL_FLAGS.
     */
     virtual void DrawComboBoxDropButton(wxWindow* win, wxDC& dc,
-                                const wxRect& rect,
-                                int flags);
+                                        const wxRect& rect, int flags = 0) = 0;
 
     /**
         Draw a drop down arrow that is suitable for use outside a combo box. Arrow will
@@ -316,7 +317,7 @@ public:
         see @ref wxCONTROL_FLAGS.
     */
     virtual void DrawDropArrow(wxWindow* win, wxDC& dc, const wxRect& rect,
-                       int flags);
+                               int flags = 0) = 0;
 
     /**
         Draw a focus rectangle using the specified rectangle.
@@ -326,7 +327,7 @@ public:
         see @ref wxCONTROL_FLAGS.
     */
     virtual void DrawFocusRect(wxWindow* win, wxDC& dc, const wxRect& rect,
-                       int flags = 0);
+                               int flags = 0) = 0;
 
     /**
         Draw the header control button (used, for example, by wxListCtrl).
@@ -338,10 +339,9 @@ public:
         The optimal width to contain the the unabreviated label text or
         bitmap, the sort arrow if present, and internal margins.
     */
-    virtual int DrawHeaderButton(wxWindow* win, wxDC& dc,
-                                 const wxRect& rect, int flags = 0,
-                                 wxHeaderSortIconType sortArrow = wxHDR_SORT_ICON_NONE,
-                                 wxHeaderButtonParams* params = NULL);
+    virtual int DrawHeaderButton(wxWindow* win, wxDC& dc, const wxRect& rect,
+                                 int flags = 0,
+                                 wxHeaderSortIconType sortArrow = wxHDR_SORT_ICON_NONE, wxHeaderButtonParams* params = NULL) = 0;
 
     /**
         Draw the contents of a header control button (label, sort arrows,
@@ -354,10 +354,9 @@ public:
         The optimal width to contain the the unabreviated label text or
         bitmap, the sort arrow if present, and internal margins.
     */
-    virtual int DrawHeaderButtonContents(wxWindow *win, wxDC& dc,
+    virtual int DrawHeaderButtonContents(wxWindowwin, wxDC& dc,
                                          const wxRect& rect, int flags = 0,
-                                         wxHeaderSortIconType sortArrow = wxHDR_SORT_ICON_NONE,
-                                         wxHeaderButtonParams* params = NULL);
+                                         wxHeaderSortIconType sortArrow = wxHDR_SORT_ICON_NONE, wxHeaderButtonParams* params = NULL) = 0;
 
     /**
         Draw a selection rectangle underneath the text as used e.g. in a
@@ -372,7 +371,7 @@ public:
         the @a win.
     */
     virtual void DrawItemSelectionRect(wxWindow* win, wxDC& dc,
-                                       const wxRect& rect, int flags = 0);
+                                       const wxRect& rect, int flags = 0) = 0;
 
     /**
         Draw a blank push button that looks very similar to wxButton.
@@ -380,23 +379,23 @@ public:
         @a flags may have the @c wxCONTROL_PRESSED, @c wxCONTROL_CURRENT or
         @c wxCONTROL_ISDEFAULT bit set, see @ref wxCONTROL_FLAGS.
     */
-    virtual void DrawPushButton(wxWindow* win, wxDC& dc,
-                                const wxRect& rect, int flags);
+    virtual void DrawPushButton(wxWindow* win, wxDC& dc, const wxRect& rect,
+                                int flags = 0) = 0;
 
     /**
         Draw the border for sash window: this border must be such that the sash
         drawn by DrawSplitterSash() blends into it well.
     */
-    virtual void DrawSplitterBorder(wxWindow* win, wxDC& dc,
-                                    const wxRect& rect, int flags = 0);
+    virtual void DrawSplitterBorder(wxWindow* win, wxDC& dc, const wxRect& rect,
+                                    int flags = 0) = 0;
 
     /**
         Draw a sash. The @a orient parameter defines whether the sash should be
         vertical or horizontal and how the @a position should be interpreted.
     */
-    virtual void DrawSplitterSash(wxWindow* win, wxDC& dc,
-                                  const wxSize& size, wxCoord position,
-                                  wxOrientation orient, int flags = 0);
+    virtual void DrawSplitterSash(wxWindow* win, wxDC& dc, const wxSize& size,
+                                  wxCoord position, wxOrientation orient,
+                                  int flags = 0) = 0;
 
     /**
         Draw the expanded/collapsed icon for a tree control item.
@@ -404,13 +403,13 @@ public:
         To draw an expanded button the @a flags parameter must contain @c wxCONTROL_EXPANDED bit,
         see @ref wxCONTROL_FLAGS.
     */
-    virtual void DrawTreeItemButton(wxWindow* win, wxDC& dc,
-                                    const wxRect& rect, int flags = 0);
+    virtual void DrawTreeItemButton(wxWindow* win, wxDC& dc, const wxRect& rect,
+                                    int flags = 0) = 0;
 
     /**
         Return the currently used renderer.
     */
-    static wxRendererNative Get();
+    static wxRendererNative& Get();
 
     /**
         Return the default (native) implementation for this platform -- this is also
@@ -418,27 +417,32 @@ public:
         Set() in which case the return value of this
         method may be different from the return value of Get().
     */
-    static wxRendererNative GetDefault();
+    static wxRendererNative& GetDefault();
 
     /**
         Return the generic implementation of the renderer. Under some platforms, this
         is the default renderer implementation, others have platform-specific default
         renderer which can be retrieved by calling GetDefault().
     */
-    static wxRendererNative GetGeneric();
+    static wxRendererNative& GetGeneric();
+
+    /**
+        Returns the size of a check box.
+    */
+    virtual wxSize GetCheckBoxSize(wxWindow* win) = 0;
 
     /**
         Returns the height of a header button, either a fixed platform height if
         available, or a
         generic height based on the window's font.
     */
-    virtual int GetHeaderButtonHeight(wxWindow* win);
+    virtual int GetHeaderButtonHeight(wxWindow* win) = 0;
 
     /**
         Get the splitter parameters, see
         wxSplitterRenderParams.
     */
-    virtual wxSplitterRenderParams GetSplitterParams(const wxWindow* win);
+    virtual wxSplitterRenderParams GetSplitterParams(const wxWindow* win) = 0;
 
     /**
         This function is used for version checking: Load()
@@ -451,7 +455,7 @@ public:
         but it has to be in the derived, not base, class, to detect mismatches between
         the renderers versions and so you have to implement it anew in all renderers.
     */
-    virtual wxRendererVersion GetVersion() const;
+    virtual wxRendererVersion GetVersion() const = 0;
 
     /**
         Load the renderer from the specified DLL, the returned pointer must be