]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/scrolwin.h
Latest OS/2 compiler bug fixes for common and generic
[wxWidgets.git] / include / wx / generic / scrolwin.h
index b80e443e14c3473a294ece60b49e6d8f35f2a2df..cc1f9c324999b4f6b44f8219cd05b4f3b42097aa 100644 (file)
 #endif
 
 #include "wx/window.h"
+#include "wx/panel.h"
 
-WXDLLEXPORT_DATA(extern const char*) wxPanelNameStr;
+WXDLLEXPORT_DATA(extern const wxChar*) wxPanelNameStr;
 
-class WXDLLEXPORT wxScrolledWindow: public wxWindow
+class WXDLLEXPORT wxScrolledWindow : public wxPanel
 {
   DECLARE_ABSTRACT_CLASS(wxScrolledWindow)
 
 public:
-  wxScrolledWindow(void);
-  inline wxScrolledWindow(wxWindow *parent, const wxWindowID id = -1,
+  wxScrolledWindow();
+  inline wxScrolledWindow(wxWindow *parent, wxWindowID id = -1,
            const wxPoint& pos = wxDefaultPosition,
            const wxSize& size = wxDefaultSize,
-           const long style = wxHSCROLL|wxVSCROLL,
+           long style = wxHSCROLL|wxVSCROLL,
            const wxString& name = wxPanelNameStr)
   {
       Create(parent, id, pos, size, style, name);
   }
 
-  inline ~wxScrolledWindow(void) {}
+  ~wxScrolledWindow() { }
 
-  bool Create(wxWindow *parent, const wxWindowID id,
+  bool Create(wxWindow *parent, wxWindowID id,
            const wxPoint& pos = wxDefaultPosition,
            const wxSize& size = wxDefaultSize,
-           const long style = wxHSCROLL|wxVSCROLL,
+           long style = wxHSCROLL|wxVSCROLL,
            const wxString& name = wxPanelNameStr);
 
   // Set client size
   // Should take account of scrollbars
-//  virtual void SetClientSize(const int width, const int size);
+//  virtual void SetClientSize(int width, int size);
 
   // Is the window retained?
 //  inline bool IsRetained(void) const;
@@ -53,16 +54,17 @@ public:
   // Number of pixels per user unit (0 or -1 for no scrollbar)
   // Length of virtual canvas in user units
   // Length of page in user units
-  virtual void SetScrollbars(const int pixelsPerUnitX, const int pixelsPerUnitY,
-                             const int noUnitsX, const int noUnitsY,
-                             const int xPos = 0, const int yPos = 0, 
-                            const bool noRefresh = FALSE );
+  virtual void SetScrollbars(int pixelsPerUnitX, int pixelsPerUnitY,
+                             int noUnitsX, int noUnitsY,
+                             int xPos = 0, int yPos = 0,
+                            bool noRefresh = FALSE );
 
   // Physically scroll the window
-  virtual void Scroll(const int x_pos, const int y_pos);
+  virtual void Scroll(int x_pos, int y_pos);
 
 #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 ;
@@ -75,7 +77,7 @@ public:
   // If FALSE, the whole canvas is invalidated and a Clear() is
   // necessary. Disable for when the scroll increment is used
   // to actually scroll a non-constant distance
-  virtual void EnableScrolling(const bool x_scrolling, const bool y_scrolling);
+  virtual void EnableScrolling(bool x_scrolling, bool y_scrolling);
 
   // Get the view start
   virtual void ViewStart(int *x, int *y) const;
@@ -83,42 +85,32 @@ public:
   // Actual size in pixels when scrolling is taken into account
   virtual void GetVirtualSize(int *x, int *y) const;
 
-  virtual void CalcScrolledPosition(const int x, const int y, int *xx, int *yy) const ;
-  virtual void CalcUnscrolledPosition(const int x, const int y, float *xx, float *yy) const ;
+  // Set the scale factor, used in PrepareDC
+  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, int *xx, int *yy) const ;
 
   // Adjust the scrollbars
   virtual void AdjustScrollbars(void);
 
-/*
-#if WXWIN_COMPATIBILITY
-  virtual void OldOnScroll(wxCommandEvent& WXUNUSED(event));
-  virtual void OldOnPaint(void);                 // Called when needs painting
-  virtual void OldOnSize(int width, int height);           // Called on resize
-  virtual void OldOnMouseEvent(wxMouseEvent& event);  // Called on mouse event
-  virtual void OldOnChar(wxKeyEvent& event);     // Called on character event
-#endif
-*/
-
-  void OnScroll(wxScrollEvent& 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(wxScrollEvent& event);
+  virtual int CalcScrollInc(wxScrollWinEvent& event);
 
-  ////////////////////////////////////////////////////////////////////////
-  //// PROTECTED DATA
 protected:
   int                   m_xScrollPixelsPerLine;
   int                   m_yScrollPixelsPerLine;
@@ -130,12 +122,11 @@ protected:
   int                   m_yScrollLines;
   int                   m_xScrollLinesPerPage;
   int                   m_yScrollLinesPerPage;
+  double                m_scaleX;
+  double                m_scaleY;
 
 DECLARE_EVENT_TABLE()
 };
 
-////////////////////////////////////////////////////////////////////////
-//// INLINES
-
 #endif
     // __SCROLWINH_G__