]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/scrolwin.h
*** empty log message ***
[wxWidgets.git] / include / wx / generic / scrolwin.h
index 435d3f38fff80fefdfd6e7f8d7280e8b489e9c1a..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);
+  wxScrolledWindow();
   inline wxScrolledWindow(wxWindow *parent, wxWindowID id = -1,
            const wxPoint& pos = wxDefaultPosition,
            const wxSize& size = wxDefaultSize,
@@ -35,7 +36,7 @@ public:
       Create(parent, id, pos, size, style, name);
   }
 
-  inline ~wxScrolledWindow(void) {}
+  ~wxScrolledWindow() { }
 
   bool Create(wxWindow *parent, wxWindowID id,
            const wxPoint& pos = wxDefaultPosition,
@@ -63,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 ;
@@ -83,42 +85,32 @@ public:
   // Actual size in pixels when scrolling is taken into account
   virtual void GetVirtualSize(int *x, int *y) 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, float *xx, float *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__