| 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 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 64 | 64 |
| 65 // Functions for child manipulation and inspection. | 65 // Functions for child manipulation and inspection. |
| 66 const HashSet<RefPtr<Widget> >* children() const { return &m_children; } | 66 const HashSet<RefPtr<Widget> >* children() const { return &m_children; } |
| 67 virtual void addChild(PassRefPtr<Widget>); | 67 virtual void addChild(PassRefPtr<Widget>); |
| 68 virtual void removeChild(Widget*); | 68 virtual void removeChild(Widget*); |
| 69 | 69 |
| 70 // If the scroll view does not use a native widget, then it will have cross-
platform Scrollbars. These functions | 70 // If the scroll view does not use a native widget, then it will have cross-
platform Scrollbars. These functions |
| 71 // can be used to obtain those scrollbars. | 71 // can be used to obtain those scrollbars. |
| 72 virtual Scrollbar* horizontalScrollbar() const OVERRIDE { return m_horizonta
lScrollbar.get(); } | 72 virtual Scrollbar* horizontalScrollbar() const OVERRIDE { return m_horizonta
lScrollbar.get(); } |
| 73 virtual Scrollbar* verticalScrollbar() const OVERRIDE { return m_verticalScr
ollbar.get(); } | 73 virtual Scrollbar* verticalScrollbar() const OVERRIDE { return m_verticalScr
ollbar.get(); } |
| 74 bool isScrollViewScrollbar(const Widget* child) const { return horizontalScr
ollbar() == child || verticalScrollbar() == child; } | 74 virtual bool isScrollViewScrollbar(const Widget* child) const OVERRIDE { ret
urn horizontalScrollbar() == child || verticalScrollbar() == child; } |
| 75 | 75 |
| 76 void positionScrollbarLayers(); | 76 void positionScrollbarLayers(); |
| 77 | 77 |
| 78 // Functions for setting and retrieving the scrolling mode in each axis (hor
izontal/vertical). The mode has values of | 78 // Functions for setting and retrieving the scrolling mode in each axis (hor
izontal/vertical). The mode has values of |
| 79 // AlwaysOff, AlwaysOn, and Auto. AlwaysOff means never show a scrollbar, Al
waysOn means always show a scrollbar. | 79 // AlwaysOff, AlwaysOn, and Auto. AlwaysOff means never show a scrollbar, Al
waysOn means always show a scrollbar. |
| 80 // Auto means show a scrollbar only when one is needed. | 80 // Auto means show a scrollbar only when one is needed. |
| 81 // Note that for platforms with native widgets, these modes are considered a
dvisory. In other words the underlying native | 81 // Note that for platforms with native widgets, these modes are considered a
dvisory. In other words the underlying native |
| 82 // widget may choose not to honor the requested modes. | 82 // widget may choose not to honor the requested modes. |
| 83 void setScrollbarModes(ScrollbarMode horizontalMode, ScrollbarMode verticalM
ode, bool horizontalLock = false, bool verticalLock = false); | 83 void setScrollbarModes(ScrollbarMode horizontalMode, ScrollbarMode verticalM
ode, bool horizontalLock = false, bool verticalLock = false); |
| 84 void setHorizontalScrollbarMode(ScrollbarMode mode, bool lock = false) { set
ScrollbarModes(mode, verticalScrollbarMode(), lock, verticalScrollbarLock()); } | 84 void setHorizontalScrollbarMode(ScrollbarMode mode, bool lock = false) { set
ScrollbarModes(mode, verticalScrollbarMode(), lock, verticalScrollbarLock()); } |
| (...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 276 // Subclassed by FrameView to check the writing-mode of the document. | 276 // Subclassed by FrameView to check the writing-mode of the document. |
| 277 virtual bool isVerticalDocument() const { return true; } | 277 virtual bool isVerticalDocument() const { return true; } |
| 278 virtual bool isFlippedDocument() const { return false; } | 278 virtual bool isFlippedDocument() const { return false; } |
| 279 | 279 |
| 280 enum ComputeScrollbarExistenceOption { | 280 enum ComputeScrollbarExistenceOption { |
| 281 FirstPass, | 281 FirstPass, |
| 282 Incremental | 282 Incremental |
| 283 }; | 283 }; |
| 284 void computeScrollbarExistence(bool& newHasHorizontalScrollbar, bool& newHas
VerticalScrollbar, const IntSize& docSize, ComputeScrollbarExistenceOption = Fir
stPass) const; | 284 void computeScrollbarExistence(bool& newHasHorizontalScrollbar, bool& newHas
VerticalScrollbar, const IntSize& docSize, ComputeScrollbarExistenceOption = Fir
stPass) const; |
| 285 void updateScrollbarGeometry(); | 285 void updateScrollbarGeometry(); |
| 286 IntRect adjustScrollbarRectForResizer(const IntRect&, Scrollbar*); |
| 286 | 287 |
| 287 // Called to update the scrollbars to accurately reflect the state of the vi
ew. | 288 // Called to update the scrollbars to accurately reflect the state of the vi
ew. |
| 288 void updateScrollbars(const IntSize& desiredOffset); | 289 void updateScrollbars(const IntSize& desiredOffset); |
| 289 | 290 |
| 290 IntSize excludeScrollbars(const IntSize&) const; | 291 IntSize excludeScrollbars(const IntSize&) const; |
| 291 | 292 |
| 292 class InUpdateScrollbarsScope { | 293 class InUpdateScrollbarsScope { |
| 293 public: | 294 public: |
| 294 explicit InUpdateScrollbarsScope(ScrollView* view) | 295 explicit InUpdateScrollbarsScope(ScrollView* view) |
| 295 : m_scope(view->m_inUpdateScrollbars, true) | 296 : m_scope(view->m_inUpdateScrollbars, true) |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 340 | 341 |
| 341 void calculateOverhangAreasForPainting(IntRect& horizontalOverhangRect, IntR
ect& verticalOverhangRect); | 342 void calculateOverhangAreasForPainting(IntRect& horizontalOverhangRect, IntR
ect& verticalOverhangRect); |
| 342 void updateOverhangAreas(); | 343 void updateOverhangAreas(); |
| 343 }; // class ScrollView | 344 }; // class ScrollView |
| 344 | 345 |
| 345 DEFINE_TYPE_CASTS(ScrollView, Widget, widget, widget->isScrollView(), widget.isS
crollView()); | 346 DEFINE_TYPE_CASTS(ScrollView, Widget, widget, widget->isScrollView(), widget.isS
crollView()); |
| 346 | 347 |
| 347 } // namespace blink | 348 } // namespace blink |
| 348 | 349 |
| 349 #endif // ScrollView_h | 350 #endif // ScrollView_h |
| OLD | NEW |