moved wxScrollBar geometry methods out of wxRenderer, they are common for all themes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42716 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -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
|
||||
@@ -382,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
|
||||
@@ -787,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)
|
||||
|
@@ -121,6 +121,9 @@ public:
|
||||
// for wxControlRenderer::DrawScrollbar() only
|
||||
const wxScrollArrows& GetArrows() const { return m_arrows; }
|
||||
|
||||
// returns one of wxHT_SCROLLBAR_XXX constants
|
||||
wxHitTest HitTestBar(const wxPoint& pt) const;
|
||||
|
||||
// idle processing
|
||||
virtual void OnInternalIdle();
|
||||
|
||||
@@ -141,6 +144,30 @@ protected:
|
||||
// is this scrollbar attached to a window or a standalone control?
|
||||
bool IsStandalone() const;
|
||||
|
||||
// scrollbar geometry methods:
|
||||
|
||||
// gets the bounding box for a scrollbar element for the given (by default
|
||||
// - current) thumb position
|
||||
wxRect GetScrollbarRect(wxScrollBar::Element elem, int thumbPos = -1) const;
|
||||
|
||||
// returns the size of the scrollbar shaft excluding the arrows
|
||||
wxCoord GetScrollbarSize() const;
|
||||
|
||||
// translate the scrollbar position (in logical units) into physical
|
||||
// coordinate (in pixels) and the other way round
|
||||
wxCoord ScrollbarToPixel(int thumbPos = -1);
|
||||
int PixelToScrollbar(wxCoord coord);
|
||||
|
||||
// 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);
|
||||
|
||||
private:
|
||||
// total range of the scrollbar in logical units
|
||||
int m_range;
|
||||
@@ -165,6 +192,9 @@ private:
|
||||
// the object handling the arrows
|
||||
wxScrollArrows m_arrows;
|
||||
|
||||
friend WXDLLEXPORT class wxControlRenderer; // for geometry methods
|
||||
friend class wxStdScrollBarInputHandler; // for geometry methods
|
||||
|
||||
DECLARE_EVENT_TABLE()
|
||||
DECLARE_DYNAMIC_CLASS(wxScrollBar)
|
||||
};
|
||||
|
@@ -136,21 +136,6 @@ 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,
|
||||
@@ -349,16 +334,6 @@ protected:
|
||||
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,
|
||||
|
Reference in New Issue
Block a user