]> git.saurik.com Git - wxWidgets.git/commitdiff
CalcUnscrolledPosition takes int, not floats
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 5 Jul 1999 20:58:52 +0000 (20:58 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 5 Jul 1999 20:58:52 +0000 (20:58 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2954 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/generic/scrolwin.h
src/generic/scrolwin.cpp

index 9a29985ec8c1909829fa2f02ed3345f949732a6c..cc1f9c324999b4f6b44f8219cd05b4f3b42097aa 100644 (file)
@@ -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,
            const wxPoint& pos = wxDefaultPosition,
 
   bool Create(wxWindow *parent, wxWindowID id,
            const wxPoint& pos = wxDefaultPosition,
@@ -64,6 +64,7 @@ public:
 
 #if WXWIN_COMPATIBILITY
   virtual void GetScrollUnitsPerPage(int *x_page, int *y_page) const;
 
 #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 ;
 #endif
 
   int GetScrollPageSize(int orient) const ;
@@ -85,30 +86,28 @@ public:
   virtual void GetVirtualSize(int *x, int *y) const;
 
   // Set the scale factor, used in PrepareDC
   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 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);
 
 
   // 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);
 
   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);
 
   // Calculate scroll increment
   virtual int CalcScrollInc(wxScrollWinEvent& event);
 
index 033b08913b6bc3d0136937f3a6c43773d86d283f..8078c767b4079a2ef9e61fee3536c7355c39be23 100644 (file)
@@ -390,12 +390,22 @@ void wxScrolledWindow::GetScrollUnitsPerPage (int *x_page, int *y_page) const
       *x_page = GetScrollPageSize(wxHORIZONTAL);
       *y_page = GetScrollPageSize(wxVERTICAL);
 }
       *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
 {
 
 void wxScrolledWindow::GetScrollPixelsPerUnit (int *x_unit, int *y_unit) const
 {
-      *x_unit = m_xScrollPixelsPerLine;
-      *y_unit = m_yScrollPixelsPerLine;
+    if ( x_unit )
+        *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;
-    *y = m_yScrollPixelsPerLine * m_yScrollLines;
+    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
 {
 }
 
 // Where the current view starts from
 void wxScrolledWindow::ViewStart (int *x, int *y) const
 {
-    *x = m_xScrollPosition;
-    *y = m_yScrollPosition;
+    if ( x )
+        *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;
-    *yy = y - m_yScrollPosition * m_yScrollPixelsPerLine;
+    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;
 }
 }
-
-