| OLD | NEW |
| 1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef WebLayerTreeViewImpl_h | 5 #ifndef WEBKIT_COMPOSITOR_BINDINGS_WEB_LAYER_TREE_VIEW_IMPL_H_ |
| 6 #define WebLayerTreeViewImpl_h | 6 #define WEBKIT_COMPOSITOR_BINDINGS_WEB_LAYER_TREE_VIEW_IMPL_H_ |
| 7 | 7 |
| 8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
| 9 #include "cc/layer_tree_host_client.h" | 9 #include "cc/layer_tree_host_client.h" |
| 10 #include "third_party/WebKit/Source/Platform/chromium/public/WebLayerTreeView.h" | 10 #include "third_party/WebKit/Source/Platform/chromium/public/WebLayerTreeView.h" |
| 11 #include "webkit/compositor_bindings/webkit_compositor_bindings_export.h" | 11 #include "webkit/compositor_bindings/webkit_compositor_bindings_export.h" |
| 12 | 12 |
| 13 namespace cc { | 13 namespace cc { |
| 14 class FontAtlas; | 14 class FontAtlas; |
| 15 class LayerTreeHost; | 15 class LayerTreeHost; |
| 16 class Thread; | 16 class Thread; |
| 17 } | 17 } |
| 18 | 18 |
| 19 namespace WebKit { | 19 namespace WebKit { |
| 20 class WebLayer; | 20 class WebLayer; |
| 21 class WebLayerTreeViewClient; | 21 class WebLayerTreeViewClient; |
| 22 class WebLayerTreeViewClientAdapter; | 22 class WebLayerTreeViewClientAdapter; |
| 23 | 23 |
| 24 class WebLayerTreeViewImpl : public WebLayerTreeView, public cc::LayerTreeHostCl
ient { | 24 class WebLayerTreeViewImpl : public WebLayerTreeView, |
| 25 public: | 25 public cc::LayerTreeHostClient { |
| 26 WEBKIT_COMPOSITOR_BINDINGS_EXPORT explicit WebLayerTreeViewImpl( | 26 public: |
| 27 WebLayerTreeViewClient*); | 27 WEBKIT_COMPOSITOR_BINDINGS_EXPORT explicit WebLayerTreeViewImpl( |
| 28 virtual ~WebLayerTreeViewImpl(); | 28 WebLayerTreeViewClient* client); |
| 29 virtual ~WebLayerTreeViewImpl(); |
| 29 | 30 |
| 30 WEBKIT_COMPOSITOR_BINDINGS_EXPORT bool initialize( | 31 WEBKIT_COMPOSITOR_BINDINGS_EXPORT bool initialize( |
| 31 const Settings&, scoped_ptr<cc::Thread> implThread); | 32 const Settings& settings, scoped_ptr<cc::Thread> impl_thread); |
| 32 | 33 |
| 33 // WebLayerTreeView implementation. | 34 WEBKIT_COMPOSITOR_BINDINGS_EXPORT cc::LayerTreeHost* layer_tree_host() const; |
| 34 virtual void setSurfaceReady() OVERRIDE; | |
| 35 virtual void setRootLayer(const WebLayer&) OVERRIDE; | |
| 36 virtual void clearRootLayer() OVERRIDE; | |
| 37 virtual void setViewportSize(const WebSize& layoutViewportSize, const WebSiz
e& deviceViewportSize = WebSize()) OVERRIDE; | |
| 38 virtual WebSize layoutViewportSize() const OVERRIDE; | |
| 39 virtual WebSize deviceViewportSize() const OVERRIDE; | |
| 40 virtual WebFloatPoint adjustEventPointForPinchZoom(const WebFloatPoint& poin
t) const OVERRIDE; | |
| 41 virtual void setDeviceScaleFactor(float) OVERRIDE; | |
| 42 virtual float deviceScaleFactor() const OVERRIDE; | |
| 43 virtual void setBackgroundColor(WebColor) OVERRIDE; | |
| 44 virtual void setHasTransparentBackground(bool) OVERRIDE; | |
| 45 virtual void setVisible(bool) OVERRIDE; | |
| 46 virtual void setPageScaleFactorAndLimits(float pageScaleFactor, float minimu
m, float maximum) OVERRIDE; | |
| 47 virtual void startPageScaleAnimation(const WebPoint& destination, bool useAn
chor, float newPageScale, double durationSec) OVERRIDE; | |
| 48 virtual void setNeedsAnimate() OVERRIDE; | |
| 49 virtual void setNeedsRedraw() OVERRIDE; | |
| 50 virtual bool commitRequested() const OVERRIDE; | |
| 51 virtual void composite() OVERRIDE; | |
| 52 virtual void updateAnimations(double frameBeginTime) OVERRIDE; | |
| 53 virtual void didStopFlinging() OVERRIDE; | |
| 54 virtual bool compositeAndReadback(void *pixels, const WebRect&) OVERRIDE; | |
| 55 virtual void finishAllRendering() OVERRIDE; | |
| 56 virtual void setDeferCommits(bool deferCommits) OVERRIDE; | |
| 57 virtual void renderingStats(WebRenderingStats&) const OVERRIDE; | |
| 58 virtual void setShowFPSCounter(bool show); | |
| 59 virtual void setShowPaintRects(bool show); | |
| 60 virtual void setContinuousPaintingEnabled(bool); | |
| 61 | 35 |
| 62 // cc::LayerTreeHostClient implementation. | 36 // WebLayerTreeView implementation. |
| 63 virtual void willBeginFrame() OVERRIDE; | 37 virtual void setSurfaceReady() OVERRIDE; |
| 64 virtual void didBeginFrame() OVERRIDE; | 38 virtual void setRootLayer(const WebLayer&) OVERRIDE; |
| 65 virtual void animate(double monotonicFrameBeginTime) OVERRIDE; | 39 virtual void clearRootLayer() OVERRIDE; |
| 66 virtual void layout() OVERRIDE; | 40 virtual void setViewportSize( |
| 67 virtual void applyScrollAndScale(gfx::Vector2d scrollDelta, float pageScale)
OVERRIDE; | 41 const WebSize& layout_viewport_size, |
| 68 virtual scoped_ptr<cc::OutputSurface> createOutputSurface() OVERRIDE; | 42 const WebSize& deviceViewportSize = WebSize()) OVERRIDE; |
| 69 virtual void didRecreateOutputSurface(bool success) OVERRIDE; | 43 virtual WebSize layoutViewportSize() const OVERRIDE; |
| 70 virtual scoped_ptr<cc::InputHandler> createInputHandler() OVERRIDE; | 44 virtual WebSize deviceViewportSize() const OVERRIDE; |
| 71 virtual void willCommit() OVERRIDE; | 45 virtual WebFloatPoint adjustEventPointForPinchZoom( |
| 72 virtual void didCommit() OVERRIDE; | 46 const WebFloatPoint& point) const OVERRIDE; |
| 73 virtual void didCommitAndDrawFrame() OVERRIDE; | 47 virtual void setDeviceScaleFactor(float device_scale_factor) OVERRIDE; |
| 74 virtual void didCompleteSwapBuffers() OVERRIDE; | 48 virtual float deviceScaleFactor() const OVERRIDE; |
| 75 virtual void scheduleComposite() OVERRIDE; | 49 virtual void setBackgroundColor(WebColor) OVERRIDE; |
| 76 virtual scoped_ptr<cc::FontAtlas> createFontAtlas(); | 50 virtual void setHasTransparentBackground(bool transparent) OVERRIDE; |
| 51 virtual void setVisible(bool visible) OVERRIDE; |
| 52 virtual void setPageScaleFactorAndLimits(float page_scale_factor, |
| 53 float minimum, |
| 54 float maximum) OVERRIDE; |
| 55 virtual void startPageScaleAnimation(const WebPoint& destination, |
| 56 bool use_anchor, |
| 57 float new_page_scale, |
| 58 double duration_sec) OVERRIDE; |
| 59 virtual void setNeedsAnimate() OVERRIDE; |
| 60 virtual void setNeedsRedraw() OVERRIDE; |
| 61 virtual bool commitRequested() const OVERRIDE; |
| 62 virtual void composite() OVERRIDE; |
| 63 virtual void updateAnimations(double frame_begin_time) OVERRIDE; |
| 64 virtual void didStopFlinging() OVERRIDE; |
| 65 virtual bool compositeAndReadback(void* pixels, |
| 66 const WebRect& viewport_rect) OVERRIDE; |
| 67 virtual void finishAllRendering() OVERRIDE; |
| 68 virtual void setDeferCommits(bool defer_commits) OVERRIDE; |
| 69 virtual void renderingStats(WebRenderingStats& stats) const OVERRIDE; |
| 70 virtual void setShowFPSCounter(bool show); |
| 71 virtual void setShowPaintRects(bool show); |
| 72 virtual void setContinuousPaintingEnabled(bool enabled); |
| 77 | 73 |
| 78 private: | 74 // cc::LayerTreeHostClient implementation. |
| 79 WebLayerTreeViewClient* m_client; | 75 virtual void willBeginFrame() OVERRIDE; |
| 80 scoped_ptr<cc::LayerTreeHost> m_layerTreeHost; | 76 virtual void didBeginFrame() OVERRIDE; |
| 77 virtual void animate(double monotonicFrameBeginTime) OVERRIDE; |
| 78 virtual void layout() OVERRIDE; |
| 79 virtual void applyScrollAndScale(gfx::Vector2d scroll_delta, |
| 80 float page_scale) OVERRIDE; |
| 81 virtual scoped_ptr<cc::OutputSurface> createOutputSurface() OVERRIDE; |
| 82 virtual void didRecreateOutputSurface(bool success) OVERRIDE; |
| 83 virtual scoped_ptr<cc::InputHandler> createInputHandler() OVERRIDE; |
| 84 virtual void willCommit() OVERRIDE; |
| 85 virtual void didCommit() OVERRIDE; |
| 86 virtual void didCommitAndDrawFrame() OVERRIDE; |
| 87 virtual void didCompleteSwapBuffers() OVERRIDE; |
| 88 virtual void scheduleComposite() OVERRIDE; |
| 89 virtual scoped_ptr<cc::FontAtlas> createFontAtlas(); |
| 90 |
| 91 private: |
| 92 WebLayerTreeViewClient* client_; |
| 93 scoped_ptr<cc::LayerTreeHost> layer_tree_host_; |
| 81 }; | 94 }; |
| 82 | 95 |
| 83 } // namespace WebKit | 96 } // namespace WebKit |
| 84 | 97 |
| 85 #endif // WebLayerTreeViewImpl_h | 98 #endif // WEBKIT_COMPOSITOR_BINDINGS_WEB_LAYER_TREE_VIEW_IMPL_H_ |
| OLD | NEW |