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:
Vadim Zeitlin
1999-07-05 20:58:52 +00:00
parent ebea0891d0
commit a0bc2c1d27
2 changed files with 43 additions and 28 deletions

View File

@@ -64,6 +64,7 @@ public:
#if WXWIN_COMPATIBILITY
virtual void GetScrollUnitsPerPage(int *x_page, int *y_page) const;
virtual void CalcUnscrolledPosition(int x, int y, float *xx, float *yy) const ;
#endif
int GetScrollPageSize(int orient) const ;
@@ -85,29 +86,27 @@ public:
virtual void GetVirtualSize(int *x, int *y) const;
// Set the scale factor, used in PrepareDC
inline void SetScale(double xs, double ys) { m_scaleX = xs; m_scaleY = ys; }
inline double GetScaleX() const { return m_scaleX; }
inline double GetScaleY() const { return m_scaleY; }
void SetScale(double xs, double ys) { m_scaleX = xs; m_scaleY = ys; }
double GetScaleX() const { return m_scaleX; }
double GetScaleY() const { return m_scaleY; }
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
virtual void AdjustScrollbars(void);
void OnScroll(wxScrollWinEvent& event);
void OnSize(wxSizeEvent& event);
void OnPaint(wxPaintEvent& event);
// Override this function to draw the graphic.
// Override this function to draw the graphic (or just process EVT_PAINT)
virtual void OnDraw(wxDC& WXUNUSED(dc)) {};
// Override this function if you don't want to have wxScrolledWindow
// automatically change the origin according to the scroll position.
virtual void PrepareDC(wxDC& dc);
public:
// IMPLEMENTATION
// implementation from now on
void OnScroll(wxScrollWinEvent& event);
void OnSize(wxSizeEvent& event);
void OnPaint(wxPaintEvent& event);
// Calculate scroll increment
virtual int CalcScrollInc(wxScrollWinEvent& event);

View File

@@ -390,11 +390,21 @@ void wxScrolledWindow::GetScrollUnitsPerPage (int *x_page, int *y_page) const
*x_page = GetScrollPageSize(wxHORIZONTAL);
*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
{
if ( x_unit )
*x_unit = m_xScrollPixelsPerLine;
if ( y_unit )
*y_unit = m_yScrollPixelsPerLine;
}
@@ -475,27 +485,33 @@ void wxScrolledWindow::EnableScrolling (bool x_scroll, bool y_scroll)
void wxScrolledWindow::GetVirtualSize (int *x, int *y) const
{
if ( x )
*x = m_xScrollPixelsPerLine * m_xScrollLines;
if ( y )
*y = m_yScrollPixelsPerLine * m_yScrollLines;
}
// Where the current view starts from
void wxScrolledWindow::ViewStart (int *x, int *y) const
{
if ( x )
*x = m_xScrollPosition;
if ( y )
*y = m_yScrollPosition;
}
void wxScrolledWindow::CalcScrolledPosition(int x, int y, int *xx, int *yy) const
{
if ( xx )
*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);
*yy = (float)(y + m_yScrollPosition * m_yScrollPixelsPerLine);
if ( xx )
*xx = x + m_xScrollPosition * m_xScrollPixelsPerLine;
if ( yy )
*yy = y + m_yScrollPosition * m_yScrollPixelsPerLine;
}