summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/platform/ScrollView.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/platform/ScrollView.h')
-rw-r--r--Source/WebCore/platform/ScrollView.h28
1 files changed, 22 insertions, 6 deletions
diff --git a/Source/WebCore/platform/ScrollView.h b/Source/WebCore/platform/ScrollView.h
index cb895f6..2bd1447 100644
--- a/Source/WebCore/platform/ScrollView.h
+++ b/Source/WebCore/platform/ScrollView.h
@@ -51,7 +51,6 @@ class wxScrollWinEvent;
namespace WebCore {
class HostWindow;
-class PlatformWheelEvent;
class Scrollbar;
class ScrollView : public Widget, public ScrollableArea {
@@ -62,7 +61,8 @@ public:
virtual int scrollSize(ScrollbarOrientation orientation) const;
virtual int scrollPosition(Scrollbar*) const;
virtual void setScrollOffset(const IntPoint&);
-
+ virtual void didCompleteRubberBand(const IntSize&) const;
+
// NOTE: This should only be called by the overriden setScrollOffset from ScrollableArea.
virtual void scrollTo(const IntSize& newOffset);
@@ -162,6 +162,7 @@ public:
int contentsWidth() const { return contentsSize().width(); }
int contentsHeight() const { return contentsSize().height(); }
virtual void setContentsSize(const IntSize&);
+<<<<<<< HEAD
#if PLATFORM(ANDROID)
int actualWidth() const;
@@ -169,6 +170,8 @@ public:
int actualScrollX() const;
int actualScrollY() const;
#endif
+=======
+>>>>>>> webkit.org at r78450
// Functions for querying the current scrolled position (both as a point, a size, or as individual X and Y values).
IntPoint scrollPosition() const { return visibleContentRect().location(); }
@@ -179,7 +182,14 @@ public:
IntPoint adjustScrollPositionWithinRange(const IntPoint&) const;
int scrollX() const { return scrollPosition().x(); }
int scrollY() const { return scrollPosition().y(); }
-
+
+ // Functions for querying the current scrolled position, negating the effects of overhang.
+ int scrollXForFixedPosition() const;
+ int scrollYForFixedPosition() const;
+ IntSize scrollOffsetForFixedPosition() const;
+
+ IntSize overhangAmount() const;
+
// Functions for scrolling the view.
void setScrollPosition(const IntPoint&);
void scrollBy(const IntSize& s) { return setScrollPosition(scrollPosition() + s); }
@@ -235,6 +245,9 @@ public:
// On Mac the underlying NSScrollView just does the scrolling, but on other platforms
// (like Windows), we need this function in order to do the scroll ourselves.
void wheelEvent(PlatformWheelEvent&);
+#if ENABLE(GESTURE_EVENTS)
+ void gestureEvent(const PlatformGestureEvent&);
+#endif
IntPoint convertChildToSelf(const Widget* child, const IntPoint& point) const
{
@@ -282,7 +295,10 @@ protected:
virtual void repaintContentRectangle(const IntRect&, bool now = false);
virtual void paintContents(GraphicsContext*, const IntRect& damageRect) = 0;
-
+
+ void calculateOverhangAreasForPainting(IntRect& horizontalOverhangRect, IntRect& verticalOverhangRect);
+ virtual void paintOverhangAreas(GraphicsContext*, const IntRect& horizontalOverhangArea, const IntRect& verticalOverhangArea, const IntRect& dirtyRect);
+
virtual void contentsResized() = 0;
virtual void visibleContentsResized() = 0;
@@ -299,7 +315,7 @@ protected:
// Scroll the content by invalidating everything.
virtual void scrollContentsSlowPath(const IntRect& updateRect);
- void setScrollOrigin(const IntPoint&, bool updatePosition);
+ void setScrollOrigin(const IntPoint&, bool updatePositionAtAll, bool updatePositionSynchronously);
IntPoint scrollOrigin() { return m_scrollOrigin; }
// Subclassed by FrameView to check the writing-mode of the document.
@@ -383,7 +399,7 @@ private:
void platformRepaintContentRectangle(const IntRect&, bool now);
bool platformIsOffscreen() const;
- void platformSetScrollOrigin(const IntPoint&, bool updatePosition);
+ void platformSetScrollOrigin(const IntPoint&, bool updatePositionAtAll, bool updatePositionSynchronously);
#if PLATFORM(ANDROID)
int platformActualWidth() const;