]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/scrolwin.h
Don't define __STRICT_ANSI__, we should build both with and without it.
[wxWidgets.git] / include / wx / scrolwin.h
index adc7e5a1fcb233c72b18f6160c50aba99ae8e096..9c3f1eebbf3151a42fdef917153f567b28099248 100644 (file)
@@ -4,7 +4,6 @@
 // Author:      Vadim Zeitlin
 // Modified by:
 // Created:     30.08.00
-// RCS-ID:      $Id$
 // Copyright:   (c) 2000 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
@@ -101,6 +100,9 @@ public:
         DoShowScrollbars(horz, vert);
     }
 
+    // Test whether the specified scrollbar is shown.
+    virtual bool IsScrollbarShown(int orient) const = 0;
+
     // Enable/disable Windows scrolling in either direction. If true, wxWidgets
     // scrolls the canvas and only a bit of the canvas is invalidated; no
     // Clear() is necessary. If false, the whole canvas is invalidated and a
@@ -316,6 +318,8 @@ protected:
 public:                                                                       \
     virtual void PrepareDC(wxDC& dc) { DoPrepareDC(dc); }                     \
     virtual bool Layout() { return ScrollLayout(); }                          \
+    virtual bool CanScroll(int orient) const                                  \
+        { return IsScrollbarShown(orient); }                                  \
     virtual void DoSetVirtualSize(int x, int y)                               \
         { ScrollDoSetVirtualSize(x, y); }                                     \
     virtual wxSize GetBestVirtualSize() const                                 \
@@ -399,13 +403,19 @@ public:
 #endif
     }
 
+#ifdef __WXMSW__
     // we need to return a special WM_GETDLGCODE value to process just the
     // arrows but let the other navigation characters through
-#ifdef __WXMSW__
     virtual WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam)
     {
         return FilterMSWWindowProc(nMsg, T::MSWWindowProc(nMsg, wParam, lParam));
     }
+
+    // Take into account the scroll origin.
+    virtual void MSWAdjustBrushOrg(int* xOrg, int* yOrg) const
+    {
+        CalcUnscrolledPosition(*xOrg, *yOrg, xOrg, yOrg);
+    }
 #endif // __WXMSW__
 
     WX_FORWARD_TO_SCROLL_HELPER()