]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/univ/stdrend.h
Better fix
[wxWidgets.git] / include / wx / univ / stdrend.h
index e4115d3b628ee40eb77c7177ce55ade9d7f47084..a6be61336d2d1474f8e0730ab5a5950ad37a54c5 100644 (file)
@@ -14,7 +14,7 @@
 #include "wx/univ/renderer.h"
 #include "wx/pen.h"
 
-class WXDLLEXPORT wxColourScheme;
+class WXDLLIMPEXP_FWD_CORE wxColourScheme;
 
 // ----------------------------------------------------------------------------
 // wxStdRenderer: implements as much of wxRenderer API as possible generically
@@ -38,7 +38,8 @@ public:
                                    int flags);
 
 
-    virtual void DrawFocusRect(wxDC& dc, const wxRect& rect);
+    virtual void DrawFocusRect(wxWindow* win, wxDC& dc, const wxRect& rect, int flags = 0);
+
     virtual void DrawLabel(wxDC& dc,
                            const wxString& label,
                            const wxRect& rect,
@@ -136,28 +137,17 @@ public:
 
     virtual wxCoord GetListboxItemHeight(wxCoord fontHeight);
 
-#if wxUSE_SCROLLBAR
-    virtual wxRect GetScrollbarRect(const wxScrollBar *scrollbar,
-                                    wxScrollBar::Element elem,
-                                    int thumbPos = -1) const;
-
-    virtual wxCoord GetScrollbarSize(const wxScrollBar *scrollbar);
-
-    virtual wxHitTest HitTestScrollbar(const wxScrollBar *scrollbar,
-                                       const wxPoint& pt) const;
-
-    virtual wxCoord ScrollbarToPixel(const wxScrollBar *scrollbar,
-                                     int thumbPos = -1);
-    virtual int PixelToScrollbar(const wxScrollBar *scrollbar, wxCoord coord);
-#endif // wxUSE_SCROLLBAR
-
 #if wxUSE_STATUSBAR
     virtual void DrawStatusField(wxDC& dc,
                                  const wxRect& rect,
                                  const wxString& label,
                                  int flags = 0, int style = 0);
 
-    virtual wxSize GetStatusBarBorders(wxCoord *borderBetweenFields) const;
+    virtual wxSize GetStatusBarBorders() const;
+
+    virtual wxCoord GetStatusBarBorderBetweenFields() const;
+
+    virtual wxSize GetStatusBarFieldMargins() const;
 #endif // wxUSE_STATUSBAR
 
     virtual wxCoord GetCheckItemMargin() const { return 0; }
@@ -289,7 +279,9 @@ protected:
     virtual void DrawRaisedBorder(wxDC& dc, wxRect *rect);
     virtual void DrawSunkenBorder(wxDC& dc, wxRect *rect);
     virtual void DrawAntiSunkenBorder(wxDC& dc, wxRect *rect);
-    virtual void DrawFrameBorder(wxDC& dc, wxRect *rect);
+    virtual void DrawBoxBorder(wxDC& dc, wxRect *rect);
+    virtual void DrawStaticBorder(wxDC& dc, wxRect *rect);
+    virtual void DrawExtraBorder(wxDC& dc, wxRect *rect);
 
 
     // draw the frame with non-empty label inside the given rectText
@@ -330,21 +322,19 @@ protected:
     // return the frame icon bitmap
     virtual wxBitmap GetFrameButtonBitmap(FrameButtonType type) = 0;
 
+    // get the width of either normal or resizeable frame border depending on
+    // whether flags contains wxTOPLEVEL_RESIZEABLE bit
+    //
+    // notice that these methods only make sense with standard border drawing
+    // code which uses the borders of the same width on all sides, this is why
+    // they are only present here and not in wxRenderer itself
+    virtual int GetFrameBorderWidth(int flags) const;
+
 #if wxUSE_TEXTCTRL
     // return the width of the border around the text area in the text control
     virtual int GetTextBorderWidth(const wxTextCtrl *text) const;
 #endif // wxUSE_TEXTCTRL
 
-    // return the starting and ending positions, in pixels, of the thumb of a
-    // scrollbar with the given logical position, thumb size and range and the
-    // given physical length
-    static void GetScrollBarThumbSize(wxCoord length,
-                                      int thumbPos,
-                                      int thumbSize,
-                                      int range,
-                                      wxCoord *thumbStart,
-                                      wxCoord *thumbEnd);
-
     // GDI objects we often use
     wxPen m_penBlack,
           m_penDarkGrey,