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 961 of file FlutterPlatformViews.mm.

Method Documentation

◆ accessibilityContainer

- (id) accessibilityContainer

Provided by category FlutterTouchInterceptingView(Tests).

◆ blockGesture

- (void) blockGesture

Definition at line 1008 of file FlutterPlatformViews.mm.

1008  {
1009  switch (_blockingPolicy) {
1011  // We block all other gesture recognizers immediately in this policy.
1012  _delayingRecognizer.get().state = UIGestureRecognizerStateEnded;
1013  break;
1015  if (_delayingRecognizer.get().touchedEndedWithoutBlocking) {
1016  // If touchesEnded of the `DelayingGesureRecognizer` has been already invoked,
1017  // we want to set the state of the `DelayingGesureRecognizer` to
1018  // `UIGestureRecognizerStateEnded` as soon as possible.
1019  _delayingRecognizer.get().state = UIGestureRecognizerStateEnded;
1020  } else {
1021  // If touchesEnded of the `DelayingGesureRecognizer` has not been invoked,
1022  // We will set a flag to notify the `DelayingGesureRecognizer` to set the state to
1023  // `UIGestureRecognizerStateEnded` when touchesEnded is called.
1024  _delayingRecognizer.get().shouldEndInNextTouchesEnded = YES;
1025  }
1026  break;
1027  default:
1028  break;
1029  }
1030 }

References _blockingPolicy, FlutterPlatformViewGestureRecognizersBlockingPolicyEager, and FlutterPlatformViewGestureRecognizersBlockingPolicyWaitUntilTouchesEnded.

◆ embeddedView

- (UIView *) embeddedView

Definition at line 1000 of file FlutterPlatformViews.mm.

1000  {
1001  return [[_embeddedView retain] autorelease];
1002 }

Referenced by flutter::FlutterPlatformViewsController::GetPlatformViewByID.

◆ initWithEmbeddedView:platformViewsController:gestureRecognizersBlockingPolicy:

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

Definition at line 970 of file FlutterPlatformViews.mm.

970  :(UIView*)embeddedView
971  platformViewsController:
972  (fml::WeakPtr<flutter::FlutterPlatformViewsController>)platformViewsController
973  gestureRecognizersBlockingPolicy:
975  self = [super initWithFrame:embeddedView.frame];
976  if (self) {
977  self.multipleTouchEnabled = YES;
979  embeddedView.autoresizingMask =
980  (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);
981 
982  [self addSubview:embeddedView];
983 
984  ForwardingGestureRecognizer* forwardingRecognizer = [[[ForwardingGestureRecognizer alloc]
985  initWithTarget:self
986  platformViewsController:std::move(platformViewsController)] autorelease];
987 
988  _delayingRecognizer.reset([[DelayingGestureRecognizer alloc]
989  initWithTarget:self
990  action:nil
991  forwardingRecognizer:forwardingRecognizer]);
992  _blockingPolicy = blockingPolicy;
993 
994  [self addGestureRecognizer:_delayingRecognizer.get()];
995  [self addGestureRecognizer:forwardingRecognizer];
996  }
997  return self;
998 }

References _blockingPolicy, _embeddedView, and action.

◆ releaseGesture

- (void) releaseGesture

Definition at line 1004 of file FlutterPlatformViews.mm.

1004  {
1005  _delayingRecognizer.get().state = UIGestureRecognizerStateFailed;
1006 }

◆ setFlutterAccessibilityContainer:

- (void) setFlutterAccessibilityContainer: (NSObject*)  flutterAccessibilityContainer

Definition at line 1047 of file FlutterPlatformViews.mm.

1047  :(NSObject*)flutterAccessibilityContainer {
1048  _flutterAccessibilityContainer = flutterAccessibilityContainer;
1049 }

References _flutterAccessibilityContainer.


The documentation for this class was generated from the following files:
FlutterPlatformViewGestureRecognizersBlockingPolicyWaitUntilTouchesEnded
@ FlutterPlatformViewGestureRecognizersBlockingPolicyWaitUntilTouchesEnded
Definition: FlutterPlugin.h:268
ForwardingGestureRecognizer
Definition: FlutterPlatformViews.mm:955
-[FlutterTouchInterceptingView embeddedView]
UIView * embeddedView()
Definition: FlutterPlatformViews.mm:1000
_blockingPolicy
FlutterPlatformViewGestureRecognizersBlockingPolicy _blockingPolicy
Definition: FlutterPlatformViews.mm:961
_flutterAccessibilityContainer
NSObject * _flutterAccessibilityContainer
Definition: FlutterPlatformViews.mm:968
action
SemanticsAction action
Definition: SemanticsObjectTestMocks.h:21
FlutterPlatformViewGestureRecognizersBlockingPolicyEager
@ FlutterPlatformViewGestureRecognizersBlockingPolicyEager
Definition: FlutterPlugin.h:260
FlutterPlatformViewGestureRecognizersBlockingPolicy
FlutterPlatformViewGestureRecognizersBlockingPolicy
Definition: FlutterPlugin.h:252
DelayingGestureRecognizer
Definition: FlutterPlatformViews.mm:930
_embeddedView
UIView * _embeddedView
Definition: FlutterPlatformViews.mm:964