OLD | NEW |
| (Empty) |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef CC_TEST_TEST_CONTEXT_SUPPORT_H_ | |
6 #define CC_TEST_TEST_CONTEXT_SUPPORT_H_ | |
7 | |
8 #include <vector> | |
9 | |
10 #include "base/memory/weak_ptr.h" | |
11 #include "gpu/command_buffer/client/context_support.h" | |
12 | |
13 namespace cc { | |
14 | |
15 class TestContextSupport : public gpu::ContextSupport { | |
16 public: | |
17 TestContextSupport(); | |
18 ~TestContextSupport() override; | |
19 | |
20 // gpu::ContextSupport implementation. | |
21 void SignalSyncPoint(uint32 sync_point, | |
22 const base::Closure& callback) override; | |
23 void SignalQuery(uint32 query, const base::Closure& callback) override; | |
24 void SetSurfaceVisible(bool visible) override; | |
25 void Swap() override; | |
26 void PartialSwapBuffers(const gfx::Rect& sub_buffer) override; | |
27 uint32 InsertFutureSyncPointCHROMIUM() override; | |
28 void RetireSyncPointCHROMIUM(uint32 sync_point) override; | |
29 void ScheduleOverlayPlane(int plane_z_order, | |
30 gfx::OverlayTransform plane_transform, | |
31 unsigned overlay_texture_id, | |
32 const gfx::Rect& display_bounds, | |
33 const gfx::RectF& uv_rect) override; | |
34 | |
35 void CallAllSyncPointCallbacks(); | |
36 | |
37 typedef base::Callback<void(bool visible)> SurfaceVisibleCallback; | |
38 void SetSurfaceVisibleCallback( | |
39 const SurfaceVisibleCallback& set_visible_callback); | |
40 | |
41 typedef base::Callback<void(int plane_z_order, | |
42 gfx::OverlayTransform plane_transform, | |
43 unsigned overlay_texture_id, | |
44 const gfx::Rect& display_bounds, | |
45 const gfx::RectF& crop_rect)> | |
46 ScheduleOverlayPlaneCallback; | |
47 void SetScheduleOverlayPlaneCallback( | |
48 const ScheduleOverlayPlaneCallback& schedule_overlay_plane_callback); | |
49 | |
50 private: | |
51 std::vector<base::Closure> sync_point_callbacks_; | |
52 SurfaceVisibleCallback set_visible_callback_; | |
53 ScheduleOverlayPlaneCallback schedule_overlay_plane_callback_; | |
54 | |
55 base::WeakPtrFactory<TestContextSupport> weak_ptr_factory_; | |
56 | |
57 DISALLOW_COPY_AND_ASSIGN(TestContextSupport); | |
58 }; | |
59 | |
60 } // namespace cc | |
61 | |
62 #endif // CC_TEST_TEST_CONTEXT_SUPPORT_H_ | |
OLD | NEW |