Flutter iOS Embedder
FlutterTouchInterceptingView Class Reference

#import <FlutterPlatformViews_Internal.h>

Inheritance diagram for FlutterTouchInterceptingView:

Instance Methods

(instancetype) - initWithEmbeddedView:platformViewsController:gestureRecognizersBlockingPolicy:
 
(void) - releaseGesture
 
(void) - blockGesture
 
(UIView *) - embeddedView
 
(void) - setFlutterAccessibilityContainer:
 
(id) - accessibilityContainer
 

Detailed Description

Definition at line 988 of file FlutterPlatformViews.mm.

Method Documentation

◆ accessibilityContainer

- (id) accessibilityContainer

Provided by category FlutterTouchInterceptingView(Tests).

◆ blockGesture

- (void) blockGesture

Definition at line 1035 of file FlutterPlatformViews.mm.

1035  {
1036  switch (_blockingPolicy) {
1038  // We block all other gesture recognizers immediately in this policy.
1039  _delayingRecognizer.get().state = UIGestureRecognizerStateEnded;
1040  break;
1042  if (_delayingRecognizer.get().touchedEndedWithoutBlocking) {
1043  // If touchesEnded of the `DelayingGesureRecognizer` has been already invoked,
1044  // we want to set the state of the `DelayingGesureRecognizer` to
1045  // `UIGestureRecognizerStateEnded` as soon as possible.
1046  _delayingRecognizer.get().state = UIGestureRecognizerStateEnded;
1047  } else {
1048  // If touchesEnded of the `DelayingGesureRecognizer` has not been invoked,
1049  // We will set a flag to notify the `DelayingGesureRecognizer` to set the state to
1050  // `UIGestureRecognizerStateEnded` when touchesEnded is called.
1051  _delayingRecognizer.get().shouldEndInNextTouchesEnded = YES;
1052  }
1053  break;
1054  default:
1055  break;
1056  }
1057 }

References _blockingPolicy, FlutterPlatformViewGestureRecognizersBlockingPolicyEager, and FlutterPlatformViewGestureRecognizersBlockingPolicyWaitUntilTouchesEnded.

◆ embeddedView

- (UIView *) embeddedView

Definition at line 1027 of file FlutterPlatformViews.mm.

1027  {
1028  return [[_embeddedView retain] autorelease];
1029 }

Referenced by flutter::FlutterPlatformViewsController::GetPlatformViewByID.

◆ initWithEmbeddedView:platformViewsController:gestureRecognizersBlockingPolicy:

- (instancetype) initWithEmbeddedView: (UIView*)  embeddedView
platformViewsController: (fml::WeakPtr<flutter::FlutterPlatformViewsController>)  platformViewsController
gestureRecognizersBlockingPolicy: (FlutterPlatformViewGestureRecognizersBlockingPolicy blockingPolicy 

Definition at line 997 of file FlutterPlatformViews.mm.

997  :(UIView*)embeddedView
998  platformViewsController:
999  (fml::WeakPtr<flutter::FlutterPlatformViewsController>)platformViewsController
1000  gestureRecognizersBlockingPolicy:
1002  self = [super initWithFrame:embeddedView.frame];
1003  if (self) {
1004  self.multipleTouchEnabled = YES;
1006  embeddedView.autoresizingMask =
1007  (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);
1008 
1009  [self addSubview:embeddedView];
1010 
1011  ForwardingGestureRecognizer* forwardingRecognizer = [[[ForwardingGestureRecognizer alloc]
1012  initWithTarget:self
1013  platformViewsController:std::move(platformViewsController)] autorelease];
1014 
1015  _delayingRecognizer.reset([[DelayingGestureRecognizer alloc]
1016  initWithTarget:self
1017  action:nil
1018  forwardingRecognizer:forwardingRecognizer]);
1019  _blockingPolicy = blockingPolicy;
1020 
1021  [self addGestureRecognizer:_delayingRecognizer.get()];
1022  [self addGestureRecognizer:forwardingRecognizer];
1023  }
1024  return self;
1025 }

References _blockingPolicy, and _embeddedView.

◆ releaseGesture

- (void) releaseGesture

Definition at line 1031 of file FlutterPlatformViews.mm.

1031  {
1032  _delayingRecognizer.get().state = UIGestureRecognizerStateFailed;
1033 }

◆ setFlutterAccessibilityContainer:

- (void) setFlutterAccessibilityContainer: (NSObject*)  flutterAccessibilityContainer

Definition at line 1074 of file FlutterPlatformViews.mm.

1074  :(NSObject*)flutterAccessibilityContainer {
1075  _flutterAccessibilityContainer = flutterAccessibilityContainer;
1076 }

References _flutterAccessibilityContainer.


The documentation for this class was generated from the following files:
FlutterPlatformViewGestureRecognizersBlockingPolicyWaitUntilTouchesEnded
@ FlutterPlatformViewGestureRecognizersBlockingPolicyWaitUntilTouchesEnded
Definition: FlutterPlugin.h:269
ForwardingGestureRecognizer
Definition: FlutterPlatformViews.mm:982
-[FlutterTouchInterceptingView embeddedView]
UIView * embeddedView()
Definition: FlutterPlatformViews.mm:1027
_blockingPolicy
FlutterPlatformViewGestureRecognizersBlockingPolicy _blockingPolicy
Definition: FlutterPlatformViews.mm:988
_flutterAccessibilityContainer
NSObject * _flutterAccessibilityContainer
Definition: FlutterPlatformViews.mm:995
FlutterPlatformViewGestureRecognizersBlockingPolicyEager
@ FlutterPlatformViewGestureRecognizersBlockingPolicyEager
Definition: FlutterPlugin.h:261
FlutterPlatformViewGestureRecognizersBlockingPolicy
FlutterPlatformViewGestureRecognizersBlockingPolicy
Definition: FlutterPlugin.h:252
DelayingGestureRecognizer
Definition: FlutterPlatformViews.mm:957
_embeddedView
UIView * _embeddedView
Definition: FlutterPlatformViews.mm:991