OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 CONTENT_BROWSER_RENDERER_HOST_COMPOSITOR_IMPL_ANDROID_H_ | 5 #ifndef CONTENT_BROWSER_RENDERER_HOST_COMPOSITOR_IMPL_ANDROID_H_ |
6 #define CONTENT_BROWSER_RENDERER_HOST_COMPOSITOR_IMPL_ANDROID_H_ | 6 #define CONTENT_BROWSER_RENDERER_HOST_COMPOSITOR_IMPL_ANDROID_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
11 #include "base/memory/weak_ptr.h" | 11 #include "base/memory/weak_ptr.h" |
12 #include "cc/layer_tree_host_client.h" | 12 #include "cc/layer_tree_host_client.h" |
13 #include "content/common/content_export.h" | 13 #include "content/common/content_export.h" |
14 #include "content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.h" | 14 #include "content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.h" |
15 #include "content/public/browser/android/compositor.h" | 15 #include "content/public/browser/android/compositor.h" |
16 | 16 |
17 struct ANativeWindow; | 17 struct ANativeWindow; |
18 | 18 |
19 namespace cc { | 19 namespace cc { |
20 class FontAtlas; | |
21 class InputHandler; | 20 class InputHandler; |
22 class Layer; | 21 class Layer; |
23 class LayerTreeHost; | 22 class LayerTreeHost; |
24 } | 23 } |
25 | 24 |
26 namespace content { | 25 namespace content { |
27 class GraphicsContext; | 26 class GraphicsContext; |
28 | 27 |
29 // ----------------------------------------------------------------------------- | 28 // ----------------------------------------------------------------------------- |
30 // Browser-side compositor that manages a tree of content and UI layers. | 29 // Browser-side compositor that manages a tree of content and UI layers. |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 virtual void applyScrollAndScale(gfx::Vector2d scrollDelta, | 69 virtual void applyScrollAndScale(gfx::Vector2d scrollDelta, |
71 float pageScale) OVERRIDE; | 70 float pageScale) OVERRIDE; |
72 virtual scoped_ptr<cc::OutputSurface> createOutputSurface() OVERRIDE; | 71 virtual scoped_ptr<cc::OutputSurface> createOutputSurface() OVERRIDE; |
73 virtual scoped_ptr<cc::InputHandler> createInputHandler() OVERRIDE; | 72 virtual scoped_ptr<cc::InputHandler> createInputHandler() OVERRIDE; |
74 virtual void didRecreateOutputSurface(bool success) OVERRIDE; | 73 virtual void didRecreateOutputSurface(bool success) OVERRIDE; |
75 virtual void willCommit() OVERRIDE {} | 74 virtual void willCommit() OVERRIDE {} |
76 virtual void didCommit() OVERRIDE; | 75 virtual void didCommit() OVERRIDE; |
77 virtual void didCommitAndDrawFrame() OVERRIDE; | 76 virtual void didCommitAndDrawFrame() OVERRIDE; |
78 virtual void didCompleteSwapBuffers() OVERRIDE; | 77 virtual void didCompleteSwapBuffers() OVERRIDE; |
79 virtual void scheduleComposite() OVERRIDE; | 78 virtual void scheduleComposite() OVERRIDE; |
80 virtual scoped_ptr<cc::FontAtlas> createFontAtlas() OVERRIDE; | |
81 | 79 |
82 // WebGraphicsContext3DSwapBuffersClient implementation. | 80 // WebGraphicsContext3DSwapBuffersClient implementation. |
83 virtual void OnViewContextSwapBuffersPosted() OVERRIDE; | 81 virtual void OnViewContextSwapBuffersPosted() OVERRIDE; |
84 virtual void OnViewContextSwapBuffersComplete() OVERRIDE; | 82 virtual void OnViewContextSwapBuffersComplete() OVERRIDE; |
85 virtual void OnViewContextSwapBuffersAborted() OVERRIDE; | 83 virtual void OnViewContextSwapBuffersAborted() OVERRIDE; |
86 | 84 |
87 private: | 85 private: |
88 WebKit::WebGLId BuildBasicTexture(); | 86 WebKit::WebGLId BuildBasicTexture(); |
89 WebKit::WGC3Denum GetGLFormatForBitmap(gfx::JavaBitmap& bitmap); | 87 WebKit::WGC3Denum GetGLFormatForBitmap(gfx::JavaBitmap& bitmap); |
90 WebKit::WGC3Denum GetGLTypeForBitmap(gfx::JavaBitmap& bitmap); | 88 WebKit::WGC3Denum GetGLTypeForBitmap(gfx::JavaBitmap& bitmap); |
91 | 89 |
92 scoped_refptr<cc::Layer> root_layer_; | 90 scoped_refptr<cc::Layer> root_layer_; |
93 scoped_ptr<cc::LayerTreeHost> host_; | 91 scoped_ptr<cc::LayerTreeHost> host_; |
94 | 92 |
95 gfx::Size size_; | 93 gfx::Size size_; |
96 bool has_transparent_background_; | 94 bool has_transparent_background_; |
97 | 95 |
98 ANativeWindow* window_; | 96 ANativeWindow* window_; |
99 int surface_id_; | 97 int surface_id_; |
100 | 98 |
101 Compositor::Client* client_; | 99 Compositor::Client* client_; |
102 base::WeakPtrFactory<CompositorImpl> weak_factory_; | 100 base::WeakPtrFactory<CompositorImpl> weak_factory_; |
103 | 101 |
104 DISALLOW_COPY_AND_ASSIGN(CompositorImpl); | 102 DISALLOW_COPY_AND_ASSIGN(CompositorImpl); |
105 }; | 103 }; |
106 | 104 |
107 } // namespace content | 105 } // namespace content |
108 | 106 |
109 #endif // CONTENT_BROWSER_RENDERER_HOST_COMPOSITOR_IMPL_ANDROID_H_ | 107 #endif // CONTENT_BROWSER_RENDERER_HOST_COMPOSITOR_IMPL_ANDROID_H_ |
OLD | NEW |