5 #ifndef FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_SOURCE_VSYNC_WAITER_IOS_H_
6 #define FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_SOURCE_VSYNC_WAITER_IOS_H_
8 #include <QuartzCore/CADisplayLink.h>
10 #include "flutter/fml/macros.h"
11 #include "flutter/shell/common/variable_refresh_rate_reporter.h"
12 #include "flutter/shell/common/vsync_waiter.h"
57 @property(nonatomic, assign) BOOL allowPauseAfterVsync;
59 - (instancetype)initWithTaskRunner:(fml::RefPtr<fml::TaskRunner>)task_runner
60 callback:(flutter::VsyncWaiter::Callback)callback;
71 - (void)setMaxRefreshRate:(
double)refreshRate;
77 class VsyncWaiterIOS final :
public VsyncWaiter,
public VariableRefreshRateReporter {
84 double GetRefreshRate()
const override;
88 void AwaitVSync()
override;
92 double max_refresh_rate_;
BOOL maxRefreshRateEnabledOnIPhone
Whether the max refresh rate on iPhone ProMotion devices are enabled. This reflects the value of CADi...
double displayRefreshRate
The display refresh rate used for reporting purposes. The engine does not care about this for frame s...
NSString *const kCADisableMinimumFrameDurationOnPhoneKey
Info.plist key enabling the full range of ProMotion refresh rates for CADisplayLink callbacks and CAA...