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 CCScheduler_h | 5 #ifndef CCScheduler_h |
6 #define CCScheduler_h | 6 #define CCScheduler_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/frame_rate_controller.h" | 12 #include "cc/frame_rate_controller.h" |
12 #include "cc/scheduler_state_machine.h" | 13 #include "cc/scheduler_state_machine.h" |
13 | 14 |
14 namespace cc { | 15 namespace cc { |
15 | 16 |
16 class Thread; | 17 class Thread; |
17 | 18 |
18 struct ScheduledActionDrawAndSwapResult { | 19 struct ScheduledActionDrawAndSwapResult { |
19 ScheduledActionDrawAndSwapResult() | 20 ScheduledActionDrawAndSwapResult() |
20 : didDraw(false) | 21 : didDraw(false) |
(...skipping 16 matching lines...) Expand all Loading... |
37 virtual ScheduledActionDrawAndSwapResult scheduledActionDrawAndSwapForced()
= 0; | 38 virtual ScheduledActionDrawAndSwapResult scheduledActionDrawAndSwapForced()
= 0; |
38 virtual void scheduledActionCommit() = 0; | 39 virtual void scheduledActionCommit() = 0; |
39 virtual void scheduledActionBeginContextRecreation() = 0; | 40 virtual void scheduledActionBeginContextRecreation() = 0; |
40 virtual void scheduledActionAcquireLayerTexturesForMainThread() = 0; | 41 virtual void scheduledActionAcquireLayerTexturesForMainThread() = 0; |
41 virtual void didAnticipatedDrawTimeChange(base::TimeTicks) = 0; | 42 virtual void didAnticipatedDrawTimeChange(base::TimeTicks) = 0; |
42 | 43 |
43 protected: | 44 protected: |
44 virtual ~SchedulerClient() { } | 45 virtual ~SchedulerClient() { } |
45 }; | 46 }; |
46 | 47 |
47 class Scheduler : FrameRateControllerClient { | 48 class CC_EXPORT Scheduler : FrameRateControllerClient { |
48 public: | 49 public: |
49 static scoped_ptr<Scheduler> create(SchedulerClient* client, scoped_ptr<Fram
eRateController> frameRateController) | 50 static scoped_ptr<Scheduler> create(SchedulerClient* client, scoped_ptr<Fram
eRateController> frameRateController) |
50 { | 51 { |
51 return make_scoped_ptr(new Scheduler(client, frameRateController.Pass())
); | 52 return make_scoped_ptr(new Scheduler(client, frameRateController.Pass())
); |
52 } | 53 } |
53 | 54 |
54 virtual ~Scheduler(); | 55 virtual ~Scheduler(); |
55 | 56 |
56 void setCanBeginFrame(bool); | 57 void setCanBeginFrame(bool); |
57 | 58 |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
99 scoped_ptr<FrameRateController> m_frameRateController; | 100 scoped_ptr<FrameRateController> m_frameRateController; |
100 SchedulerStateMachine m_stateMachine; | 101 SchedulerStateMachine m_stateMachine; |
101 bool m_insideProcessScheduledActions; | 102 bool m_insideProcessScheduledActions; |
102 | 103 |
103 DISALLOW_COPY_AND_ASSIGN(Scheduler); | 104 DISALLOW_COPY_AND_ASSIGN(Scheduler); |
104 }; | 105 }; |
105 | 106 |
106 } // namespace cc | 107 } // namespace cc |
107 | 108 |
108 #endif // CCScheduler_h | 109 #endif // CCScheduler_h |
OLD | NEW |