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 15 matching lines...) Expand all Loading... |
26 | 26 |
27 class SkBitmap; | 27 class SkBitmap; |
28 | 28 |
29 namespace base { | 29 namespace base { |
30 class MessageLoopProxy; | 30 class MessageLoopProxy; |
31 class RunLoop; | 31 class RunLoop; |
32 } | 32 } |
33 | 33 |
34 namespace cc { | 34 namespace cc { |
35 class ContextProvider; | 35 class ContextProvider; |
| 36 class GpuMemoryBufferManager; |
36 class Layer; | 37 class Layer; |
37 class LayerTreeDebugState; | 38 class LayerTreeDebugState; |
38 class LayerTreeHost; | 39 class LayerTreeHost; |
39 class SharedBitmapManager; | 40 class SharedBitmapManager; |
40 } | 41 } |
41 | 42 |
42 namespace gfx { | 43 namespace gfx { |
43 class Rect; | 44 class Rect; |
44 class Size; | 45 class Size; |
45 } | 46 } |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
85 // Destroys per-compositor data. | 86 // Destroys per-compositor data. |
86 virtual void RemoveCompositor(Compositor* compositor) = 0; | 87 virtual void RemoveCompositor(Compositor* compositor) = 0; |
87 | 88 |
88 // When true, the factory uses test contexts that do not do real GL | 89 // When true, the factory uses test contexts that do not do real GL |
89 // operations. | 90 // operations. |
90 virtual bool DoesCreateTestContexts() = 0; | 91 virtual bool DoesCreateTestContexts() = 0; |
91 | 92 |
92 // Gets the shared bitmap manager for software mode. | 93 // Gets the shared bitmap manager for software mode. |
93 virtual cc::SharedBitmapManager* GetSharedBitmapManager() = 0; | 94 virtual cc::SharedBitmapManager* GetSharedBitmapManager() = 0; |
94 | 95 |
| 96 // Gets the GPU memory buffer manager. |
| 97 virtual cc::GpuMemoryBufferManager* GetGpuMemoryBufferManager() = 0; |
| 98 |
95 // Gets the compositor message loop, or NULL if not using threaded | 99 // Gets the compositor message loop, or NULL if not using threaded |
96 // compositing. | 100 // compositing. |
97 virtual base::MessageLoopProxy* GetCompositorMessageLoop() = 0; | 101 virtual base::MessageLoopProxy* GetCompositorMessageLoop() = 0; |
98 }; | 102 }; |
99 | 103 |
100 // This class represents a lock on the compositor, that can be used to prevent | 104 // This class represents a lock on the compositor, that can be used to prevent |
101 // commits to the compositor tree while we're waiting for an asynchronous | 105 // commits to the compositor tree while we're waiting for an asynchronous |
102 // event. The typical use case is when waiting for a renderer to produce a frame | 106 // event. The typical use case is when waiting for a renderer to produce a frame |
103 // at the right size. The caller keeps a reference on this object, and drops the | 107 // at the right size. The caller keeps a reference on this object, and drops the |
104 // reference once it desires to release the lock. | 108 // reference once it desires to release the lock. |
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
321 LayerAnimatorCollection layer_animator_collection_; | 325 LayerAnimatorCollection layer_animator_collection_; |
322 | 326 |
323 base::WeakPtrFactory<Compositor> schedule_draw_factory_; | 327 base::WeakPtrFactory<Compositor> schedule_draw_factory_; |
324 | 328 |
325 DISALLOW_COPY_AND_ASSIGN(Compositor); | 329 DISALLOW_COPY_AND_ASSIGN(Compositor); |
326 }; | 330 }; |
327 | 331 |
328 } // namespace ui | 332 } // namespace ui |
329 | 333 |
330 #endif // UI_COMPOSITOR_COMPOSITOR_H_ | 334 #endif // UI_COMPOSITOR_COMPOSITOR_H_ |
OLD | NEW |