OLD | NEW |
1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 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 CC_SCHEDULER_SCHEDULER_H_ | 5 #ifndef CC_SCHEDULER_SCHEDULER_H_ |
6 #define CC_SCHEDULER_SCHEDULER_H_ | 6 #define CC_SCHEDULER_SCHEDULER_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
11 #include "base/cancelable_callback.h" | 11 #include "base/cancelable_callback.h" |
12 #include "base/memory/scoped_ptr.h" | 12 #include "base/memory/scoped_ptr.h" |
13 #include "base/time/time.h" | 13 #include "base/time/time.h" |
14 #include "cc/base/cc_export.h" | 14 #include "cc/base/cc_export.h" |
15 #include "cc/output/begin_frame_args.h" | 15 #include "cc/output/begin_frame_args.h" |
| 16 #include "cc/scheduler/draw_swap_readback_result.h" |
16 #include "cc/scheduler/scheduler_settings.h" | 17 #include "cc/scheduler/scheduler_settings.h" |
17 #include "cc/scheduler/scheduler_state_machine.h" | 18 #include "cc/scheduler/scheduler_state_machine.h" |
18 #include "cc/trees/layer_tree_host.h" | 19 #include "cc/trees/layer_tree_host.h" |
19 | 20 |
20 namespace cc { | 21 namespace cc { |
21 | 22 |
22 class Thread; | 23 class Thread; |
23 | 24 |
24 struct DrawSwapReadbackResult { | |
25 DrawSwapReadbackResult() | |
26 : did_draw(false), did_swap(false), did_readback(false) {} | |
27 DrawSwapReadbackResult(bool did_draw, bool did_swap, bool did_readback) | |
28 : did_draw(did_draw), did_swap(did_swap), did_readback(did_readback) {} | |
29 bool did_draw; | |
30 bool did_swap; | |
31 bool did_readback; | |
32 }; | |
33 | |
34 class SchedulerClient { | 25 class SchedulerClient { |
35 public: | 26 public: |
36 virtual void SetNeedsBeginImplFrame(bool enable) = 0; | 27 virtual void SetNeedsBeginImplFrame(bool enable) = 0; |
37 virtual void ScheduledActionSendBeginMainFrame() = 0; | 28 virtual void ScheduledActionSendBeginMainFrame() = 0; |
38 virtual DrawSwapReadbackResult ScheduledActionDrawAndSwapIfPossible() = 0; | 29 virtual DrawSwapReadbackResult ScheduledActionDrawAndSwapIfPossible() = 0; |
39 virtual DrawSwapReadbackResult ScheduledActionDrawAndSwapForced() = 0; | 30 virtual DrawSwapReadbackResult ScheduledActionDrawAndSwapForced() = 0; |
40 virtual DrawSwapReadbackResult ScheduledActionDrawAndReadback() = 0; | 31 virtual DrawSwapReadbackResult ScheduledActionDrawAndReadback() = 0; |
41 virtual void ScheduledActionCommit() = 0; | 32 virtual void ScheduledActionCommit() = 0; |
42 virtual void ScheduledActionUpdateVisibleTiles() = 0; | 33 virtual void ScheduledActionUpdateVisibleTiles() = 0; |
43 virtual void ScheduledActionActivatePendingTree() = 0; | 34 virtual void ScheduledActionActivatePendingTree() = 0; |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
158 SchedulerStateMachine::Action inside_action_; | 149 SchedulerStateMachine::Action inside_action_; |
159 | 150 |
160 base::WeakPtrFactory<Scheduler> weak_factory_; | 151 base::WeakPtrFactory<Scheduler> weak_factory_; |
161 | 152 |
162 DISALLOW_COPY_AND_ASSIGN(Scheduler); | 153 DISALLOW_COPY_AND_ASSIGN(Scheduler); |
163 }; | 154 }; |
164 | 155 |
165 } // namespace cc | 156 } // namespace cc |
166 | 157 |
167 #endif // CC_SCHEDULER_SCHEDULER_H_ | 158 #endif // CC_SCHEDULER_SCHEDULER_H_ |
OLD | NEW |