summaryrefslogtreecommitdiff
path: root/src/3rdparty/webkit/WebCore/platform/ScrollView.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/webkit/WebCore/platform/ScrollView.h')
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ScrollView.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/3rdparty/webkit/WebCore/platform/ScrollView.h b/src/3rdparty/webkit/WebCore/platform/ScrollView.h
index 7060d07027..c356a60ef7 100644
--- a/src/3rdparty/webkit/WebCore/platform/ScrollView.h
+++ b/src/3rdparty/webkit/WebCore/platform/ScrollView.h
@@ -89,9 +89,16 @@ public:
void scrollbarModes(ScrollbarMode& horizontalMode, ScrollbarMode& verticalMode) const;
ScrollbarMode horizontalScrollbarMode() const { ScrollbarMode horizontal, vertical; scrollbarModes(horizontal, vertical); return horizontal; }
ScrollbarMode verticalScrollbarMode() const { ScrollbarMode horizontal, vertical; scrollbarModes(horizontal, vertical); return vertical; }
- void setCanHaveScrollbars(bool flag);
+ virtual void setCanHaveScrollbars(bool);
bool canHaveScrollbars() const { return horizontalScrollbarMode() != ScrollbarAlwaysOff || verticalScrollbarMode() != ScrollbarAlwaysOff; }
+ virtual bool avoidScrollbarCreation() { return false; }
+
+ // By default you only receive paint events for the area that is visible. In the case of using a
+ // tiled backing store, this method can be set, so that the view paints the entire contents.
+ bool paintsEntireContents() const { return m_paintsEntireContents; }
+ void setPaintsEntireContents(bool);
+
// Overridden by FrameView to create custom CSS scrollbars if applicable.
virtual PassRefPtr<Scrollbar> createScrollbar(ScrollbarOrientation);
@@ -246,7 +253,7 @@ protected:
virtual void paintScrollCorner(GraphicsContext*, const IntRect& cornerRect);
// Scroll the content by blitting the pixels
- virtual void scrollContentsFastPath(const IntSize& scrollDelta, const IntRect& rectToScroll, const IntRect& clipRect);
+ virtual bool scrollContentsFastPath(const IntSize& scrollDelta, const IntRect& rectToScroll, const IntRect& clipRect);
private:
RefPtr<Scrollbar> m_horizontalScrollbar;
@@ -275,6 +282,8 @@ private:
bool m_drawPanScrollIcon;
bool m_useFixedLayout;
+ bool m_paintsEntireContents;
+
void init();
void destroy();
@@ -310,7 +319,7 @@ private:
#if PLATFORM(GTK)
public:
- void setGtkAdjustments(GtkAdjustment* hadj, GtkAdjustment* vadj);
+ void setGtkAdjustments(GtkAdjustment* hadj, GtkAdjustment* vadj, bool resetValues = true);
GtkAdjustment* m_horizontalAdjustment;
GtkAdjustment* m_verticalAdjustment;
void setScrollOffset(const IntSize& offset) { m_scrollOffset = offset; }