CalcUnscrolledPosition takes int, not floats
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2954 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
WXDLLEXPORT_DATA(extern const wxChar*) wxPanelNameStr;
|
WXDLLEXPORT_DATA(extern const wxChar*) wxPanelNameStr;
|
||||||
|
|
||||||
class WXDLLEXPORT wxScrolledWindow: public wxPanel
|
class WXDLLEXPORT wxScrolledWindow : public wxPanel
|
||||||
{
|
{
|
||||||
DECLARE_ABSTRACT_CLASS(wxScrolledWindow)
|
DECLARE_ABSTRACT_CLASS(wxScrolledWindow)
|
||||||
|
|
||||||
@@ -36,7 +36,7 @@ public:
|
|||||||
Create(parent, id, pos, size, style, name);
|
Create(parent, id, pos, size, style, name);
|
||||||
}
|
}
|
||||||
|
|
||||||
~wxScrolledWindow() {}
|
~wxScrolledWindow() { }
|
||||||
|
|
||||||
bool Create(wxWindow *parent, wxWindowID id,
|
bool Create(wxWindow *parent, wxWindowID id,
|
||||||
const wxPoint& pos = wxDefaultPosition,
|
const wxPoint& pos = wxDefaultPosition,
|
||||||
@@ -64,6 +64,7 @@ public:
|
|||||||
|
|
||||||
#if WXWIN_COMPATIBILITY
|
#if WXWIN_COMPATIBILITY
|
||||||
virtual void GetScrollUnitsPerPage(int *x_page, int *y_page) const;
|
virtual void GetScrollUnitsPerPage(int *x_page, int *y_page) const;
|
||||||
|
virtual void CalcUnscrolledPosition(int x, int y, float *xx, float *yy) const ;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int GetScrollPageSize(int orient) const ;
|
int GetScrollPageSize(int orient) const ;
|
||||||
@@ -85,30 +86,28 @@ public:
|
|||||||
virtual void GetVirtualSize(int *x, int *y) const;
|
virtual void GetVirtualSize(int *x, int *y) const;
|
||||||
|
|
||||||
// Set the scale factor, used in PrepareDC
|
// Set the scale factor, used in PrepareDC
|
||||||
inline void SetScale(double xs, double ys) { m_scaleX = xs; m_scaleY = ys; }
|
void SetScale(double xs, double ys) { m_scaleX = xs; m_scaleY = ys; }
|
||||||
inline double GetScaleX() const { return m_scaleX; }
|
double GetScaleX() const { return m_scaleX; }
|
||||||
inline double GetScaleY() const { return m_scaleY; }
|
double GetScaleY() const { return m_scaleY; }
|
||||||
|
|
||||||
virtual void CalcScrolledPosition(int x, int y, int *xx, int *yy) const ;
|
virtual void CalcScrolledPosition(int x, int y, int *xx, int *yy) const ;
|
||||||
virtual void CalcUnscrolledPosition(int x, int y, float *xx, float *yy) const ;
|
virtual void CalcUnscrolledPosition(int x, int y, int *xx, int *yy) const ;
|
||||||
|
|
||||||
// Adjust the scrollbars
|
// Adjust the scrollbars
|
||||||
virtual void AdjustScrollbars(void);
|
virtual void AdjustScrollbars(void);
|
||||||
|
|
||||||
void OnScroll(wxScrollWinEvent& event);
|
// Override this function to draw the graphic (or just process EVT_PAINT)
|
||||||
void OnSize(wxSizeEvent& event);
|
|
||||||
void OnPaint(wxPaintEvent& event);
|
|
||||||
|
|
||||||
// Override this function to draw the graphic.
|
|
||||||
virtual void OnDraw(wxDC& WXUNUSED(dc)) {};
|
virtual void OnDraw(wxDC& WXUNUSED(dc)) {};
|
||||||
|
|
||||||
// Override this function if you don't want to have wxScrolledWindow
|
// Override this function if you don't want to have wxScrolledWindow
|
||||||
// automatically change the origin according to the scroll position.
|
// automatically change the origin according to the scroll position.
|
||||||
virtual void PrepareDC(wxDC& dc);
|
virtual void PrepareDC(wxDC& dc);
|
||||||
|
|
||||||
public:
|
// implementation from now on
|
||||||
// IMPLEMENTATION
|
void OnScroll(wxScrollWinEvent& event);
|
||||||
|
void OnSize(wxSizeEvent& event);
|
||||||
|
void OnPaint(wxPaintEvent& event);
|
||||||
|
|
||||||
// Calculate scroll increment
|
// Calculate scroll increment
|
||||||
virtual int CalcScrollInc(wxScrollWinEvent& event);
|
virtual int CalcScrollInc(wxScrollWinEvent& event);
|
||||||
|
|
||||||
|
@@ -390,12 +390,22 @@ void wxScrolledWindow::GetScrollUnitsPerPage (int *x_page, int *y_page) const
|
|||||||
*x_page = GetScrollPageSize(wxHORIZONTAL);
|
*x_page = GetScrollPageSize(wxHORIZONTAL);
|
||||||
*y_page = GetScrollPageSize(wxVERTICAL);
|
*y_page = GetScrollPageSize(wxVERTICAL);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
void wxScrolledWindow::CalcUnscrolledPosition(int x, int y, float *xx, float *yy) const
|
||||||
|
{
|
||||||
|
if ( xx )
|
||||||
|
*xx = (float)(x + m_xScrollPosition * m_xScrollPixelsPerLine);
|
||||||
|
if ( yy )
|
||||||
|
*yy = (float)(y + m_yScrollPosition * m_yScrollPixelsPerLine);
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY
|
||||||
|
|
||||||
void wxScrolledWindow::GetScrollPixelsPerUnit (int *x_unit, int *y_unit) const
|
void wxScrolledWindow::GetScrollPixelsPerUnit (int *x_unit, int *y_unit) const
|
||||||
{
|
{
|
||||||
*x_unit = m_xScrollPixelsPerLine;
|
if ( x_unit )
|
||||||
*y_unit = m_yScrollPixelsPerLine;
|
*x_unit = m_xScrollPixelsPerLine;
|
||||||
|
if ( y_unit )
|
||||||
|
*y_unit = m_yScrollPixelsPerLine;
|
||||||
}
|
}
|
||||||
|
|
||||||
int wxScrolledWindow::GetScrollPageSize(int orient) const
|
int wxScrolledWindow::GetScrollPageSize(int orient) const
|
||||||
@@ -475,27 +485,33 @@ void wxScrolledWindow::EnableScrolling (bool x_scroll, bool y_scroll)
|
|||||||
|
|
||||||
void wxScrolledWindow::GetVirtualSize (int *x, int *y) const
|
void wxScrolledWindow::GetVirtualSize (int *x, int *y) const
|
||||||
{
|
{
|
||||||
*x = m_xScrollPixelsPerLine * m_xScrollLines;
|
if ( x )
|
||||||
*y = m_yScrollPixelsPerLine * m_yScrollLines;
|
*x = m_xScrollPixelsPerLine * m_xScrollLines;
|
||||||
|
if ( y )
|
||||||
|
*y = m_yScrollPixelsPerLine * m_yScrollLines;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Where the current view starts from
|
// Where the current view starts from
|
||||||
void wxScrolledWindow::ViewStart (int *x, int *y) const
|
void wxScrolledWindow::ViewStart (int *x, int *y) const
|
||||||
{
|
{
|
||||||
*x = m_xScrollPosition;
|
if ( x )
|
||||||
*y = m_yScrollPosition;
|
*x = m_xScrollPosition;
|
||||||
|
if ( y )
|
||||||
|
*y = m_yScrollPosition;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxScrolledWindow::CalcScrolledPosition(int x, int y, int *xx, int *yy) const
|
void wxScrolledWindow::CalcScrolledPosition(int x, int y, int *xx, int *yy) const
|
||||||
{
|
{
|
||||||
*xx = x - m_xScrollPosition * m_xScrollPixelsPerLine;
|
if ( xx )
|
||||||
*yy = y - m_yScrollPosition * m_yScrollPixelsPerLine;
|
*xx = x - m_xScrollPosition * m_xScrollPixelsPerLine;
|
||||||
|
if ( yy )
|
||||||
|
*yy = y - m_yScrollPosition * m_yScrollPixelsPerLine;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxScrolledWindow::CalcUnscrolledPosition(int x, int y, float *xx, float *yy) const
|
void wxScrolledWindow::CalcUnscrolledPosition(int x, int y, int *xx, int *yy) const
|
||||||
{
|
{
|
||||||
*xx = (float)(x + m_xScrollPosition * m_xScrollPixelsPerLine);
|
if ( xx )
|
||||||
*yy = (float)(y + m_yScrollPosition * m_yScrollPixelsPerLine);
|
*xx = x + m_xScrollPosition * m_xScrollPixelsPerLine;
|
||||||
|
if ( yy )
|
||||||
|
*yy = y + m_yScrollPosition * m_yScrollPixelsPerLine;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user