Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
shell
platform
fuchsia
flutter
vsync_waiter.h
Go to the documentation of this file.
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_FUCHSIA_FLUTTER_VSYNC_WAITER_H_
6
#define FLUTTER_SHELL_PLATFORM_FUCHSIA_FLUTTER_VSYNC_WAITER_H_
7
8
#include <lib/async/cpp/wait.h>
9
10
#include "flutter/fml/macros.h"
11
#include "flutter/fml/memory/weak_ptr.h"
12
#include "flutter/fml/time/time_delta.h"
13
#include "flutter/fml/time/time_point.h"
14
#include "flutter/shell/common/vsync_waiter.h"
15
#include "
flutter_runner_product_configuration.h
"
16
17
namespace
flutter_runner
{
18
19
using
FireCallbackCallback
=
20
std::function<void(
fml::TimePoint
,
fml::TimePoint
)>;
21
22
using
AwaitVsyncCallback
= std::function<void(
FireCallbackCallback
)>;
23
24
using
AwaitVsyncForSecondaryCallbackCallback
=
25
std::function<void(
FireCallbackCallback
)>;
26
27
class
VsyncWaiter
final :
public
flutter::VsyncWaiter
{
28
public
:
29
VsyncWaiter
(
AwaitVsyncCallback
await_vsync_callback,
30
AwaitVsyncForSecondaryCallbackCallback
31
await_vsync_for_secondary_callback_callback,
32
flutter::TaskRunners
task_runners);
33
34
~VsyncWaiter
()
override
;
35
36
private
:
37
// |flutter::VsyncWaiter|
38
void
AwaitVSync
()
override
;
39
40
// |flutter::VsyncWaiter|
41
void
AwaitVSyncForSecondaryCallback
()
override
;
42
43
FireCallbackCallback
fire_callback_callback_;
44
45
AwaitVsyncCallback
await_vsync_callback_;
46
AwaitVsyncForSecondaryCallbackCallback
47
await_vsync_for_secondary_callback_callback_;
48
49
fml::WeakPtr<VsyncWaiter>
weak_ui_;
50
std::unique_ptr<fml::WeakPtrFactory<VsyncWaiter>> weak_factory_ui_;
51
fml::WeakPtrFactory<VsyncWaiter>
weak_factory_;
52
53
FML_DISALLOW_COPY_AND_ASSIGN
(
VsyncWaiter
);
54
};
55
56
}
// namespace flutter_runner
57
58
#endif
// FLUTTER_SHELL_PLATFORM_FUCHSIA_FLUTTER_VSYNC_WAITER_H_
flutter::TaskRunners
Definition
task_runners.h:15
flutter::VsyncWaiter
Definition
vsync_waiter.h:24
flutter_runner::VsyncWaiter
Definition
vsync_waiter.h:27
flutter_runner::VsyncWaiter::AwaitVSync
void AwaitVSync() override
Definition
vsync_waiter.cc:69
flutter_runner::VsyncWaiter::~VsyncWaiter
~VsyncWaiter() override
Definition
vsync_waiter.cc:57
flutter_runner::VsyncWaiter::AwaitVSyncForSecondaryCallback
void AwaitVSyncForSecondaryCallback() override
Definition
vsync_waiter.cc:73
fml::TimePoint
Definition
time_point.h:22
fml::WeakPtrFactory
Definition
weak_ptr.h:257
fml::WeakPtr
Definition
weak_ptr.h:47
flutter_runner_product_configuration.h
FML_DISALLOW_COPY_AND_ASSIGN
#define FML_DISALLOW_COPY_AND_ASSIGN(TypeName)
Definition
macros.h:27
flutter_runner
Definition
accessibility_bridge.cc:20
flutter_runner::FireCallbackCallback
std::function< void(fml::TimePoint, fml::TimePoint)> FireCallbackCallback
Definition
vsync_waiter.h:20
flutter_runner::AwaitVsyncForSecondaryCallbackCallback
std::function< void(FireCallbackCallback)> AwaitVsyncForSecondaryCallbackCallback
Definition
vsync_waiter.h:25
flutter_runner::AwaitVsyncCallback
std::function< void(FireCallbackCallback)> AwaitVsyncCallback
Definition
vsync_waiter.h:22
Generated on Fri Apr 26 2024 06:14:29 for Flutter Engine by
1.9.8