OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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_BEGIN_FRAME_SOURCE_H_ | 5 #ifndef CC_SCHEDULER_BEGIN_FRAME_SOURCE_H_ |
6 #define CC_SCHEDULER_BEGIN_FRAME_SOURCE_H_ | 6 #define CC_SCHEDULER_BEGIN_FRAME_SOURCE_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 | 10 |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
163 public: | 163 public: |
164 ~SyntheticBeginFrameSource() override; | 164 ~SyntheticBeginFrameSource() override; |
165 | 165 |
166 virtual void OnUpdateVSyncParameters(base::TimeTicks timebase, | 166 virtual void OnUpdateVSyncParameters(base::TimeTicks timebase, |
167 base::TimeDelta interval) = 0; | 167 base::TimeDelta interval) = 0; |
168 // This overrides any past or future interval from updating vsync parameters. | 168 // This overrides any past or future interval from updating vsync parameters. |
169 virtual void SetAuthoritativeVSyncInterval(base::TimeDelta interval) = 0; | 169 virtual void SetAuthoritativeVSyncInterval(base::TimeDelta interval) = 0; |
170 }; | 170 }; |
171 | 171 |
172 // A frame source which calls BeginFrame (at the next possible time) as soon as | 172 // A frame source which calls BeginFrame (at the next possible time) as soon as |
173 // remaining frames reaches zero. | 173 // an observer acknowledges the prior BeginFrame. |
174 class CC_EXPORT BackToBackBeginFrameSource : public SyntheticBeginFrameSource, | 174 class CC_EXPORT BackToBackBeginFrameSource : public SyntheticBeginFrameSource, |
175 public DelayBasedTimeSourceClient { | 175 public DelayBasedTimeSourceClient { |
176 public: | 176 public: |
177 explicit BackToBackBeginFrameSource( | 177 explicit BackToBackBeginFrameSource( |
178 std::unique_ptr<DelayBasedTimeSource> time_source); | 178 std::unique_ptr<DelayBasedTimeSource> time_source); |
179 ~BackToBackBeginFrameSource() override; | 179 ~BackToBackBeginFrameSource() override; |
180 | 180 |
181 // BeginFrameSource implementation. | 181 // BeginFrameSource implementation. |
182 void AddObserver(BeginFrameObserver* obs) override; | 182 void AddObserver(BeginFrameObserver* obs) override; |
183 void RemoveObserver(BeginFrameObserver* obs) override; | 183 void RemoveObserver(BeginFrameObserver* obs) override; |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
318 bool frame_active_ = false; | 318 bool frame_active_ = false; |
319 BeginFrameObserverAckTracker ack_tracker_; | 319 BeginFrameObserverAckTracker ack_tracker_; |
320 | 320 |
321 private: | 321 private: |
322 DISALLOW_COPY_AND_ASSIGN(ExternalBeginFrameSource); | 322 DISALLOW_COPY_AND_ASSIGN(ExternalBeginFrameSource); |
323 }; | 323 }; |
324 | 324 |
325 } // namespace cc | 325 } // namespace cc |
326 | 326 |
327 #endif // CC_SCHEDULER_BEGIN_FRAME_SOURCE_H_ | 327 #endif // CC_SCHEDULER_BEGIN_FRAME_SOURCE_H_ |
OLD | NEW |