OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 UI_GFX_COMPOSITOR_COMPOSITOR_CC_H_ | 5 #ifndef UI_GFX_COMPOSITOR_COMPOSITOR_CC_H_ |
6 #define UI_GFX_COMPOSITOR_COMPOSITOR_CC_H_ | 6 #define UI_GFX_COMPOSITOR_COMPOSITOR_CC_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
10 #include "base/memory/singleton.h" | 10 #include "base/memory/singleton.h" |
11 #include "base/memory/ref_counted.h" | 11 #include "base/memory/ref_counted.h" |
12 #include "ui/gfx/compositor/compositor.h" | 12 #include "ui/gfx/compositor/compositor.h" |
13 #include "ui/gfx/size.h" | 13 #include "ui/gfx/size.h" |
14 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebLayer.h" | 14 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebLayer.h" |
15 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebLayerClie
nt.h" | |
16 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebLayerTree
View.h" | 15 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebLayerTree
View.h" |
17 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebLayerTree
ViewClient.h" | 16 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebLayerTree
ViewClient.h" |
18 | 17 |
19 namespace gfx { | 18 namespace gfx { |
20 class Rect; | 19 class Rect; |
21 class GLContext; | 20 class GLContext; |
22 class GLSurface; | 21 class GLSurface; |
23 class GLShareGroup; | 22 class GLShareGroup; |
24 } | 23 } |
25 | 24 |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 | 71 |
73 protected: | 72 protected: |
74 unsigned int texture_id_; | 73 unsigned int texture_id_; |
75 bool flipped_; | 74 bool flipped_; |
76 gfx::Size size_; | 75 gfx::Size size_; |
77 DISALLOW_COPY_AND_ASSIGN(TextureCC); | 76 DISALLOW_COPY_AND_ASSIGN(TextureCC); |
78 }; | 77 }; |
79 | 78 |
80 class COMPOSITOR_EXPORT CompositorCC | 79 class COMPOSITOR_EXPORT CompositorCC |
81 : public Compositor, | 80 : public Compositor, |
82 NON_EXPORTED_BASE(public WebKit::WebLayerTreeViewClient), | 81 NON_EXPORTED_BASE(public WebKit::WebLayerTreeViewClient) { |
83 NON_EXPORTED_BASE(public WebKit::WebLayerClient) { | |
84 public: | 82 public: |
85 CompositorCC(CompositorDelegate* delegate, | 83 CompositorCC(CompositorDelegate* delegate, |
86 gfx::AcceleratedWidget widget, | 84 gfx::AcceleratedWidget widget, |
87 const gfx::Size& size); | 85 const gfx::Size& size); |
88 virtual ~CompositorCC(); | 86 virtual ~CompositorCC(); |
89 | 87 |
90 static void Initialize(bool useThread); | 88 static void Initialize(bool useThread); |
91 static void Terminate(); | 89 static void Terminate(); |
92 | 90 |
93 protected: | 91 protected: |
(...skipping 10 matching lines...) Expand all Loading... |
104 | 102 |
105 // WebLayerTreeViewClient implementation. | 103 // WebLayerTreeViewClient implementation. |
106 virtual void animateAndLayout(double frameBeginTime); | 104 virtual void animateAndLayout(double frameBeginTime); |
107 virtual void applyScrollAndScale(const WebKit::WebSize& scrollDelta, | 105 virtual void applyScrollAndScale(const WebKit::WebSize& scrollDelta, |
108 float scaleFactor); | 106 float scaleFactor); |
109 virtual void applyScrollDelta(const WebKit::WebSize&); | 107 virtual void applyScrollDelta(const WebKit::WebSize&); |
110 virtual WebKit::WebGraphicsContext3D* createContext3D(); | 108 virtual WebKit::WebGraphicsContext3D* createContext3D(); |
111 virtual void didRebindGraphicsContext(bool success); | 109 virtual void didRebindGraphicsContext(bool success); |
112 virtual void scheduleComposite(); | 110 virtual void scheduleComposite(); |
113 | 111 |
114 // WebLayerClient implementation. | |
115 virtual void notifyNeedsComposite(); | |
116 | |
117 private: | 112 private: |
118 gfx::AcceleratedWidget widget_; | 113 gfx::AcceleratedWidget widget_; |
119 WebKit::WebLayer root_web_layer_; | 114 WebKit::WebLayer root_web_layer_; |
120 WebKit::WebLayerTreeView host_; | 115 WebKit::WebLayerTreeView host_; |
121 | 116 |
122 DISALLOW_COPY_AND_ASSIGN(CompositorCC); | 117 DISALLOW_COPY_AND_ASSIGN(CompositorCC); |
123 }; | 118 }; |
124 | 119 |
125 } // namespace ui | 120 } // namespace ui |
126 | 121 |
127 #endif // UI_GFX_COMPOSITOR_COMPOSITOR_CC_H_ | 122 #endif // UI_GFX_COMPOSITOR_COMPOSITOR_CC_H_ |
OLD | NEW |