Flutter Engine Uber Docs
Docs for the entire Flutter Engine repo.
 
Loading...
Searching...
No Matches
FlutterPlugin.h File Reference
import <UIKit/UIKit.h>
import <UserNotifications/UNUserNotificationCenter.h>
import "FlutterBinaryMessenger.h"
import "FlutterChannels.h"
import "FlutterCodecs.h"
import "FlutterPlatformViews.h"
import "FlutterSceneLifeCycle.h"
import "FlutterTexture.h"

Go to the source code of this file.

Classes

protocol  <FlutterApplicationLifeCycleDelegate>
 
protocol  <FlutterPlugin>
 
protocol  <FlutterBaseRegistrar>
 
protocol  <FlutterApplicationRegistrar>
 
protocol  <FlutterPluginRegistrar>
 
protocol  <FlutterPluginRegistry>
 
protocol  <FlutterPluginRegistrant>
 
protocol  <FlutterAppLifeCycleProvider>
 

Typedefs

typedef void(* FlutterPluginRegistrantCallback) (NSObject< FlutterPluginRegistry > *registry)
 

Enumerations

enum  FlutterPlatformViewGestureRecognizersBlockingPolicy {
  FlutterPlatformViewGestureRecognizersBlockingPolicyEager ,
  FlutterPlatformViewGestureRecognizersBlockingPolicyWaitUntilTouchesEnded ,
  FlutterPlatformViewGestureRecognizersBlockingPolicyDoNotBlockGesture
}
 

Typedef Documentation

◆ FlutterPluginRegistrantCallback

typedef void(* FlutterPluginRegistrantCallback) (NSObject< FlutterPluginRegistry > *registry)

A plugin registration callback.

Used for registering plugins with additional instances of FlutterPluginRegistry.

Parameters
registryThe registry to register plugins with.

Definition at line 181 of file FlutterPlugin.h.

Enumeration Type Documentation

◆ FlutterPlatformViewGestureRecognizersBlockingPolicy

How the UIGestureRecognizers of a platform view are blocked.

UIGestureRecognizers of platform views can be blocked based on decisions made by the Flutter Framework (e.g. When an interact-able widget is covering the platform view).

Enumerator
FlutterPlatformViewGestureRecognizersBlockingPolicyEager 

Flutter blocks all the UIGestureRecognizers on the platform view as soon as it decides they should be blocked.

This policy employs a dual blocking strategy: synchronous blocking via hitTest results and asynchronous blocking managed through the framework’s gesture arena. With this policy, only the touchesBegan method for all the UIGestureRecognizers is guaranteed to be called.

FlutterPlatformViewGestureRecognizersBlockingPolicyWaitUntilTouchesEnded 

Flutter blocks all the UIGestureRecognizers on the platform view only after touchesEnded was invoked.

This results in the platform view's UIGestureRecognizers seeing the entire touch sequence, but never recognizing the gesture (and never invoking actions).

FlutterPlatformViewGestureRecognizersBlockingPolicyDoNotBlockGesture 

Flutter blocks all the UIGestureRecognizers on the platform view based on results from hitTest.

Unlike FlutterPlatformViewGestureRecognizersBlockingPolicyEager, this policy does not rely on Flutter's gesture arena. This is a workaround to address a few bugs related to platform view's gesture recognizers being stuck in a stale state. See: https://github.com/flutter/flutter/issues/175099.

Definition at line 253 of file FlutterPlugin.h.

253 {
254 // NOLINTBEGIN(readability-identifier-naming)
255 /**
256 * Flutter blocks all the UIGestureRecognizers on the platform view as soon as it
257 * decides they should be blocked.
258 *
259 * This policy employs a dual blocking strategy: synchronous blocking via hitTest results and
260 * asynchronous blocking managed through the framework’s gesture arena. With this policy, only the
261 * `touchesBegan` method for all the UIGestureRecognizers is guaranteed to be called.
262 */
264 /**
265 * Flutter blocks all the UIGestureRecognizers on the platform view only after touchesEnded was
266 * invoked.
267 *
268 * This results in the platform view's UIGestureRecognizers seeing the entire touch sequence,
269 * but never recognizing the gesture (and never invoking actions).
270 */
272 /**
273 * Flutter blocks all the UIGestureRecognizers on the platform view based on results from hitTest.
274 *
275 * Unlike FlutterPlatformViewGestureRecognizersBlockingPolicyEager, this policy does not rely on
276 * Flutter's gesture arena. This is a workaround to address a few bugs related to platform view's
277 * gesture recognizers being stuck in a stale state. See:
278 * https://github.com/flutter/flutter/issues/175099.
279 */
281 // NOLINTEND(readability-identifier-naming)
FlutterPlatformViewGestureRecognizersBlockingPolicy
@ FlutterPlatformViewGestureRecognizersBlockingPolicyEager
@ FlutterPlatformViewGestureRecognizersBlockingPolicyWaitUntilTouchesEnded
@ FlutterPlatformViewGestureRecognizersBlockingPolicyDoNotBlockGesture