1 // Copyright 2013 The Flutter 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 #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_ 7 8 #include "flutter/fml/macros.h" 9 #include "flutter/fml/memory/weak_ptr.h" 10 #include "flutter/fml/platform/darwin/scoped_nsobject.h" 11 #include "flutter/shell/common/vsync_waiter.h" 12 13 @class VSyncClient; 14 15 namespace flutter { 16 17 class VsyncWaiterIOS final : public VsyncWaiter { 18 public: 19 VsyncWaiterIOS(flutter::TaskRunners task_runners); 20 21 ~VsyncWaiterIOS() override; 22 23 private: 24 fml::scoped_nsobject<VSyncClient> client_; 25 26 // |VsyncWaiter| 27 void AwaitVSync() override; 28 29 // |VsyncWaiter| 30 float GetDisplayRefreshRate() const override; 31 32 FML_DISALLOW_COPY_AND_ASSIGN(VsyncWaiterIOS); 33 }; 34 35 } // namespace flutter 36 37 #endif // FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_SOURCE_VSYNC_WAITER_IOS_H_ 38