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_H_ | 5 #ifndef CC_SCHEDULER_H_ |
6 #define CC_SCHEDULER_H_ | 6 #define CC_SCHEDULER_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
10 #include "base/time.h" | 10 #include "base/time.h" |
11 #include "cc/cc_export.h" | 11 #include "cc/cc_export.h" |
12 #include "cc/frame_rate_controller.h" | 12 #include "cc/frame_rate_controller.h" |
| 13 #include "cc/layer_tree_host.h" |
13 #include "cc/scheduler_state_machine.h" | 14 #include "cc/scheduler_state_machine.h" |
14 | 15 |
15 namespace cc { | 16 namespace cc { |
16 | 17 |
17 class Thread; | 18 class Thread; |
18 | 19 |
19 struct ScheduledActionDrawAndSwapResult { | 20 struct ScheduledActionDrawAndSwapResult { |
20 ScheduledActionDrawAndSwapResult() | 21 ScheduledActionDrawAndSwapResult() |
21 : didDraw(false) | 22 : didDraw(false) |
22 , didSwap(false) | 23 , didSwap(false) |
(...skipping 11 matching lines...) Expand all Loading... |
34 class SchedulerClient { | 35 class SchedulerClient { |
35 public: | 36 public: |
36 virtual void scheduledActionBeginFrame() = 0; | 37 virtual void scheduledActionBeginFrame() = 0; |
37 virtual ScheduledActionDrawAndSwapResult scheduledActionDrawAndSwapIfPossibl
e() = 0; | 38 virtual ScheduledActionDrawAndSwapResult scheduledActionDrawAndSwapIfPossibl
e() = 0; |
38 virtual ScheduledActionDrawAndSwapResult scheduledActionDrawAndSwapForced()
= 0; | 39 virtual ScheduledActionDrawAndSwapResult scheduledActionDrawAndSwapForced()
= 0; |
39 virtual void scheduledActionCommit() = 0; | 40 virtual void scheduledActionCommit() = 0; |
40 virtual void scheduledActionBeginContextRecreation() = 0; | 41 virtual void scheduledActionBeginContextRecreation() = 0; |
41 virtual void scheduledActionAcquireLayerTexturesForMainThread() = 0; | 42 virtual void scheduledActionAcquireLayerTexturesForMainThread() = 0; |
42 virtual void didAnticipatedDrawTimeChange(base::TimeTicks) = 0; | 43 virtual void didAnticipatedDrawTimeChange(base::TimeTicks) = 0; |
43 | 44 |
| 45 virtual const LayerTreeSettings& settings() const = 0; |
| 46 |
44 protected: | 47 protected: |
45 virtual ~SchedulerClient() { } | 48 virtual ~SchedulerClient() { } |
46 }; | 49 }; |
47 | 50 |
48 class CC_EXPORT Scheduler : FrameRateControllerClient { | 51 class CC_EXPORT Scheduler : FrameRateControllerClient { |
49 public: | 52 public: |
50 static scoped_ptr<Scheduler> create(SchedulerClient* client, scoped_ptr<Fram
eRateController> frameRateController) | 53 static scoped_ptr<Scheduler> create(SchedulerClient* client, scoped_ptr<Fram
eRateController> frameRateController) |
51 { | 54 { |
52 return make_scoped_ptr(new Scheduler(client, frameRateController.Pass())
); | 55 return make_scoped_ptr(new Scheduler(client, frameRateController.Pass())
); |
53 } | 56 } |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
100 scoped_ptr<FrameRateController> m_frameRateController; | 103 scoped_ptr<FrameRateController> m_frameRateController; |
101 SchedulerStateMachine m_stateMachine; | 104 SchedulerStateMachine m_stateMachine; |
102 bool m_insideProcessScheduledActions; | 105 bool m_insideProcessScheduledActions; |
103 | 106 |
104 DISALLOW_COPY_AND_ASSIGN(Scheduler); | 107 DISALLOW_COPY_AND_ASSIGN(Scheduler); |
105 }; | 108 }; |
106 | 109 |
107 } // namespace cc | 110 } // namespace cc |
108 | 111 |
109 #endif // CC_SCHEDULER_H_ | 112 #endif // CC_SCHEDULER_H_ |
OLD | NEW |