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 UI_COMPOSITOR_COMPOSITOR_H_ | 5 #ifndef UI_COMPOSITOR_COMPOSITOR_H_ |
6 #define UI_COMPOSITOR_COMPOSITOR_H_ | 6 #define UI_COMPOSITOR_COMPOSITOR_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/containers/hash_tables.h" | 10 #include "base/containers/hash_tables.h" |
(...skipping 13 matching lines...) Expand all Loading... |
24 #include "ui/gfx/size.h" | 24 #include "ui/gfx/size.h" |
25 #include "ui/gfx/vector2d.h" | 25 #include "ui/gfx/vector2d.h" |
26 | 26 |
27 namespace base { | 27 namespace base { |
28 class MessageLoopProxy; | 28 class MessageLoopProxy; |
29 class RunLoop; | 29 class RunLoop; |
30 } | 30 } |
31 | 31 |
32 namespace cc { | 32 namespace cc { |
33 class ContextProvider; | 33 class ContextProvider; |
| 34 class GpuMemoryBufferManager; |
34 class Layer; | 35 class Layer; |
35 class LayerTreeDebugState; | 36 class LayerTreeDebugState; |
36 class LayerTreeHost; | 37 class LayerTreeHost; |
37 class SharedBitmapManager; | 38 class SharedBitmapManager; |
38 } | 39 } |
39 | 40 |
40 namespace gfx { | 41 namespace gfx { |
41 class Rect; | 42 class Rect; |
42 class Size; | 43 class Size; |
43 } | 44 } |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
83 // Destroys per-compositor data. | 84 // Destroys per-compositor data. |
84 virtual void RemoveCompositor(Compositor* compositor) = 0; | 85 virtual void RemoveCompositor(Compositor* compositor) = 0; |
85 | 86 |
86 // When true, the factory uses test contexts that do not do real GL | 87 // When true, the factory uses test contexts that do not do real GL |
87 // operations. | 88 // operations. |
88 virtual bool DoesCreateTestContexts() = 0; | 89 virtual bool DoesCreateTestContexts() = 0; |
89 | 90 |
90 // Gets the shared bitmap manager for software mode. | 91 // Gets the shared bitmap manager for software mode. |
91 virtual cc::SharedBitmapManager* GetSharedBitmapManager() = 0; | 92 virtual cc::SharedBitmapManager* GetSharedBitmapManager() = 0; |
92 | 93 |
| 94 // Gets the GPU memory buffer manager. |
| 95 virtual cc::GpuMemoryBufferManager* GetGpuMemoryBufferManager() = 0; |
| 96 |
93 // Gets the compositor message loop, or NULL if not using threaded | 97 // Gets the compositor message loop, or NULL if not using threaded |
94 // compositing. | 98 // compositing. |
95 virtual base::MessageLoopProxy* GetCompositorMessageLoop() = 0; | 99 virtual base::MessageLoopProxy* GetCompositorMessageLoop() = 0; |
96 }; | 100 }; |
97 | 101 |
98 // This class represents a lock on the compositor, that can be used to prevent | 102 // This class represents a lock on the compositor, that can be used to prevent |
99 // commits to the compositor tree while we're waiting for an asynchronous | 103 // commits to the compositor tree while we're waiting for an asynchronous |
100 // event. The typical use case is when waiting for a renderer to produce a frame | 104 // event. The typical use case is when waiting for a renderer to produce a frame |
101 // at the right size. The caller keeps a reference on this object, and drops the | 105 // at the right size. The caller keeps a reference on this object, and drops the |
102 // reference once it desires to release the lock. | 106 // reference once it desires to release the lock. |
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
297 CompositorLock* compositor_lock_; | 301 CompositorLock* compositor_lock_; |
298 | 302 |
299 LayerAnimatorCollection layer_animator_collection_; | 303 LayerAnimatorCollection layer_animator_collection_; |
300 | 304 |
301 DISALLOW_COPY_AND_ASSIGN(Compositor); | 305 DISALLOW_COPY_AND_ASSIGN(Compositor); |
302 }; | 306 }; |
303 | 307 |
304 } // namespace ui | 308 } // namespace ui |
305 | 309 |
306 #endif // UI_COMPOSITOR_COMPOSITOR_H_ | 310 #endif // UI_COMPOSITOR_COMPOSITOR_H_ |
OLD | NEW |