Flutter iOS Embedder
FlutterViewController.mm File Reference
#import "flutter/shell/platform/darwin/ios/framework/Source/FlutterViewController_Internal.h"
#import <os/log.h>
#include <memory>
#include "flutter/common/constants.h"
#include "flutter/fml/memory/weak_ptr.h"
#include "flutter/fml/message_loop.h"
#include "flutter/fml/platform/darwin/platform_version.h"
#include "flutter/fml/platform/darwin/scoped_nsobject.h"
#include "flutter/runtime/ptrace_check.h"
#include "flutter/shell/common/thread_host.h"
#import "flutter/shell/platform/darwin/common/framework/Source/FlutterBinaryMessengerRelay.h"
#import "flutter/shell/platform/darwin/ios/framework/Source/FlutterChannelKeyResponder.h"
#import "flutter/shell/platform/darwin/ios/framework/Source/FlutterEmbedderKeyResponder.h"
#import "flutter/shell/platform/darwin/ios/framework/Source/FlutterEngine_Internal.h"
#import "flutter/shell/platform/darwin/ios/framework/Source/FlutterKeyPrimaryResponder.h"
#import "flutter/shell/platform/darwin/ios/framework/Source/FlutterKeyboardManager.h"
#import "flutter/shell/platform/darwin/ios/framework/Source/FlutterPlatformPlugin.h"
#import "flutter/shell/platform/darwin/ios/framework/Source/FlutterPlatformViews_Internal.h"
#import "flutter/shell/platform/darwin/ios/framework/Source/FlutterTextInputDelegate.h"
#import "flutter/shell/platform/darwin/ios/framework/Source/FlutterTextInputPlugin.h"
#import "flutter/shell/platform/darwin/ios/framework/Source/FlutterView.h"
#import "flutter/shell/platform/darwin/ios/framework/Source/UIViewController+FlutterScreenAndSceneIfLoaded.h"
#import "flutter/shell/platform/darwin/ios/framework/Source/platform_message_response_darwin.h"
#import "flutter/shell/platform/darwin/ios/framework/Source/vsync_waiter_ios.h"
#import "flutter/shell/platform/darwin/ios/platform_view_ios.h"
#import "flutter/shell/platform/embedder/embedder.h"
#import "flutter/third_party/spring_animation/spring_animation.h"

Go to the source code of this file.

Classes

struct  MouseState
 

Macros

#define FML_USED_ON_EMBEDDER
 

Typedefs

typedef struct MouseState MouseState
 

Variables

static constexpr int kMicrosecondsPerSecond = 1000 * 1000
 
static constexpr CGFloat kScrollViewContentSize = 2.0
 
static NSString *const kFlutterRestorationStateAppData = @"@"FlutterRestorationStateAppData"
 
const NSNotificationName FlutterSemanticsUpdateNotification = @"@"FlutterSemanticsUpdate"
 
const NSNotificationName FlutterViewControllerWillDealloc = @"@"FlutterViewControllerWillDealloc"
 
const NSNotificationName FlutterViewControllerHideHomeIndicator
 
const NSNotificationName FlutterViewControllerShowHomeIndicator
 
fml::scoped_nsobject< FlutterEngine_engine
 
fml::scoped_nsobject< FlutterView_flutterView
 
fml::scoped_nsobject< UIView > _splashScreenView
 
fml::ScopedBlock< void(^)(void)> _flutterViewRenderedCallback
 
UIInterfaceOrientationMask _orientationPreferences
 
UIStatusBarStyle _statusBarStyle
 
flutter::ViewportMetrics _viewportMetrics
 
BOOL _initialized
 
BOOL _viewOpaque
 
BOOL _engineNeedsLaunch
 
fml::scoped_nsobject< NSMutableSet< NSNumber * > > _ongoingTouches
 
fml::scoped_nsobject< UIScrollView > _scrollView
 
fml::scoped_nsobject< UIView > _keyboardAnimationView
 
fml::scoped_nsobject< SpringAnimation > _keyboardSpringAnimation
 
MouseState _mouseState
 
NSTimeInterval _scrollInertiaEventStartline
 
NSTimeInterval _scrollInertiaEventAppKitDeadline
 

Macro Definition Documentation

◆ FML_USED_ON_EMBEDDER

#define FML_USED_ON_EMBEDDER

