OLD | NEW |
| (Empty) |
1 // Copyright 2016 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. | |
4 | |
5 #include "chromecast/graphics/cast_vsync_settings.h" | |
6 | |
7 namespace chromecast { | |
8 namespace { | |
9 base::LazyInstance<CastVSyncSettings>::DestructorAtExit g_instance = | |
10 LAZY_INSTANCE_INITIALIZER; | |
11 } // namespace | |
12 | |
13 // static | |
14 CastVSyncSettings* CastVSyncSettings::GetInstance() { | |
15 return g_instance.Pointer(); | |
16 } | |
17 | |
18 base::TimeDelta CastVSyncSettings::GetVSyncInterval() const { | |
19 return interval_; | |
20 } | |
21 | |
22 void CastVSyncSettings::SetVSyncInterval(base::TimeDelta interval) { | |
23 if (interval_ == interval) | |
24 return; | |
25 interval_ = interval; | |
26 for (auto& observer : observers_) | |
27 observer.OnVSyncIntervalChanged(interval); | |
28 } | |
29 | |
30 void CastVSyncSettings::AddObserver(Observer* observer) { | |
31 observers_.AddObserver(observer); | |
32 } | |
33 | |
34 void CastVSyncSettings::RemoveObserver(Observer* observer) { | |
35 observers_.RemoveObserver(observer); | |
36 } | |
37 | |
38 // Default to 60fps until set otherwise | |
39 CastVSyncSettings::CastVSyncSettings() | |
40 : interval_(base::TimeDelta::FromMicroseconds(16666)) {} | |
41 | |
42 CastVSyncSettings::~CastVSyncSettings() = default; | |
43 | |
44 } // namespace chromecast | |
OLD | NEW |