#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
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,
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; }
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
// 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,