X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c403693947e0129dac212a86021ca8280e28462f..5debbdcf7b6c6e493aa5c475fd2744a22b2bf4f9:/include/wx/univ/renderer.h diff --git a/include/wx/univ/renderer.h b/include/wx/univ/renderer.h index cc0951a31c..9d66b616fe 100644 --- a/include/wx/univ/renderer.h +++ b/include/wx/univ/renderer.h @@ -56,7 +56,6 @@ class WXDLLEXPORT wxScrollBar; #include "wx/string.h" #include "wx/gdicmn.h" #include "wx/icon.h" -#include "wx/scrolbar.h" // for wxScrollBar::Element // helper class used by wxMenu-related functions class WXDLLEXPORT wxMenuGeometryInfo @@ -93,7 +92,9 @@ public: // draw the focus rectangle around the label contained in the given rect - virtual void DrawFocusRect(wxDC& dc, const wxRect& rect) = 0; + // + // only wxCONTROL_SELECTED makes sense in flags here + virtual void DrawFocusRect(wxDC& dc, const wxRect& rect, int flags = 0) = 0; // draw the label inside the given rectangle with the specified alignment // and optionally emphasize the character with the given index @@ -380,30 +381,8 @@ public: virtual void AdjustSize(wxSize *size, const wxWindow *window) = 0; #if wxUSE_SCROLLBAR - // get the size of a scrollbar arrow virtual wxSize GetScrollbarArrowSize() const = 0; - - // gets the bounding box for a scrollbar element for the given (by default - // - current) thumb position - virtual wxRect GetScrollbarRect(const wxScrollBar *scrollbar, - wxScrollBar::Element elem, - int thumbPos = -1) const = 0; - - // returns the size of the scrollbar shaft excluding the arrows - virtual wxCoord GetScrollbarSize(const wxScrollBar *scrollbar) = 0; - - // returns one of wxHT_SCROLLBAR_XXX constants - virtual wxHitTest HitTestScrollbar(const wxScrollBar *scrollbar, - const wxPoint& pt) const = 0; - - // translate the scrollbar position (in logical units) into physical - // coordinate (in pixels) and the other way round - virtual wxCoord ScrollbarToPixel(const wxScrollBar *scrollbar, - int thumbPos = -1) = 0; - virtual int PixelToScrollbar(const wxScrollBar *scrollbar, - wxCoord coord) = 0; - #endif // wxUSE_SCROLLBAR // get the height of a listbox item from the base font height @@ -414,12 +393,14 @@ public: virtual wxSize GetRadioBitmapSize() const = 0; virtual wxCoord GetCheckItemMargin() const = 0; +#if wxUSE_TOOLBAR // get the standard size of a toolbar button and also return the size of // a toolbar separator in the provided pointer virtual wxSize GetToolBarButtonSize(wxCoord *separator) const = 0; // get the margins between/around the toolbar buttons virtual wxSize GetToolBarMargin() const = 0; +#endif // wxUSE_TOOLBAR #if wxUSE_TEXTCTRL // convert between text rectangle and client rectangle for text controls: @@ -479,8 +460,14 @@ public: #if wxUSE_STATUSBAR // get the borders around the status bar fields (x and y fields of the - // return value) and also, optionally, the border between the fields - virtual wxSize GetStatusBarBorders(wxCoord *borderBetweenFields) const = 0; + // return value) + virtual wxSize GetStatusBarBorders() const = 0; + + // get the border between the status bar fields + virtual wxCoord GetStatusBarBorderBetweenFields() const = 0; + + // get the mergin between a field and its border + virtual wxSize GetStatusBarFieldMargins() const = 0; #endif // wxUSE_STATUSBAR // get client area rectangle of top level window (i.e. subtract @@ -528,8 +515,8 @@ public: const wxRect& rect, int flags) { m_renderer->DrawButtonSurface(dc, col, rect, flags); } - virtual void DrawFocusRect(wxDC& dc, const wxRect& rect) - { m_renderer->DrawFocusRect(dc, rect); } + virtual void DrawFocusRect(wxDC& dc, const wxRect& rect, int flags = 0) + { m_renderer->DrawFocusRect(dc, rect, flags); } virtual void DrawLabel(wxDC& dc, const wxString& label, const wxRect& rect, @@ -777,21 +764,6 @@ public: #if wxUSE_SCROLLBAR virtual wxSize GetScrollbarArrowSize() const { return m_renderer->GetScrollbarArrowSize(); } - virtual wxRect GetScrollbarRect(const wxScrollBar *scrollbar, - wxScrollBar::Element elem, - int thumbPos = -1) const - { return m_renderer->GetScrollbarRect(scrollbar, elem, thumbPos); } - virtual wxCoord GetScrollbarSize(const wxScrollBar *scrollbar) - { return m_renderer->GetScrollbarSize(scrollbar); } - virtual wxHitTest HitTestScrollbar(const wxScrollBar *scrollbar, - const wxPoint& pt) const - { return m_renderer->HitTestScrollbar(scrollbar, pt); } - virtual wxCoord ScrollbarToPixel(const wxScrollBar *scrollbar, - int thumbPos = -1) - { return m_renderer->ScrollbarToPixel(scrollbar, thumbPos); } - virtual int PixelToScrollbar(const wxScrollBar *scrollbar, - wxCoord coord) - { return m_renderer->PixelToScrollbar(scrollbar, coord); } #endif // wxUSE_SCROLLBAR virtual wxCoord GetListboxItemHeight(wxCoord fontHeight) @@ -803,10 +775,12 @@ public: virtual wxCoord GetCheckItemMargin() const { return m_renderer->GetCheckItemMargin(); } +#if wxUSE_TOOLBAR virtual wxSize GetToolBarButtonSize(wxCoord *separator) const { return m_renderer->GetToolBarButtonSize(separator); } virtual wxSize GetToolBarMargin() const { return m_renderer->GetToolBarMargin(); } +#endif // wxUSE_TOOLBAR #if wxUSE_TEXTCTRL virtual wxRect GetTextTotalArea(const wxTextCtrl *text, @@ -852,9 +826,14 @@ public: #endif // wxUSE_MENUS #if wxUSE_STATUSBAR - virtual wxSize GetStatusBarBorders(wxCoord *borderBetweenFields) const - { return m_renderer->GetStatusBarBorders(borderBetweenFields); } + virtual wxSize GetStatusBarBorders() const + { return m_renderer->GetStatusBarBorders(); } + virtual wxCoord GetStatusBarBorderBetweenFields() const + { return m_renderer->GetStatusBarBorderBetweenFields(); } + virtual wxSize GetStatusBarFieldMargins() const + { return m_renderer->GetStatusBarFieldMargins(); } #endif // wxUSE_STATUSBAR + virtual wxRect GetFrameClientArea(const wxRect& rect, int flags) const { return m_renderer->GetFrameClientArea(rect, flags); } virtual wxSize GetFrameTotalSize(const wxSize& clientSize, int flags) const @@ -868,13 +847,13 @@ public: int flags) const { return m_renderer->HitTestFrame(rect, pt, flags); } - virtual void DrawHeaderButton(wxWindow *win, + virtual int DrawHeaderButton(wxWindow *win, wxDC& dc, const wxRect& rect, int flags = 0, wxHeaderSortIconType sortIcon = wxHDR_SORT_ICON_NONE, wxHeaderButtonParams* params = NULL) - { m_renderer->DrawHeaderButton(win, dc, rect, flags, sortIcon, params); } + { return m_renderer->DrawHeaderButton(win, dc, rect, flags, sortIcon, params); } virtual void DrawTreeItemButton(wxWindow *win, wxDC& dc, const wxRect& rect,