Factor out a BluetoothChannelMac base class and a BluetoothRfcommChannelMac subclass.
[chromium-blink-merge.git] / cc / test / test_context_support.h
blob7162b21749efa605e0f8824d1b5a611da4e83996
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_
8 #include <vector>
10 #include "base/memory/weak_ptr.h"
11 #include "gpu/command_buffer/client/context_support.h"
13 namespace cc {
15 class TestContextSupport : public gpu::ContextSupport {
16 public:
17 TestContextSupport();
18 virtual ~TestContextSupport();
20 // gpu::ContextSupport implementation.
21 virtual void SignalSyncPoint(uint32 sync_point,
22 const base::Closure& callback) OVERRIDE;
23 virtual void SignalQuery(uint32 query,
24 const base::Closure& callback) OVERRIDE;
25 virtual void SetSurfaceVisible(bool visible) OVERRIDE;
26 virtual void SendManagedMemoryStats(const gpu::ManagedMemoryStats& stats)
27 OVERRIDE;
28 virtual void Swap() OVERRIDE;
29 virtual void PartialSwapBuffers(const gfx::Rect& sub_buffer) OVERRIDE;
30 virtual void SetSwapBuffersCompleteCallback(
31 const base::Closure& callback) OVERRIDE;
32 virtual void ScheduleOverlayPlane(int plane_z_order,
33 gfx::OverlayTransform plane_transform,
34 unsigned overlay_texture_id,
35 const gfx::Rect& display_bounds,
36 const gfx::RectF& uv_rect) OVERRIDE;
38 void CallAllSyncPointCallbacks();
40 typedef base::Callback<void(bool visible)> SurfaceVisibleCallback;
41 void SetSurfaceVisibleCallback(
42 const SurfaceVisibleCallback& set_visible_callback);
44 typedef base::Callback<void(int plane_z_order,
45 gfx::OverlayTransform plane_transform,
46 unsigned overlay_texture_id,
47 const gfx::Rect& display_bounds,
48 const gfx::RectF& crop_rect)>
49 ScheduleOverlayPlaneCallback;
50 void SetScheduleOverlayPlaneCallback(
51 const ScheduleOverlayPlaneCallback& schedule_overlay_plane_callback);
53 enum SwapType {
54 NO_SWAP,
55 SWAP,
56 PARTIAL_SWAP
59 SwapType last_swap_type() const { return last_swap_type_; }
60 gfx::Rect last_partial_swap_rect() const {
61 return last_partial_swap_rect_;
64 private:
65 void OnSwapBuffersComplete();
67 std::vector<base::Closure> sync_point_callbacks_;
68 SurfaceVisibleCallback set_visible_callback_;
69 ScheduleOverlayPlaneCallback schedule_overlay_plane_callback_;
71 base::Closure swap_buffers_complete_callback_;
73 SwapType last_swap_type_;
74 gfx::Rect last_partial_swap_rect_;
76 base::WeakPtrFactory<TestContextSupport> weak_ptr_factory_;
78 DISALLOW_COPY_AND_ASSIGN(TestContextSupport);
81 } // namespace cc
83 #endif // CC_TEST_TEST_CONTEXT_SUPPORT_H_