Flutter iOS Embedder
FlutterPlatformViews.mm File Reference

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
 
NSInteger _currentTouchPointersCount
 
fml::scoped_nsobject< UIViewController< FlutterViewResponder > > _flutterViewController
 

Function Documentation

◆ ClipRectContainsPlatformViewBoundingRect()

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

Definition at line 38 of file FlutterPlatformViews.mm.

40  {
41  SkRect transformed_rect = transform_matrix.mapRect(clip_rect);
42  return transformed_rect.contains(platformview_boundingrect);
43 }

◆ ClipRRectContainsPlatformViewBoundingRect()

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

Definition at line 53 of file FlutterPlatformViews.mm.

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

Variable Documentation

◆ _currentTouchPointersCount

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

Definition at line 1118 of file FlutterPlatformViews.mm.

Referenced by ForwardingGestureRecognizer::initWithTarget:platformViewsController:.

◆ _flutterViewController

fml::scoped_nsobject<UIViewController<FlutterViewResponder> > _flutterViewController

Definition at line 1133 of file FlutterPlatformViews.mm.

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