Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Classes | Namespaces | Functions | Variables
FlutterPlatformViews.mm File Reference
import "flutter/shell/platform/darwin/ios/framework/Source/FlutterPlatformViews_Internal.h"
#include <Metal/Metal.h>
#include "flutter/fml/platform/darwin/scoped_nsobject.h"
import "flutter/shell/platform/darwin/ios/framework/Source/FlutterOverlayView.h"
import "flutter/shell/platform/darwin/ios/framework/Source/FlutterView.h"
import "flutter/shell/platform/darwin/ios/ios_surface.h"

Go to the source code of this file.

Classes

class  DelayingGestureRecognizer
 
class  ForwardingGestureRecognizer
 

Namespaces

namespace  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< FlutterViewResponder > > _flutterViewController
 

Function Documentation

◆ ClipRectContainsPlatformViewBoundingRect()

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

Definition at line 36 of file FlutterPlatformViews.mm.

38 {
39 SkRect transformed_rect = transform_matrix.mapRect(clip_rect);
40 return transformed_rect.contains(platformview_boundingrect);
41}
bool mapRect(SkRect *dst, const SkRect &src, SkApplyPerspectiveClip pc=SkApplyPerspectiveClip::kYes) const
bool contains(SkScalar x, SkScalar y) const
Definition extension.cpp:19

◆ ClipRRectContainsPlatformViewBoundingRect()

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

Definition at line 51 of file FlutterPlatformViews.mm.

53 {
54 SkVector upper_left = clip_rrect.radii(SkRRect::Corner::kUpperLeft_Corner);
55 SkVector upper_right = clip_rrect.radii(SkRRect::Corner::kUpperRight_Corner);
56 SkVector lower_right = clip_rrect.radii(SkRRect::Corner::kLowerRight_Corner);
57 SkVector lower_left = clip_rrect.radii(SkRRect::Corner::kLowerLeft_Corner);
58 SkScalar transformed_upper_left_x = transform_matrix.mapRadius(upper_left.x());
59 SkScalar transformed_upper_left_y = transform_matrix.mapRadius(upper_left.y());
60 SkScalar transformed_upper_right_x = transform_matrix.mapRadius(upper_right.x());
61 SkScalar transformed_upper_right_y = transform_matrix.mapRadius(upper_right.y());
62 SkScalar transformed_lower_right_x = transform_matrix.mapRadius(lower_right.x());
63 SkScalar transformed_lower_right_y = transform_matrix.mapRadius(lower_right.y());
64 SkScalar transformed_lower_left_x = transform_matrix.mapRadius(lower_left.x());
65 SkScalar transformed_lower_left_y = transform_matrix.mapRadius(lower_left.y());
66 SkRect transformed_clip_rect = transform_matrix.mapRect(clip_rrect.rect());
67 SkRRect transformed_rrect;
68 SkVector corners[] = {{transformed_upper_left_x, transformed_upper_left_y},
69 {transformed_upper_right_x, transformed_upper_right_y},
70 {transformed_lower_right_x, transformed_lower_right_y},
71 {transformed_lower_left_x, transformed_lower_left_y}};
72 transformed_rrect.setRectRadii(transformed_clip_rect, corners);
73 return transformed_rrect.contains(platformview_boundingrect);
74}
SkScalar mapRadius(SkScalar radius) const
const SkRect & rect() const
Definition SkRRect.h:264
SkVector radii(Corner corner) const
Definition SkRRect.h:271
@ kUpperLeft_Corner
index of top-left corner radii
Definition SkRRect.h:252
@ kLowerRight_Corner
index of bottom-right corner radii
Definition SkRRect.h:254
@ kUpperRight_Corner
index of top-right corner radii
Definition SkRRect.h:253
@ kLowerLeft_Corner
index of bottom-left corner radii
Definition SkRRect.h:255
void setRectRadii(const SkRect &rect, const SkVector radii[4])
Definition SkRRect.cpp:189
bool contains(const SkRect &rect) const
Definition SkRRect.cpp:360
float SkScalar
Definition extension.cpp:12
constexpr float y() const
constexpr float x() const

Variable Documentation

◆ _blockingPolicy

Initial value:

Definition at line 982 of file FlutterPlatformViews.mm.

◆ _currentTouchPointersCount

NSInteger _currentTouchPointersCount
Initial value:
{
std::shared_ptr< flutter::FlutterPlatformViewsController > _platformViewsController

Definition at line 1137 of file FlutterPlatformViews.mm.

◆ _embeddedView

UIView* _embeddedView

Definition at line 983 of file FlutterPlatformViews.mm.

◆ _flutterAccessibilityContainer

NSObject* _flutterAccessibilityContainer

Definition at line 987 of file FlutterPlatformViews.mm.

◆ _flutterViewController

fml::scoped_nsobject<UIViewController<FlutterViewResponder> > _flutterViewController

Definition at line 1142 of file FlutterPlatformViews.mm.