Flutter iOS Embedder
FlutterViewController_Internal.h
Go to the documentation of this file.
1 // Copyright 2013 The Flutter Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_SOURCE_FLUTTERVIEWCONTROLLER_INTERNAL_H_
6 #define FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_SOURCE_FLUTTERVIEWCONTROLLER_INTERNAL_H_
7 
8 #include "flutter/fml/platform/darwin/weak_nsobject.h"
9 #include "flutter/fml/time/time_point.h"
10 
17 
18 namespace flutter {
19 class FlutterPlatformViewsController;
20 }
21 
23 // NOLINTNEXTLINE(readability-identifier-naming)
24 extern NSNotificationName const FlutterViewControllerWillDealloc;
25 
27 // NOLINTNEXTLINE(readability-identifier-naming)
28 extern NSNotificationName const FlutterViewControllerHideHomeIndicator;
29 
31 // NOLINTNEXTLINE(readability-identifier-naming)
32 extern NSNotificationName const FlutterViewControllerShowHomeIndicator;
33 
34 typedef NS_ENUM(NSInteger, FlutterKeyboardMode) {
35  // NOLINTBEGIN(readability-identifier-naming)
36  FlutterKeyboardModeHidden = 0,
37  FlutterKeyboardModeDocked = 1,
38  FlutterKeyboardModeFloating = 2,
39  // NOLINTEND(readability-identifier-naming)
40 };
41 
42 typedef void (^FlutterKeyboardAnimationCallback)(fml::TimePoint);
43 
45 
46 @property(class, nonatomic, readonly) BOOL accessibilityIsOnOffSwitchLabelsEnabled;
47 @property(nonatomic, readonly) BOOL isPresentingViewController;
48 @property(nonatomic, readonly) BOOL isVoiceOverRunning;
49 @property(nonatomic, retain) FlutterKeyboardManager* keyboardManager;
50 
51 /**
52  * @brief Whether the status bar is preferred hidden.
53  *
54  * This overrides the |UIViewController:prefersStatusBarHidden|.
55  * This is ignored when `UIViewControllerBasedStatusBarAppearance` in info.plist
56  * of the app project is `false`.
57  */
58 @property(nonatomic, assign, readwrite) BOOL prefersStatusBarHidden;
59 
60 - (fml::WeakNSObject<FlutterViewController>)getWeakNSObject;
61 - (std::shared_ptr<flutter::FlutterPlatformViewsController>&)platformViewsController;
62 - (FlutterRestorationPlugin*)restorationPlugin;
63 // Send touches to the Flutter Engine while forcing the change type to be cancelled.
64 // The `phase`s in `touches` are ignored.
65 - (void)forceTouchesCancelled:(NSSet*)touches;
66 
67 // Accepts keypress events, and then calls |nextAction| if the event was not
68 // handled.
69 - (void)handlePressEvent:(FlutterUIPressProxy*)press
70  nextAction:(void (^)())nextAction API_AVAILABLE(ios(13.4));
71 - (void)addInternalPlugins;
72 - (void)deregisterNotifications;
73 - (int32_t)accessibilityFlags;
74 
75 @end
76 
77 #endif // FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_SOURCE_FLUTTERVIEWCONTROLLER_INTERNAL_H_
FlutterViewController
Definition: FlutterViewController.h:56
NS_ENUM
typedef NS_ENUM(NSInteger, FlutterKeyboardMode)
Definition: FlutterViewController_Internal.h:34
FlutterRestorationPlugin.h
FlutterRestorationPlugin
Definition: FlutterRestorationPlugin.h:12
FlutterViewControllerWillDealloc
FLUTTER_DARWIN_EXPORT const NSNotificationName FlutterViewControllerWillDealloc
Definition: FlutterViewController.mm:43
FlutterKeyboardAnimationCallback
void(^ FlutterKeyboardAnimationCallback)(fml::TimePoint)
Definition: FlutterViewController_Internal.h:42
FlutterViewResponder.h
flutter
Definition: accessibility_bridge.h:28
FlutterViewControllerHideHomeIndicator
FLUTTER_DARWIN_EXPORT const NSNotificationName FlutterViewControllerHideHomeIndicator
Definition: FlutterViewController.mm:44
FlutterViewControllerShowHomeIndicator
FLUTTER_DARWIN_EXPORT const NSNotificationName FlutterViewControllerShowHomeIndicator
Definition: FlutterViewController.mm:46
FlutterKeyboardManager.h
FlutterUIPressProxy
Definition: FlutterUIPressProxy.h:17
FlutterUIPressProxy.h
FlutterViewResponder-p
Definition: FlutterViewResponder.h:11
FLUTTER_DARWIN_EXPORT
#define FLUTTER_DARWIN_EXPORT
Definition: FlutterMacros.h:14
FlutterKeySecondaryResponder.h
FlutterKeyboardManager
Definition: FlutterKeyboardManager.h:53
FlutterViewController.h