| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2004, 2006, 2007, 2008 Apple Inc. All rights reserved. | 2 * Copyright (C) 2004, 2006, 2007, 2008 Apple Inc. All rights reserved. |
| 3 * Copyright (C) 2009 Holger Hans Peter Freyther | 3 * Copyright (C) 2009 Holger Hans Peter Freyther |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
| 7 * are met: | 7 * are met: |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 28 matching lines...) Expand all Loading... |
| 39 | 39 |
| 40 namespace blink { | 40 namespace blink { |
| 41 | 41 |
| 42 class Scrollbar; | 42 class Scrollbar; |
| 43 | 43 |
| 44 class PLATFORM_EXPORT ScrollView : public Widget, public ScrollableArea { | 44 class PLATFORM_EXPORT ScrollView : public Widget, public ScrollableArea { |
| 45 public: | 45 public: |
| 46 virtual ~ScrollView(); | 46 virtual ~ScrollView(); |
| 47 | 47 |
| 48 // ScrollableArea functions. | 48 // ScrollableArea functions. |
| 49 virtual int scrollSize(ScrollbarOrientation) const OVERRIDE; | 49 virtual int scrollSize(ScrollbarOrientation) const override; |
| 50 virtual void setScrollOffset(const IntPoint&) OVERRIDE; | 50 virtual void setScrollOffset(const IntPoint&) override; |
| 51 virtual void setScrollOffset(const DoublePoint&) OVERRIDE; | 51 virtual void setScrollOffset(const DoublePoint&) override; |
| 52 virtual bool isScrollCornerVisible() const OVERRIDE; | 52 virtual bool isScrollCornerVisible() const override; |
| 53 virtual void scrollbarStyleChanged() OVERRIDE; | 53 virtual void scrollbarStyleChanged() override; |
| 54 virtual bool userInputScrollable(ScrollbarOrientation) const OVERRIDE; | 54 virtual bool userInputScrollable(ScrollbarOrientation) const override; |
| 55 virtual bool shouldPlaceVerticalScrollbarOnLeft() const OVERRIDE; | 55 virtual bool shouldPlaceVerticalScrollbarOnLeft() const override; |
| 56 | 56 |
| 57 virtual void notifyPageThatContentAreaWillPaint() const; | 57 virtual void notifyPageThatContentAreaWillPaint() const; |
| 58 | 58 |
| 59 // The window that hosts the ScrollView. The ScrollView will communicate scr
olls and repaints to the | 59 // The window that hosts the ScrollView. The ScrollView will communicate scr
olls and repaints to the |
| 60 // host window in the window's coordinate space. | 60 // host window in the window's coordinate space. |
| 61 virtual HostWindow* hostWindow() const = 0; | 61 virtual HostWindow* hostWindow() const = 0; |
| 62 | 62 |
| 63 // Returns a clip rect in host window coordinates. Used to clip the blit on
a scroll. | 63 // Returns a clip rect in host window coordinates. Used to clip the blit on
a scroll. |
| 64 virtual IntRect windowClipRect(IncludeScrollbarsInRect = ExcludeScrollbars)
const = 0; | 64 virtual IntRect windowClipRect(IncludeScrollbarsInRect = ExcludeScrollbars)
const = 0; |
| 65 | 65 |
| 66 // Functions for child manipulation and inspection. | 66 // Functions for child manipulation and inspection. |
| 67 const HashSet<RefPtr<Widget> >* children() const { return &m_children; } | 67 const HashSet<RefPtr<Widget> >* children() const { return &m_children; } |
| 68 virtual void addChild(PassRefPtr<Widget>); | 68 virtual void addChild(PassRefPtr<Widget>); |
| 69 virtual void removeChild(Widget*); | 69 virtual void removeChild(Widget*); |
| 70 | 70 |
| 71 // If the scroll view does not use a native widget, then it will have cross-
platform Scrollbars. These functions | 71 // If the scroll view does not use a native widget, then it will have cross-
platform Scrollbars. These functions |
| 72 // can be used to obtain those scrollbars. | 72 // can be used to obtain those scrollbars. |
| 73 virtual Scrollbar* horizontalScrollbar() const OVERRIDE { return m_horizonta
lScrollbar.get(); } | 73 virtual Scrollbar* horizontalScrollbar() const override { return m_horizonta
lScrollbar.get(); } |
| 74 virtual Scrollbar* verticalScrollbar() const OVERRIDE { return m_verticalScr
ollbar.get(); } | 74 virtual Scrollbar* verticalScrollbar() const override { return m_verticalScr
ollbar.get(); } |
| 75 virtual bool isScrollViewScrollbar(const Widget* child) const OVERRIDE { ret
urn horizontalScrollbar() == child || verticalScrollbar() == child; } | 75 virtual bool isScrollViewScrollbar(const Widget* child) const override { ret
urn horizontalScrollbar() == child || verticalScrollbar() == child; } |
| 76 | 76 |
| 77 void positionScrollbarLayers(); | 77 void positionScrollbarLayers(); |
| 78 | 78 |
| 79 // Functions for setting and retrieving the scrolling mode in each axis (hor
izontal/vertical). The mode has values of | 79 // Functions for setting and retrieving the scrolling mode in each axis (hor
izontal/vertical). The mode has values of |
| 80 // AlwaysOff, AlwaysOn, and Auto. AlwaysOff means never show a scrollbar, Al
waysOn means always show a scrollbar. | 80 // AlwaysOff, AlwaysOn, and Auto. AlwaysOff means never show a scrollbar, Al
waysOn means always show a scrollbar. |
| 81 // Auto means show a scrollbar only when one is needed. | 81 // Auto means show a scrollbar only when one is needed. |
| 82 // Note that for platforms with native widgets, these modes are considered a
dvisory. In other words the underlying native | 82 // Note that for platforms with native widgets, these modes are considered a
dvisory. In other words the underlying native |
| 83 // widget may choose not to honor the requested modes. | 83 // widget may choose not to honor the requested modes. |
| 84 void setScrollbarModes(ScrollbarMode horizontalMode, ScrollbarMode verticalM
ode, bool horizontalLock = false, bool verticalLock = false); | 84 void setScrollbarModes(ScrollbarMode horizontalMode, ScrollbarMode verticalM
ode, bool horizontalLock = false, bool verticalLock = false); |
| 85 void setHorizontalScrollbarMode(ScrollbarMode mode, bool lock = false) { set
ScrollbarModes(mode, verticalScrollbarMode(), lock, verticalScrollbarLock()); } | 85 void setHorizontalScrollbarMode(ScrollbarMode mode, bool lock = false) { set
ScrollbarModes(mode, verticalScrollbarMode(), lock, verticalScrollbarLock()); } |
| (...skipping 16 matching lines...) Expand all Loading... |
| 102 // false, paint events are no longer clipped. | 102 // false, paint events are no longer clipped. |
| 103 bool clipsPaintInvalidations() const { return m_clipsRepaints; } | 103 bool clipsPaintInvalidations() const { return m_clipsRepaints; } |
| 104 void setClipsRepaints(bool); | 104 void setClipsRepaints(bool); |
| 105 | 105 |
| 106 // Overridden by FrameView to create custom CSS scrollbars if applicable. | 106 // Overridden by FrameView to create custom CSS scrollbars if applicable. |
| 107 virtual PassRefPtr<Scrollbar> createScrollbar(ScrollbarOrientation); | 107 virtual PassRefPtr<Scrollbar> createScrollbar(ScrollbarOrientation); |
| 108 | 108 |
| 109 // The visible content rect has a location that is the scrolled offset of th
e document. The width and height are the viewport width | 109 // The visible content rect has a location that is the scrolled offset of th
e document. The width and height are the viewport width |
| 110 // and height. By default the scrollbars themselves are excluded from this r
ectangle, but an optional boolean argument allows them to be | 110 // and height. By default the scrollbars themselves are excluded from this r
ectangle, but an optional boolean argument allows them to be |
| 111 // included. | 111 // included. |
| 112 virtual IntRect visibleContentRect(IncludeScrollbarsInRect = ExcludeScrollba
rs) const OVERRIDE; | 112 virtual IntRect visibleContentRect(IncludeScrollbarsInRect = ExcludeScrollba
rs) const override; |
| 113 IntSize visibleSize() const { return visibleContentRect().size(); } | 113 IntSize visibleSize() const { return visibleContentRect().size(); } |
| 114 | 114 |
| 115 // visibleContentRect().size() is computed from unscaledVisibleContentSize()
divided by the value of visibleContentScaleFactor. | 115 // visibleContentRect().size() is computed from unscaledVisibleContentSize()
divided by the value of visibleContentScaleFactor. |
| 116 // For the main frame, visibleContentScaleFactor is equal to the page's page
ScaleFactor; it's 1 otherwise. | 116 // For the main frame, visibleContentScaleFactor is equal to the page's page
ScaleFactor; it's 1 otherwise. |
| 117 IntSize unscaledVisibleContentSize(IncludeScrollbarsInRect = ExcludeScrollba
rs) const; | 117 IntSize unscaledVisibleContentSize(IncludeScrollbarsInRect = ExcludeScrollba
rs) const; |
| 118 virtual float visibleContentScaleFactor() const { return 1; } | 118 virtual float visibleContentScaleFactor() const { return 1; } |
| 119 | 119 |
| 120 // Offset used to convert incoming input events while emulating device metic
s. | 120 // Offset used to convert incoming input events while emulating device metic
s. |
| 121 virtual IntSize inputEventsOffsetForEmulation() const { return IntSize(); } | 121 virtual IntSize inputEventsOffsetForEmulation() const { return IntSize(); } |
| 122 | 122 |
| 123 // Scale used to convert incoming input events. Usually the same as visibleC
ontentScaleFactor(), unless specifically changed. | 123 // Scale used to convert incoming input events. Usually the same as visibleC
ontentScaleFactor(), unless specifically changed. |
| 124 virtual float inputEventsScaleFactor() const { return visibleContentScaleFac
tor(); } | 124 virtual float inputEventsScaleFactor() const { return visibleContentScaleFac
tor(); } |
| 125 | 125 |
| 126 // Functions for getting/setting the size of the document contained inside t
he ScrollView (as an IntSize or as individual width and height | 126 // Functions for getting/setting the size of the document contained inside t
he ScrollView (as an IntSize or as individual width and height |
| 127 // values). | 127 // values). |
| 128 virtual IntSize contentsSize() const OVERRIDE; // Always at least as big as
the visibleWidth()/visibleHeight(). | 128 virtual IntSize contentsSize() const override; // Always at least as big as
the visibleWidth()/visibleHeight(). |
| 129 int contentsWidth() const { return contentsSize().width(); } | 129 int contentsWidth() const { return contentsSize().width(); } |
| 130 int contentsHeight() const { return contentsSize().height(); } | 130 int contentsHeight() const { return contentsSize().height(); } |
| 131 virtual void setContentsSize(const IntSize&); | 131 virtual void setContentsSize(const IntSize&); |
| 132 | 132 |
| 133 // Functions for querying the current scrolled position (both as a point, a
size, or as individual X and Y values). | 133 // Functions for querying the current scrolled position (both as a point, a
size, or as individual X and Y values). |
| 134 // FIXME: Remove the IntPoint version. crbug.com/414283. | 134 // FIXME: Remove the IntPoint version. crbug.com/414283. |
| 135 virtual IntPoint scrollPosition() const OVERRIDE { return visibleContentRect
().location(); } | 135 virtual IntPoint scrollPosition() const override { return visibleContentRect
().location(); } |
| 136 virtual DoublePoint scrollPositionDouble() const OVERRIDE { return m_scrollP
osition; } | 136 virtual DoublePoint scrollPositionDouble() const override { return m_scrollP
osition; } |
| 137 IntSize scrollOffset() const { return toIntSize(visibleContentRect().locatio
n()); } // Gets the scrolled position as an IntSize. Convenient for adding to ot
her sizes. | 137 IntSize scrollOffset() const { return toIntSize(visibleContentRect().locatio
n()); } // Gets the scrolled position as an IntSize. Convenient for adding to ot
her sizes. |
| 138 DoubleSize pendingScrollDelta() const { return m_pendingScrollDelta; } | 138 DoubleSize pendingScrollDelta() const { return m_pendingScrollDelta; } |
| 139 virtual IntPoint maximumScrollPosition() const OVERRIDE; // The maximum posi
tion we can be scrolled to. | 139 virtual IntPoint maximumScrollPosition() const override; // The maximum posi
tion we can be scrolled to. |
| 140 virtual IntPoint minimumScrollPosition() const OVERRIDE; // The minimum posi
tion we can be scrolled to. | 140 virtual IntPoint minimumScrollPosition() const override; // The minimum posi
tion we can be scrolled to. |
| 141 // Adjust the passed in scroll position to keep it between the minimum and m
aximum positions. | 141 // Adjust the passed in scroll position to keep it between the minimum and m
aximum positions. |
| 142 IntPoint adjustScrollPositionWithinRange(const IntPoint&) const; | 142 IntPoint adjustScrollPositionWithinRange(const IntPoint&) const; |
| 143 DoublePoint adjustScrollPositionWithinRange(const DoublePoint&) const; | 143 DoublePoint adjustScrollPositionWithinRange(const DoublePoint&) const; |
| 144 double scrollX() const { return scrollPositionDouble().x(); } | 144 double scrollX() const { return scrollPositionDouble().x(); } |
| 145 double scrollY() const { return scrollPositionDouble().y(); } | 145 double scrollY() const { return scrollPositionDouble().y(); } |
| 146 | 146 |
| 147 virtual IntSize overhangAmount() const OVERRIDE; | 147 virtual IntSize overhangAmount() const override; |
| 148 | 148 |
| 149 void cacheCurrentScrollPosition() { m_cachedScrollPosition = scrollPositionD
ouble(); } | 149 void cacheCurrentScrollPosition() { m_cachedScrollPosition = scrollPositionD
ouble(); } |
| 150 DoublePoint cachedScrollPosition() const { return m_cachedScrollPosition; } | 150 DoublePoint cachedScrollPosition() const { return m_cachedScrollPosition; } |
| 151 | 151 |
| 152 // Functions for scrolling the view. | 152 // Functions for scrolling the view. |
| 153 virtual void setScrollPosition(const IntPoint&, ScrollBehavior = ScrollBehav
iorInstant); | 153 virtual void setScrollPosition(const IntPoint&, ScrollBehavior = ScrollBehav
iorInstant); |
| 154 void scrollBy(const IntSize& s, ScrollBehavior behavior = ScrollBehaviorInst
ant) | 154 void scrollBy(const IntSize& s, ScrollBehavior behavior = ScrollBehaviorInst
ant) |
| 155 { | 155 { |
| 156 return setScrollPosition(scrollPosition() + s, behavior); | 156 return setScrollPosition(scrollPosition() + s, behavior); |
| 157 } | 157 } |
| (...skipping 24 matching lines...) Expand all Loading... |
| 182 // Functions for converting to screen coordinates. | 182 // Functions for converting to screen coordinates. |
| 183 IntRect contentsToScreen(const IntRect&) const; | 183 IntRect contentsToScreen(const IntRect&) const; |
| 184 | 184 |
| 185 // These functions are used to enable scrollbars to avoid window resizer con
trols that overlap the scroll view. This happens on Mac | 185 // These functions are used to enable scrollbars to avoid window resizer con
trols that overlap the scroll view. This happens on Mac |
| 186 // for example. | 186 // for example. |
| 187 virtual IntRect windowResizerRect() const { return IntRect(); } | 187 virtual IntRect windowResizerRect() const { return IntRect(); } |
| 188 bool containsScrollbarsAvoidingResizer() const; | 188 bool containsScrollbarsAvoidingResizer() const; |
| 189 void adjustScrollbarsAvoidingResizerCount(int overlapDelta); | 189 void adjustScrollbarsAvoidingResizerCount(int overlapDelta); |
| 190 void windowResizerRectChanged(); | 190 void windowResizerRectChanged(); |
| 191 | 191 |
| 192 virtual void setParent(Widget*) OVERRIDE; // Overridden to update the overla
pping scrollbar count. | 192 virtual void setParent(Widget*) override; // Overridden to update the overla
pping scrollbar count. |
| 193 | 193 |
| 194 // Called when our frame rect changes (or the rect/scroll position of an anc
estor changes). | 194 // Called when our frame rect changes (or the rect/scroll position of an anc
estor changes). |
| 195 virtual void frameRectsChanged() OVERRIDE; | 195 virtual void frameRectsChanged() override; |
| 196 | 196 |
| 197 // Widget override to update our scrollbars and notify our contents of the r
esize. | 197 // Widget override to update our scrollbars and notify our contents of the r
esize. |
| 198 virtual void setFrameRect(const IntRect&) OVERRIDE; | 198 virtual void setFrameRect(const IntRect&) override; |
| 199 | 199 |
| 200 // For platforms that need to hit test scrollbars from within the engine's e
vent handlers (like Win32). | 200 // For platforms that need to hit test scrollbars from within the engine's e
vent handlers (like Win32). |
| 201 Scrollbar* scrollbarAtWindowPoint(const IntPoint& windowPoint); | 201 Scrollbar* scrollbarAtWindowPoint(const IntPoint& windowPoint); |
| 202 Scrollbar* scrollbarAtViewPoint(const IntPoint& viewPoint); | 202 Scrollbar* scrollbarAtViewPoint(const IntPoint& viewPoint); |
| 203 | 203 |
| 204 virtual IntPoint convertChildToSelf(const Widget* child, const IntPoint& poi
nt) const OVERRIDE | 204 virtual IntPoint convertChildToSelf(const Widget* child, const IntPoint& poi
nt) const override |
| 205 { | 205 { |
| 206 IntPoint newPoint = point; | 206 IntPoint newPoint = point; |
| 207 if (!isScrollViewScrollbar(child)) | 207 if (!isScrollViewScrollbar(child)) |
| 208 newPoint = point - scrollOffset(); | 208 newPoint = point - scrollOffset(); |
| 209 newPoint.moveBy(child->location()); | 209 newPoint.moveBy(child->location()); |
| 210 return newPoint; | 210 return newPoint; |
| 211 } | 211 } |
| 212 | 212 |
| 213 virtual IntPoint convertSelfToChild(const Widget* child, const IntPoint& poi
nt) const OVERRIDE | 213 virtual IntPoint convertSelfToChild(const Widget* child, const IntPoint& poi
nt) const override |
| 214 { | 214 { |
| 215 IntPoint newPoint = point; | 215 IntPoint newPoint = point; |
| 216 if (!isScrollViewScrollbar(child)) | 216 if (!isScrollViewScrollbar(child)) |
| 217 newPoint = point + scrollOffset(); | 217 newPoint = point + scrollOffset(); |
| 218 newPoint.moveBy(-child->location()); | 218 newPoint.moveBy(-child->location()); |
| 219 return newPoint; | 219 return newPoint; |
| 220 } | 220 } |
| 221 | 221 |
| 222 // Widget override. Handles painting of the contents of the view as well as
the scrollbars. | 222 // Widget override. Handles painting of the contents of the view as well as
the scrollbars. |
| 223 virtual void paint(GraphicsContext*, const IntRect&) OVERRIDE; | 223 virtual void paint(GraphicsContext*, const IntRect&) override; |
| 224 void paintScrollbars(GraphicsContext*, const IntRect&); | 224 void paintScrollbars(GraphicsContext*, const IntRect&); |
| 225 | 225 |
| 226 // Widget overrides to ensure that our children's visibility status is kept
up to date when we get shown and hidden. | 226 // Widget overrides to ensure that our children's visibility status is kept
up to date when we get shown and hidden. |
| 227 virtual void show() OVERRIDE; | 227 virtual void show() override; |
| 228 virtual void hide() OVERRIDE; | 228 virtual void hide() override; |
| 229 virtual void setParentVisible(bool) OVERRIDE; | 229 virtual void setParentVisible(bool) override; |
| 230 | 230 |
| 231 // Pan scrolling. | 231 // Pan scrolling. |
| 232 static const int noPanScrollRadius = 15; | 232 static const int noPanScrollRadius = 15; |
| 233 void addPanScrollIcon(const IntPoint&); | 233 void addPanScrollIcon(const IntPoint&); |
| 234 void removePanScrollIcon(); | 234 void removePanScrollIcon(); |
| 235 void paintPanScrollIcon(GraphicsContext*); | 235 void paintPanScrollIcon(GraphicsContext*); |
| 236 | 236 |
| 237 virtual bool isPointInScrollbarCorner(const IntPoint&); | 237 virtual bool isPointInScrollbarCorner(const IntPoint&); |
| 238 virtual bool scrollbarCornerPresent() const; | 238 virtual bool scrollbarCornerPresent() const; |
| 239 virtual IntRect scrollCornerRect() const OVERRIDE; | 239 virtual IntRect scrollCornerRect() const override; |
| 240 virtual void paintScrollCorner(GraphicsContext*, const IntRect& cornerRect); | 240 virtual void paintScrollCorner(GraphicsContext*, const IntRect& cornerRect); |
| 241 virtual void paintScrollbar(GraphicsContext*, Scrollbar*, const IntRect&); | 241 virtual void paintScrollbar(GraphicsContext*, Scrollbar*, const IntRect&); |
| 242 | 242 |
| 243 virtual IntRect convertFromScrollbarToContainingView(const Scrollbar*, const
IntRect&) const OVERRIDE; | 243 virtual IntRect convertFromScrollbarToContainingView(const Scrollbar*, const
IntRect&) const override; |
| 244 virtual IntRect convertFromContainingViewToScrollbar(const Scrollbar*, const
IntRect&) const OVERRIDE; | 244 virtual IntRect convertFromContainingViewToScrollbar(const Scrollbar*, const
IntRect&) const override; |
| 245 virtual IntPoint convertFromScrollbarToContainingView(const Scrollbar*, cons
t IntPoint&) const OVERRIDE; | 245 virtual IntPoint convertFromScrollbarToContainingView(const Scrollbar*, cons
t IntPoint&) const override; |
| 246 virtual IntPoint convertFromContainingViewToScrollbar(const Scrollbar*, cons
t IntPoint&) const OVERRIDE; | 246 virtual IntPoint convertFromContainingViewToScrollbar(const Scrollbar*, cons
t IntPoint&) const override; |
| 247 | 247 |
| 248 void calculateAndPaintOverhangAreas(GraphicsContext*, const IntRect& dirtyRe
ct); | 248 void calculateAndPaintOverhangAreas(GraphicsContext*, const IntRect& dirtyRe
ct); |
| 249 void calculateAndPaintOverhangBackground(GraphicsContext*, const IntRect& di
rtyRect); | 249 void calculateAndPaintOverhangBackground(GraphicsContext*, const IntRect& di
rtyRect); |
| 250 | 250 |
| 251 virtual bool isScrollView() const OVERRIDE FINAL { return true; } | 251 virtual bool isScrollView() const override FINAL { return true; } |
| 252 | 252 |
| 253 protected: | 253 protected: |
| 254 ScrollView(); | 254 ScrollView(); |
| 255 | 255 |
| 256 // NOTE: This should only be called by the overriden setScrollOffset from Sc
rollableArea. | 256 // NOTE: This should only be called by the overriden setScrollOffset from Sc
rollableArea. |
| 257 virtual void scrollTo(const DoublePoint& newPosition); | 257 virtual void scrollTo(const DoublePoint& newPosition); |
| 258 | 258 |
| 259 virtual void contentRectangleForPaintInvalidation(const IntRect&); | 259 virtual void contentRectangleForPaintInvalidation(const IntRect&); |
| 260 virtual void paintContents(GraphicsContext*, const IntRect& damageRect) = 0; | 260 virtual void paintContents(GraphicsContext*, const IntRect& damageRect) = 0; |
| 261 | 261 |
| 262 virtual void paintOverhangAreas(GraphicsContext*, const IntRect& horizontalO
verhangArea, const IntRect& verticalOverhangArea, const IntRect& dirtyRect); | 262 virtual void paintOverhangAreas(GraphicsContext*, const IntRect& horizontalO
verhangArea, const IntRect& verticalOverhangArea, const IntRect& dirtyRect); |
| 263 | 263 |
| 264 virtual void scrollbarExistenceDidChange() = 0; | 264 virtual void scrollbarExistenceDidChange() = 0; |
| 265 // These functions are used to create/destroy scrollbars. | 265 // These functions are used to create/destroy scrollbars. |
| 266 void setHasHorizontalScrollbar(bool); | 266 void setHasHorizontalScrollbar(bool); |
| 267 void setHasVerticalScrollbar(bool); | 267 void setHasVerticalScrollbar(bool); |
| 268 | 268 |
| 269 virtual void updateScrollCorner(); | 269 virtual void updateScrollCorner(); |
| 270 virtual void invalidateScrollCornerRect(const IntRect&) OVERRIDE; | 270 virtual void invalidateScrollCornerRect(const IntRect&) override; |
| 271 | 271 |
| 272 void scrollContentsIfNeeded(); | 272 void scrollContentsIfNeeded(); |
| 273 // Scroll the content by via the compositor. | 273 // Scroll the content by via the compositor. |
| 274 virtual bool scrollContentsFastPath(const IntSize& scrollDelta) { return tru
e; } | 274 virtual bool scrollContentsFastPath(const IntSize& scrollDelta) { return tru
e; } |
| 275 // Scroll the content by invalidating everything. | 275 // Scroll the content by invalidating everything. |
| 276 virtual void scrollContentsSlowPath(const IntRect& updateRect); | 276 virtual void scrollContentsSlowPath(const IntRect& updateRect); |
| 277 | 277 |
| 278 void setScrollOrigin(const IntPoint&, bool updatePositionAtAll, bool updateP
ositionSynchronously); | 278 void setScrollOrigin(const IntPoint&, bool updatePositionAtAll, bool updateP
ositionSynchronously); |
| 279 | 279 |
| 280 // Subclassed by FrameView to check the writing-mode of the document. | 280 // Subclassed by FrameView to check the writing-mode of the document. |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 345 | 345 |
| 346 void calculateOverhangAreasForPainting(IntRect& horizontalOverhangRect, IntR
ect& verticalOverhangRect); | 346 void calculateOverhangAreasForPainting(IntRect& horizontalOverhangRect, IntR
ect& verticalOverhangRect); |
| 347 void updateOverhangAreas(); | 347 void updateOverhangAreas(); |
| 348 }; // class ScrollView | 348 }; // class ScrollView |
| 349 | 349 |
| 350 DEFINE_TYPE_CASTS(ScrollView, Widget, widget, widget->isScrollView(), widget.isS
crollView()); | 350 DEFINE_TYPE_CASTS(ScrollView, Widget, widget, widget->isScrollView(), widget.isS
crollView()); |
| 351 | 351 |
| 352 } // namespace blink | 352 } // namespace blink |
| 353 | 353 |
| 354 #endif // ScrollView_h | 354 #endif // ScrollView_h |
| OLD | NEW |