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_;
99 #endif // FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_SOURCE_VSYNC_WAITER_IOS_H_