| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * 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 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 15 matching lines...) Expand all Loading... |
| 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 29 */ | 29 */ |
| 30 | 30 |
| 31 #ifndef PinchViewport_h | 31 #ifndef PinchViewport_h |
| 32 #define PinchViewport_h | 32 #define PinchViewport_h |
| 33 | 33 |
| 34 #include "platform/geometry/IntSize.h" | 34 #include "platform/geometry/IntSize.h" |
| 35 #include "platform/graphics/GraphicsLayerClient.h" | 35 #include "platform/graphics/GraphicsLayerClient.h" |
| 36 #include "platform/scroll/ScrollableArea.h" |
| 36 #include "public/platform/WebScrollbar.h" | 37 #include "public/platform/WebScrollbar.h" |
| 37 #include "public/platform/WebSize.h" | 38 #include "public/platform/WebSize.h" |
| 38 #include "wtf/OwnPtr.h" | 39 #include "wtf/OwnPtr.h" |
| 39 #include "wtf/PassOwnPtr.h" | 40 #include "wtf/PassOwnPtr.h" |
| 40 | 41 |
| 41 namespace blink { | 42 namespace blink { |
| 42 class WebLayerTreeView; | 43 class WebLayerTreeView; |
| 43 class WebScrollbarLayer; | 44 class WebScrollbarLayer; |
| 44 } | 45 } |
| 45 | 46 |
| 46 namespace WebCore { | 47 namespace WebCore { |
| 47 | 48 |
| 48 class FrameHost; | 49 class FrameHost; |
| 49 class GraphicsContext; | 50 class GraphicsContext; |
| 50 class GraphicsLayer; | 51 class GraphicsLayer; |
| 51 class GraphicsLayerFactory; | 52 class GraphicsLayerFactory; |
| 52 class IntRect; | 53 class IntRect; |
| 53 class IntSize; | 54 class IntSize; |
| 54 | 55 |
| 55 class PinchViewport FINAL : WebCore::GraphicsLayerClient { | 56 class PinchViewport FINAL : public GraphicsLayerClient, public ScrollableArea { |
| 56 public: | 57 public: |
| 57 PinchViewport(FrameHost&); | 58 PinchViewport(FrameHost&); |
| 58 virtual ~PinchViewport(); | 59 virtual ~PinchViewport(); |
| 59 | 60 |
| 60 void attachToLayerTree(WebCore::GraphicsLayer*, GraphicsLayerFactory*); | 61 void attachToLayerTree(GraphicsLayer*, GraphicsLayerFactory*); |
| 61 WebCore::GraphicsLayer* rootGraphicsLayer() | 62 GraphicsLayer* rootGraphicsLayer() |
| 62 { | 63 { |
| 63 return m_innerViewportContainerLayer.get(); | 64 return m_innerViewportContainerLayer.get(); |
| 64 } | 65 } |
| 65 void setViewportSize(const WebCore::IntSize&); | |
| 66 | 66 |
| 67 void registerViewportLayersWithTreeView(blink::WebLayerTreeView*) const; | 67 void setLocation(const IntPoint&); |
| 68 void clearViewportLayersForTreeView(blink::WebLayerTreeView*) const; | 68 void setSize(const IntSize&); |
| 69 | 69 |
| 70 void registerLayersWithTreeView(blink::WebLayerTreeView*) const; |
| 71 void clearLayersForTreeView(blink::WebLayerTreeView*) const; |
| 72 |
| 73 IntRect visibleRect() const { return m_visibleRect; } |
| 70 private: | 74 private: |
| 75 // ScrollableArea implementation |
| 76 virtual bool isActive() const OVERRIDE { return false; } |
| 77 virtual int scrollSize(ScrollbarOrientation) const OVERRIDE; |
| 78 virtual bool isScrollCornerVisible() const OVERRIDE { return false; } |
| 79 virtual IntRect scrollCornerRect() const OVERRIDE { return IntRect(); } |
| 80 virtual IntPoint scrollPosition() const OVERRIDE { return visibleRect().loca
tion(); } |
| 81 virtual IntPoint minimumScrollPosition() const OVERRIDE; |
| 82 virtual IntPoint maximumScrollPosition() const OVERRIDE; |
| 83 virtual int visibleHeight() const OVERRIDE { return visibleRect().height();
}; |
| 84 virtual int visibleWidth() const OVERRIDE { return visibleRect().width(); }; |
| 85 virtual IntSize contentsSize() const OVERRIDE; |
| 86 virtual bool scrollbarsCanBeActive() const OVERRIDE { return false; } |
| 87 virtual IntRect scrollableAreaBoundingBox() const OVERRIDE; |
| 88 virtual bool userInputScrollable(ScrollbarOrientation) const OVERRIDE { retu
rn true; } |
| 89 virtual bool shouldPlaceVerticalScrollbarOnLeft() const OVERRIDE { return fa
lse; } |
| 90 virtual void invalidateScrollbarRect(Scrollbar*, const IntRect&) OVERRIDE; |
| 91 virtual void invalidateScrollCornerRect(const IntRect&) OVERRIDE { } |
| 92 virtual void setScrollOffset(const IntPoint&) OVERRIDE; |
| 93 virtual GraphicsLayer* layerForContainer() const OVERRIDE; |
| 94 virtual GraphicsLayer* layerForScrolling() const OVERRIDE; |
| 95 virtual GraphicsLayer* layerForHorizontalScrollbar() const OVERRIDE; |
| 96 virtual GraphicsLayer* layerForVerticalScrollbar() const OVERRIDE; |
| 71 | 97 |
| 72 // GraphicsLayerClient implementation. | 98 // GraphicsLayerClient implementation. |
| 73 virtual void notifyAnimationStarted(const WebCore::GraphicsLayer*, double mo
notonicTime) OVERRIDE; | 99 virtual void notifyAnimationStarted(const GraphicsLayer*, double monotonicTi
me) OVERRIDE; |
| 74 virtual void paintContents(const WebCore::GraphicsLayer*, WebCore::GraphicsC
ontext&, WebCore::GraphicsLayerPaintingPhase, const WebCore::IntRect& inClip) OV
ERRIDE; | 100 virtual void paintContents(const GraphicsLayer*, GraphicsContext&, GraphicsL
ayerPaintingPhase, const IntRect& inClip) OVERRIDE; |
| 75 virtual String debugName(const WebCore::GraphicsLayer*) OVERRIDE; | 101 virtual String debugName(const GraphicsLayer*) OVERRIDE; |
| 76 | 102 |
| 77 void setupScrollbar(blink::WebScrollbar::Orientation); | 103 void setupScrollbar(blink::WebScrollbar::Orientation); |
| 78 | 104 |
| 79 WebCore::FrameHost& m_owner; | 105 FrameHost& m_frameHost; |
| 80 OwnPtr<WebCore::GraphicsLayer> m_innerViewportContainerLayer; | 106 OwnPtr<GraphicsLayer> m_innerViewportContainerLayer; |
| 81 OwnPtr<WebCore::GraphicsLayer> m_pageScaleLayer; | 107 OwnPtr<GraphicsLayer> m_pageScaleLayer; |
| 82 OwnPtr<WebCore::GraphicsLayer> m_innerViewportScrollLayer; | 108 OwnPtr<GraphicsLayer> m_innerViewportScrollLayer; |
| 83 OwnPtr<WebCore::GraphicsLayer> m_overlayScrollbarHorizontal; | 109 OwnPtr<GraphicsLayer> m_overlayScrollbarHorizontal; |
| 84 OwnPtr<WebCore::GraphicsLayer> m_overlayScrollbarVertical; | 110 OwnPtr<GraphicsLayer> m_overlayScrollbarVertical; |
| 85 OwnPtr<blink::WebScrollbarLayer> m_webOverlayScrollbarHorizontal; | 111 OwnPtr<blink::WebScrollbarLayer> m_webOverlayScrollbarHorizontal; |
| 86 OwnPtr<blink::WebScrollbarLayer> m_webOverlayScrollbarVertical; | 112 OwnPtr<blink::WebScrollbarLayer> m_webOverlayScrollbarVertical; |
| 113 |
| 114 IntRect m_visibleRect; |
| 87 }; | 115 }; |
| 88 | 116 |
| 89 } // namespace WebCore | 117 } // namespace WebCore |
| 90 | 118 |
| 91 #endif // PinchViewport_h | 119 #endif // PinchViewport_h |
| OLD | NEW |