Flutter iOS Embedder
FlutterPlatformViews.mm File Reference
#include <Metal/Metal.h>
#import <UIKit/UIGestureRecognizerSubclass.h>
#include <list>
#include <map>
#include <memory>
#include <string>
#include "flutter/common/graphics/persistent_cache.h"
#include "flutter/fml/platform/darwin/scoped_nsobject.h"
#import "flutter/shell/platform/darwin/common/framework/Headers/FlutterChannels.h"
#import "flutter/shell/platform/darwin/ios/framework/Source/FlutterOverlayView.h"
#import "flutter/shell/platform/darwin/ios/framework/Source/FlutterPlatformViews_Internal.h"
#import "flutter/shell/platform/darwin/ios/framework/Source/FlutterView.h"
#import "flutter/shell/platform/darwin/ios/framework/Source/FlutterViewController_Internal.h"
#import "flutter/shell/platform/darwin/ios/ios_surface.h"

Go to the source code of this file.

Classes

class  DelayingGestureRecognizer
 
class  ForwardingGestureRecognizer
 

Namespaces

 flutter
 

Functions

static bool ClipRectContainsPlatformViewBoundingRect (const SkRect &clip_rect, const SkRect &platformview_boundingrect, const SkMatrix &transform_matrix)
 
static bool ClipRRectContainsPlatformViewBoundingRect (const SkRRect &clip_rrect, const SkRect &platformview_boundingrect, const SkMatrix &transform_matrix)
 

Variables

BOOL flutter::canApplyBlurBackdrop = YES
 
FlutterPlatformViewGestureRecognizersBlockingPolicy _blockingPolicy
 
UIView * _embeddedView
 
NSObject * _flutterAccessibilityContainer
 
NSInteger _currentTouchPointersCount
 
fml::scoped_nsobject< UIViewController > _flutterViewController
 

Function Documentation

◆ ClipRectContainsPlatformViewBoundingRect()

static bool ClipRectContainsPlatformViewBoundingRect ( const SkRect &  clip_rect,
const SkRect &  platformview_boundingrect,
const SkMatrix &  transform_matrix 
)
static

Definition at line 44 of file FlutterPlatformViews.mm.

46  {
47  SkRect transformed_rect = transform_matrix.mapRect(clip_rect);
48  return transformed_rect.contains(platformview_boundingrect);
49 }

◆ ClipRRectContainsPlatformViewBoundingRect()

static bool ClipRRectContainsPlatformViewBoundingRect ( const SkRRect &  clip_rrect,
const SkRect &  platformview_boundingrect,
const SkMatrix &  transform_matrix 
)
static

Definition at line 59 of file FlutterPlatformViews.mm.

61  {
62  SkVector upper_left = clip_rrect.radii(SkRRect::Corner::kUpperLeft_Corner);
63  SkVector upper_right = clip_rrect.radii(SkRRect::Corner::kUpperRight_Corner);
64  SkVector lower_right = clip_rrect.radii(SkRRect::Corner::kLowerRight_Corner);
65  SkVector lower_left = clip_rrect.radii(SkRRect::Corner::kLowerLeft_Corner);
66  SkScalar transformed_upper_left_x = transform_matrix.mapRadius(upper_left.x());
67  SkScalar transformed_upper_left_y = transform_matrix.mapRadius(upper_left.y());
68  SkScalar transformed_upper_right_x = transform_matrix.mapRadius(upper_right.x());
69  SkScalar transformed_upper_right_y = transform_matrix.mapRadius(upper_right.y());
70  SkScalar transformed_lower_right_x = transform_matrix.mapRadius(lower_right.x());
71  SkScalar transformed_lower_right_y = transform_matrix.mapRadius(lower_right.y());
72  SkScalar transformed_lower_left_x = transform_matrix.mapRadius(lower_left.x());
73  SkScalar transformed_lower_left_y = transform_matrix.mapRadius(lower_left.y());
74  SkRect transformed_clip_rect = transform_matrix.mapRect(clip_rrect.rect());
75  SkRRect transformed_rrect;
76  SkVector corners[] = {{transformed_upper_left_x, transformed_upper_left_y},
77  {transformed_upper_right_x, transformed_upper_right_y},
78  {transformed_lower_right_x, transformed_lower_right_y},
79  {transformed_lower_left_x, transformed_lower_left_y}};
80  transformed_rrect.setRectRadii(transformed_clip_rect, corners);
81  return transformed_rrect.contains(platformview_boundingrect);
82 }

Variable Documentation

◆ _blockingPolicy

Initial value:
{
fml::scoped_nsobject<DelayingGestureRecognizer> _delayingRecognizer

Definition at line 988 of file FlutterPlatformViews.mm.

Referenced by FlutterTouchInterceptingView::blockGesture, and FlutterTouchInterceptingView::initWithEmbeddedView:platformViewsController:gestureRecognizersBlockingPolicy:.

◆ _currentTouchPointersCount

NSInteger _currentTouchPointersCount
Initial value:
{
fml::WeakPtr<flutter::FlutterPlatformViewsController> _platformViewsController

Definition at line 1135 of file FlutterPlatformViews.mm.

Referenced by ForwardingGestureRecognizer::initWithTarget:platformViewsController:.

◆ _embeddedView

◆ _flutterAccessibilityContainer

NSObject* _flutterAccessibilityContainer

◆ _flutterViewController

fml::scoped_nsobject<UIViewController> _flutterViewController

Definition at line 1150 of file FlutterPlatformViews.mm.

_platformViewsController
std::shared_ptr< flutter::FlutterPlatformViewsController > _platformViewsController
Definition: FlutterEngine.mm:125