X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/249803fbcd1f73040e4b5457e341d8db2e5cb66e..c6ea1fdaf924be4ee49a19d12f76e4fcd257bb0a:/include/wx/univ/stdrend.h diff --git a/include/wx/univ/stdrend.h b/include/wx/univ/stdrend.h index e4115d3b62..62aa0753b1 100644 --- a/include/wx/univ/stdrend.h +++ b/include/wx/univ/stdrend.h @@ -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 resizable 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, @@ -357,7 +347,7 @@ protected: // update m_penXXX objects above const wxColourScheme * const m_scheme; - DECLARE_NO_COPY_CLASS(wxStdRenderer) + wxDECLARE_NO_COPY_CLASS(wxStdRenderer); }; #endif // _WX_UNIV_STDREND_H_