]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/renderer.h
Added SWIG patches to allow compiling the generated code with
[wxWidgets.git] / include / wx / renderer.h
index e343989a2a137aa154bbcc4e172321a742fde012..0f603773e009615d4c495d9c42bd0c1841b02416 100644 (file)
@@ -5,12 +5,12 @@
 // Modified by:
 // Created:     20.07.2003
 // RCS-ID:      $Id$
 // Modified by:
 // Created:     20.07.2003
 // RCS-ID:      $Id$
-// Copyright:   (c) 2003 Vadim Zeitlin <vadim@wxwindows.org>
+// Copyright:   (c) 2003 Vadim Zeitlin <vadim@wxwidgets.org>
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
 /*
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
 /*
-   Renderers are used in wxWindows for two similar but different things:
+   Renderers are used in wxWidgets for two similar but different things:
     (a) wxUniversal uses them to draw everything, i.e. all the control
     (b) all the native ports use them to draw generic controls only
 
     (a) wxUniversal uses them to draw everything, i.e. all the control
     (b) all the native ports use them to draw generic controls only
 
@@ -54,6 +54,7 @@ enum
     wxCONTROL_SELECTED   = 0x00000020,  // selected item in e.g. listbox
     wxCONTROL_CHECKED    = 0x00000040,  // (check/radio button) is checked
     wxCONTROL_CHECKABLE  = 0x00000080,  // (menu) item can be checked
     wxCONTROL_SELECTED   = 0x00000020,  // selected item in e.g. listbox
     wxCONTROL_CHECKED    = 0x00000040,  // (check/radio button) is checked
     wxCONTROL_CHECKABLE  = 0x00000080,  // (menu) item can be checked
+    wxCONTROL_UNDETERMINED = wxCONTROL_CHECKABLE, // (check) undetermined state
 
     wxCONTROL_FLAGS_MASK = 0x000000ff,
 
 
     wxCONTROL_FLAGS_MASK = 0x000000ff,
 
@@ -153,6 +154,49 @@ public:
                                   wxOrientation orient,
                                   int flags = 0) = 0;
 
                                   wxOrientation orient,
                                   int flags = 0) = 0;
 
+    // draw a combobox dropdown button
+    //
+    // flags may use wxCONTROL_PRESSED and wxCONTROL_CURRENT
+    virtual void DrawComboBoxDropButton(wxWindow *win,
+                                        wxDC& dc,
+                                        const wxRect& rect,
+                                        int flags = 0) = 0;
+
+    // draw a dropdown arrow
+    //
+    // flags may use wxCONTROL_PRESSED and wxCONTROL_CURRENT
+    virtual void DrawDropArrow(wxWindow *win,
+                               wxDC& dc,
+                               const wxRect& rect,
+                               int flags = 0) = 0;
+
+    // draw check button
+    //
+    // flags may use wxCONTROL_CHECKED, wxCONTROL_UNDETERMINED and wxCONTROL_CURRENT
+    virtual void DrawCheckBox(wxWindow *win,
+                              wxDC& dc,
+                              const wxRect& rect,
+                              int flags = 0) = 0;
+
+    // draw blank button
+    //
+    // flags may use wxCONTROL_PRESSED, wxCONTROL_CURRENT and wxCONTROL_ISDEFAULT
+    virtual void DrawPushButton(wxWindow *win,
+                                wxDC& dc,
+                                const wxRect& rect,
+                                int flags = 0) = 0;
+
+    // draw rectangle indicating that an item in e.g. a list control
+    // has been selected or focused
+    //
+    // flags may use 
+    // wxCONTROL_SELECTED (item is selected, e.g. draw background)
+    // wxCONTROL_CURRENT (item is the current item, e.g. dotted border)
+    // wxCONTROL_FOCUSED (the whole control has focus, e.g. blue background vs. grey otherwise)
+    virtual void DrawItemSelectionRect(wxWindow *win,
+                                       wxDC& dc,
+                                       const wxRect& rect,
+                                       int flags = 0) = 0;
 
     // geometry functions
     // ------------------
 
     // geometry functions
     // ------------------
@@ -244,6 +288,35 @@ public:
         { m_rendererNative.DrawSplitterSash(win, dc, size,
                                             position, orient, flags); }
 
         { m_rendererNative.DrawSplitterSash(win, dc, size,
                                             position, orient, flags); }
 
+    virtual void DrawComboBoxDropButton(wxWindow *win,
+                                        wxDC& dc,
+                                        const wxRect& rect,
+                                        int flags = 0)
+        { m_rendererNative.DrawComboBoxDropButton(win, dc, rect, flags); }
+
+    virtual void DrawDropArrow(wxWindow *win,
+                               wxDC& dc,
+                               const wxRect& rect,
+                               int flags = 0)
+        { m_rendererNative.DrawDropArrow(win, dc, rect, flags); }
+
+    virtual void DrawCheckBox(wxWindow *win,
+                              wxDC& dc,
+                              const wxRect& rect,
+                              int flags = 0 )
+        { m_rendererNative.DrawCheckBox( win, dc, rect, flags ); }
+
+    virtual void DrawPushButton(wxWindow *win,
+                                wxDC& dc,
+                                const wxRect& rect,
+                                int flags = 0 )
+        { m_rendererNative.DrawPushButton( win, dc, rect, flags ); }
+
+    virtual void DrawItemSelectionRect(wxWindow *win,
+                                       wxDC& dc,
+                                       const wxRect& rect,
+                                       int flags = 0 )
+        { m_rendererNative.DrawItemSelectionRect( win, dc, rect, flags ); }
 
     virtual wxSplitterRenderParams GetSplitterParams(const wxWindow *win)
         { return m_rendererNative.GetSplitterParams(win); }
 
     virtual wxSplitterRenderParams GetSplitterParams(const wxWindow *win)
         { return m_rendererNative.GetSplitterParams(win); }
@@ -273,4 +346,3 @@ wxRendererNative& wxRendererNative::GetDefault()
 #endif // !wxHAS_NATIVE_RENDERER
 
 #endif // _WX_RENDERER_H_
 #endif // !wxHAS_NATIVE_RENDERER
 
 #endif // _WX_RENDERER_H_
-