Definition at line 5 of file FlutterViewController.mm.

Typedef Documentation

◆ MouseState

typedef struct MouseState MouseState

Variable Documentation

◆ _engine

fml::scoped_nsobject<FlutterEngine> _engine
Initial value:
{
std::unique_ptr<fml::WeakNSObjectFactory<FlutterViewController>> _weakFactory

Definition at line 120 of file FlutterViewController.mm.

Referenced by FlutterPlatformPlugin::initWithEngine:, FlutterViewController::initWithEngine:nibName:bundle:, and FlutterViewController::pluginRegistry.

◆ _engineNeedsLaunch

BOOL _engineNeedsLaunch

◆ _flutterView

fml::scoped_nsobject<FlutterView> _flutterView

◆ _flutterViewRenderedCallback

fml::ScopedBlock<void (^)(void)> _flutterViewRenderedCallback

◆ _initialized

BOOL _initialized

Definition at line 132 of file FlutterViewController.mm.

◆ _keyboardAnimationView

fml::scoped_nsobject<UIView> _keyboardAnimationView

Definition at line 141 of file FlutterViewController.mm.

◆ _keyboardSpringAnimation

fml::scoped_nsobject<SpringAnimation> _keyboardSpringAnimation

Definition at line 142 of file FlutterViewController.mm.

◆ _mouseState

MouseState _mouseState

Definition at line 143 of file FlutterViewController.mm.

◆ _ongoingTouches

fml::scoped_nsobject<NSMutableSet<NSNumber*> > _ongoingTouches

◆ _orientationPreferences

UIInterfaceOrientationMask _orientationPreferences

Definition at line 129 of file FlutterViewController.mm.

◆ _scrollInertiaEventAppKitDeadline

NSTimeInterval _scrollInertiaEventAppKitDeadline

Definition at line 152 of file FlutterViewController.mm.

◆ _scrollInertiaEventStartline

NSTimeInterval _scrollInertiaEventStartline

Definition at line 145 of file FlutterViewController.mm.

◆ _scrollView

fml::scoped_nsobject<UIScrollView> _scrollView

Definition at line 140 of file FlutterViewController.mm.

◆ _splashScreenView

fml::scoped_nsobject<UIView> _splashScreenView

Definition at line 127 of file FlutterViewController.mm.

◆ _statusBarStyle

UIStatusBarStyle _statusBarStyle

Definition at line 130 of file FlutterViewController.mm.

◆ _viewOpaque

BOOL _viewOpaque

◆ _viewportMetrics

flutter::ViewportMetrics _viewportMetrics

Definition at line 131 of file FlutterViewController.mm.

◆ FlutterSemanticsUpdateNotification

const NSNotificationName FlutterSemanticsUpdateNotification = @"@"FlutterSemanticsUpdate"

The name used for semantic update notifications via NSNotificationCenter.

The object passed as the sender is the FlutterViewController associated with the update.

Definition at line 42 of file FlutterViewController.mm.

◆ FlutterViewControllerHideHomeIndicator

const NSNotificationName FlutterViewControllerHideHomeIndicator
Initial value:
=
@"@"FlutterViewControllerHideHomeIndicator"

Definition at line 44 of file FlutterViewController.mm.

◆ FlutterViewControllerShowHomeIndicator

const NSNotificationName FlutterViewControllerShowHomeIndicator
Initial value:
=
@"@"FlutterViewControllerShowHomeIndicator"

Definition at line 46 of file FlutterViewController.mm.

◆ FlutterViewControllerWillDealloc

const NSNotificationName FlutterViewControllerWillDealloc = @"@"FlutterViewControllerWillDealloc"

◆ kFlutterRestorationStateAppData

NSString* const kFlutterRestorationStateAppData = @"@"FlutterRestorationStateAppData"
static

Definition at line 40 of file FlutterViewController.mm.

◆ kMicrosecondsPerSecond

constexpr int kMicrosecondsPerSecond = 1000 * 1000
staticconstexpr

Definition at line 37 of file FlutterViewController.mm.

◆ kScrollViewContentSize

constexpr CGFloat kScrollViewContentSize = 2.0
staticconstexpr

Definition at line 38 of file FlutterViewController.mm.

_weakFactory
std::unique_ptr< fml::WeakNSObjectFactory< FlutterEngine > > _weakFactory
Definition: FlutterEngine.mm:120