blob: 138fc0edb6ad5fd9edb1f44bafee7f0879af0bc3 [file] [log] [blame]
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "flutter/shell/common/variable_refresh_rate_display.h"
#include "flutter/fml/logging.h"
static double GetInitialRefreshRate(
const std::weak_ptr<flutter::VariableRefreshRateReporter>&
refresh_rate_reporter) {
if (auto reporter = refresh_rate_reporter.lock()) {
return reporter->GetRefreshRate();
}
return 0;
}
namespace flutter {
VariableRefreshRateDisplay::VariableRefreshRateDisplay(
DisplayId display_id,
const std::weak_ptr<VariableRefreshRateReporter>& refresh_rate_reporter,
double width,
double height,
double device_pixel_ratio)
: Display(display_id,
GetInitialRefreshRate(refresh_rate_reporter),
width,
height,
device_pixel_ratio),
refresh_rate_reporter_(refresh_rate_reporter) {}
double VariableRefreshRateDisplay::GetRefreshRate() const {
return GetInitialRefreshRate(refresh_rate_reporter_);
}
} // namespace flutter