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 |