]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/renderer.h
document the main event table macros, wxEventType, wxNewEventType; create a new group...
[wxWidgets.git] / interface / wx / renderer.h
index 6c33c39d59f897d1bb59b8ba18e0f05617ffe987..f4557f9bbd22f469a82179eb935e1e6d3e91424a 100644 (file)
@@ -58,7 +58,6 @@ enum
 
 /**
     @struct wxSplitterRenderParams
 
 /**
     @struct wxSplitterRenderParams
-    @wxheader{renderer.h}
 
     This is just a simple @c struct used as a return value of
     wxRendererNative::GetSplitterParams().
 
     This is just a simple @c struct used as a return value of
     wxRendererNative::GetSplitterParams().
@@ -95,7 +94,6 @@ struct wxSplitterRenderParams
 
 /**
     @struct wxHeaderButtonParams
 
 /**
     @struct wxHeaderButtonParams
-    @wxheader{renderer.h}
 
     This @c struct can optionally be used with
     wxRendererNative::DrawHeaderButton() to specify custom values used to draw
 
     This @c struct can optionally be used with
     wxRendererNative::DrawHeaderButton() to specify custom values used to draw
@@ -132,7 +130,6 @@ enum wxHeaderSortIconType
 
 /**
     @class wxDelegateRendererNative
 
 /**
     @class wxDelegateRendererNative
-    @wxheader{renderer.h}
 
     wxDelegateRendererNative allows reuse of renderers code by forwarding all the
     wxRendererNative methods to the given object and
 
     wxDelegateRendererNative allows reuse of renderers code by forwarding all the
     wxRendererNative methods to the given object and
@@ -214,6 +211,8 @@ public:
     virtual void DrawCheckBox(wxWindow *win, wxDC& dc,
                               const wxRect& rect, int flags = 0 );
 
     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 );
 
     virtual void DrawPushButton(wxWindow *win, wxDC& dc,
                                 const wxRect& rect, int flags = 0 );
 
@@ -232,7 +231,6 @@ public:
 
 /**
     @class wxRendererNative
 
 /**
     @class wxRendererNative
-    @wxheader{renderer.h}
 
     First, a brief introduction to wxRendererNative and why it is needed.
 
 
     First, a brief introduction to wxRendererNative and why it is needed.
 
@@ -287,16 +285,16 @@ public:
     /**
         Virtual destructor as for any base class.
     */
     /**
         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.
     */
 
         @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
 
     /**
         Draw a button like the one used by wxComboBox to show a
@@ -306,8 +304,7 @@ public:
         see @ref wxCONTROL_FLAGS.
     */
     virtual void DrawComboBoxDropButton(wxWindow* win, wxDC& dc,
         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
 
     /**
         Draw a drop down arrow that is suitable for use outside a combo box. Arrow will
@@ -320,7 +317,7 @@ public:
         see @ref wxCONTROL_FLAGS.
     */
     virtual void DrawDropArrow(wxWindow* win, wxDC& dc, const wxRect& rect,
         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.
 
     /**
         Draw a focus rectangle using the specified rectangle.
@@ -330,7 +327,7 @@ public:
         see @ref wxCONTROL_FLAGS.
     */
     virtual void DrawFocusRect(wxWindow* win, wxDC& dc, const wxRect& rect,
         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).
 
     /**
         Draw the header control button (used, for example, by wxListCtrl).
@@ -342,10 +339,9 @@ public:
         The optimal width to contain the the unabreviated label text or
         bitmap, the sort arrow if present, and internal margins.
     */
         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,
 
     /**
         Draw the contents of a header control button (label, sort arrows,
@@ -358,10 +354,9 @@ public:
         The optimal width to contain the the unabreviated label text or
         bitmap, the sort arrow if present, and internal margins.
     */
         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,
                                          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
 
     /**
         Draw a selection rectangle underneath the text as used e.g. in a
@@ -376,7 +371,7 @@ public:
         the @a win.
     */
     virtual void DrawItemSelectionRect(wxWindow* win, wxDC& dc,
         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.
 
     /**
         Draw a blank push button that looks very similar to wxButton.
@@ -384,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.
     */
         @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.
     */
 
     /**
         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.
     */
 
     /**
         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.
 
     /**
         Draw the expanded/collapsed icon for a tree control item.
@@ -408,8 +403,8 @@ public:
         To draw an expanded button the @a flags parameter must contain @c wxCONTROL_EXPANDED bit,
         see @ref wxCONTROL_FLAGS.
     */
         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.
 
     /**
         Return the currently used renderer.
@@ -431,18 +426,23 @@ public:
     */
     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.
     */
     /**
         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.
     */
 
     /**
         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()
 
     /**
         This function is used for version checking: Load()
@@ -455,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.
     */
         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
 
     /**
         Load the renderer from the specified DLL, the returned pointer must be
@@ -481,7 +481,6 @@ public:
 
 /**
     @struct wxRendererVersion
 
 /**
     @struct wxRendererVersion
-    @wxheader{renderer.h}
 
     This simple struct represents the wxRendererNative
     interface version and is only used as the return value of
 
     This simple struct represents the wxRendererNative
     interface version and is only used as the return value of