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 WEBKIT_COMPOSITOR_BINDINGS_WEB_LAYER_TREE_VIEW_IMPL_H_ | 5 #ifndef WebLayerTreeViewImpl_h |
6 #define WEBKIT_COMPOSITOR_BINDINGS_WEB_LAYER_TREE_VIEW_IMPL_H_ | 6 #define WebLayerTreeViewImpl_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, | 24 class WebLayerTreeViewImpl : public WebLayerTreeView, public cc::LayerTreeHostCl
ient { |
25 public cc::LayerTreeHostClient { | 25 public: |
26 public: | 26 WEBKIT_COMPOSITOR_BINDINGS_EXPORT explicit WebLayerTreeViewImpl( |
27 WEBKIT_COMPOSITOR_BINDINGS_EXPORT explicit WebLayerTreeViewImpl( | 27 WebLayerTreeViewClient*); |
28 WebLayerTreeViewClient* client); | 28 virtual ~WebLayerTreeViewImpl(); |
29 virtual ~WebLayerTreeViewImpl(); | |
30 | 29 |
31 WEBKIT_COMPOSITOR_BINDINGS_EXPORT bool initialize( | 30 WEBKIT_COMPOSITOR_BINDINGS_EXPORT bool initialize( |
32 const Settings& settings, scoped_ptr<cc::Thread> impl_thread); | 31 const Settings&, scoped_ptr<cc::Thread> implThread); |
33 | 32 |
34 WEBKIT_COMPOSITOR_BINDINGS_EXPORT cc::LayerTreeHost* layer_tree_host() const; | 33 // WebLayerTreeView implementation. |
| 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); |
35 | 61 |
36 // WebLayerTreeView implementation. | 62 // cc::LayerTreeHostClient implementation. |
37 virtual void setSurfaceReady() OVERRIDE; | 63 virtual void willBeginFrame() OVERRIDE; |
38 virtual void setRootLayer(const WebLayer&) OVERRIDE; | 64 virtual void didBeginFrame() OVERRIDE; |
39 virtual void clearRootLayer() OVERRIDE; | 65 virtual void animate(double monotonicFrameBeginTime) OVERRIDE; |
40 virtual void setViewportSize( | 66 virtual void layout() OVERRIDE; |
41 const WebSize& layout_viewport_size, | 67 virtual void applyScrollAndScale(gfx::Vector2d scrollDelta, float pageScale)
OVERRIDE; |
42 const WebSize& deviceViewportSize = WebSize()) OVERRIDE; | 68 virtual scoped_ptr<cc::OutputSurface> createOutputSurface() OVERRIDE; |
43 virtual WebSize layoutViewportSize() const OVERRIDE; | 69 virtual void didRecreateOutputSurface(bool success) OVERRIDE; |
44 virtual WebSize deviceViewportSize() const OVERRIDE; | 70 virtual scoped_ptr<cc::InputHandler> createInputHandler() OVERRIDE; |
45 virtual WebFloatPoint adjustEventPointForPinchZoom( | 71 virtual void willCommit() OVERRIDE; |
46 const WebFloatPoint& point) const OVERRIDE; | 72 virtual void didCommit() OVERRIDE; |
47 virtual void setDeviceScaleFactor(float device_scale_factor) OVERRIDE; | 73 virtual void didCommitAndDrawFrame() OVERRIDE; |
48 virtual float deviceScaleFactor() const OVERRIDE; | 74 virtual void didCompleteSwapBuffers() OVERRIDE; |
49 virtual void setBackgroundColor(WebColor) OVERRIDE; | 75 virtual void scheduleComposite() OVERRIDE; |
50 virtual void setHasTransparentBackground(bool transparent) OVERRIDE; | 76 virtual scoped_ptr<cc::FontAtlas> createFontAtlas(); |
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); | |
73 | 77 |
74 // cc::LayerTreeHostClient implementation. | 78 private: |
75 virtual void willBeginFrame() OVERRIDE; | 79 WebLayerTreeViewClient* m_client; |
76 virtual void didBeginFrame() OVERRIDE; | 80 scoped_ptr<cc::LayerTreeHost> m_layerTreeHost; |
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_; | |
94 }; | 81 }; |
95 | 82 |
96 } // namespace WebKit | 83 } // namespace WebKit |
97 | 84 |
98 #endif // WEBKIT_COMPOSITOR_BINDINGS_WEB_LAYER_TREE_VIEW_IMPL_H_ | 85 #endif // WebLayerTreeViewImpl_h |
OLD | NEW |