]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/renderer.h
implemented raw bitmap access for wxDFB
[wxWidgets.git] / include / wx / renderer.h
index 82ca8ce7ce115255a607ec7cd999984921eff941..14ffb00d9448e4b2eda4f3e2a38b71030d57bf80 100644 (file)
@@ -25,8 +25,8 @@
 #ifndef _WX_RENDERER_H_
 #define _WX_RENDERER_H_
 
-class WXDLLEXPORT wxDC;
-class WXDLLEXPORT wxWindow;
+class WXDLLIMPEXP_FWD_CORE wxDC;
+class WXDLLIMPEXP_FWD_CORE wxWindow;
 
 #include "wx/gdicmn.h" // for wxPoint
 #include "wx/colour.h"
@@ -51,9 +51,12 @@ enum
     wxCONTROL_DISABLED   = 0x00000001,  // control is disabled
     wxCONTROL_FOCUSED    = 0x00000002,  // currently has keyboard focus
     wxCONTROL_PRESSED    = 0x00000004,  // (button) is pressed
-    wxCONTROL_ISDEFAULT  = 0x00000008,  // only applies to the buttons
-    wxCONTROL_ISSUBMENU  = wxCONTROL_ISDEFAULT, // only for menu items
-    wxCONTROL_EXPANDED   = wxCONTROL_ISDEFAULT, // only for the tree items
+    wxCONTROL_SPECIAL    = 0x00000008,  // control-specific bit:
+    wxCONTROL_ISDEFAULT  = wxCONTROL_SPECIAL, // only for the buttons
+    wxCONTROL_ISSUBMENU  = wxCONTROL_SPECIAL, // only for the menu items
+    wxCONTROL_EXPANDED   = wxCONTROL_SPECIAL, // only for the tree items
+    wxCONTROL_SIZEGRIP   = wxCONTROL_SPECIAL, // only for the status bar panes
+    wxCONTROL_FLAT       = wxCONTROL_SPECIAL, // checkboxes only: flat border
     wxCONTROL_CURRENT    = 0x00000010,  // mouse is currently over the control
     wxCONTROL_SELECTED   = 0x00000020,  // selected item in e.g. listbox
     wxCONTROL_CHECKED    = 0x00000040,  // (check/radio button) is checked
@@ -155,8 +158,9 @@ public:
     // drawing functions
     // -----------------
 
-    // draw the header control button (used by wxListCtrl)
-    virtual void DrawHeaderButton(wxWindow *win,
+    // draw the header control button (used by wxListCtrl) Returns optimal
+    // width for the label contents.
+    virtual int  DrawHeaderButton(wxWindow *win,
                                   wxDC& dc,
                                   const wxRect& rect,
                                   int flags = 0,
@@ -166,7 +170,7 @@ public:
 
     // Draw the contents of a header control button (label, sort arrows, etc.)
     // Normally only called by DrawHeaderButton.
-    virtual void DrawHeaderButtonContents(wxWindow *win,
+    virtual int  DrawHeaderButtonContents(wxWindow *win,
                                           wxDC& dc,
                                           const wxRect& rect,
                                           int flags = 0,
@@ -306,21 +310,21 @@ public:
         : m_rendererNative(rendererNative) { }
 
 
-    virtual void DrawHeaderButton(wxWindow *win,
+    virtual int  DrawHeaderButton(wxWindow *win,
                                   wxDC& dc,
                                   const wxRect& rect,
                                   int flags = 0,
                                   wxHeaderSortIconType sortArrow = wxHDR_SORT_ICON_NONE,
                                   wxHeaderButtonParams* params = NULL)
-        { m_rendererNative.DrawHeaderButton(win, dc, rect, flags, sortArrow, params); }
+        { return m_rendererNative.DrawHeaderButton(win, dc, rect, flags, sortArrow, params); }
 
-    virtual void DrawHeaderButtonContents(wxWindow *win,
+    virtual int  DrawHeaderButtonContents(wxWindow *win,
                                           wxDC& dc,
                                           const wxRect& rect,
                                           int flags = 0,
                                           wxHeaderSortIconType sortArrow = wxHDR_SORT_ICON_NONE,
                                           wxHeaderButtonParams* params = NULL)
-        { m_rendererNative.DrawHeaderButtonContents(win, dc, rect, flags, sortArrow, params); }
+        { return m_rendererNative.DrawHeaderButtonContents(win, dc, rect, flags, sortArrow, params); }
 
     virtual int GetHeaderButtonHeight(wxWindow *win)
         { return m_rendererNative.GetHeaderButtonHeight(win); }