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.
5 #ifndef CC_TEST_TEST_CONTEXT_SUPPORT_H_
6 #define CC_TEST_TEST_CONTEXT_SUPPORT_H_
10 #include "base/memory/weak_ptr.h"
11 #include "gpu/command_buffer/client/context_support.h"
15 class TestContextSupport
: public gpu::ContextSupport
{
18 ~TestContextSupport() override
;
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
;
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
;
35 void CallAllSyncPointCallbacks();
37 typedef base::Callback
<void(bool visible
)> SurfaceVisibleCallback
;
38 void SetSurfaceVisibleCallback(
39 const SurfaceVisibleCallback
& set_visible_callback
);
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
);
51 std::vector
<base::Closure
> sync_point_callbacks_
;
52 SurfaceVisibleCallback set_visible_callback_
;
53 ScheduleOverlayPlaneCallback schedule_overlay_plane_callback_
;
55 base::WeakPtrFactory
<TestContextSupport
> weak_ptr_factory_
;
57 DISALLOW_COPY_AND_ASSIGN(TestContextSupport
);
62 #endif // CC_TEST_TEST_CONTEXT_SUPPORT_H_