| 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
11 #import "flutter/shell/platform/darwin/ios/framework/Headers/FlutterViewController.h"
12 #import "flutter/shell/platform/darwin/ios/framework/Source/FlutterKeySecondaryResponder.h"
13 #import "flutter/shell/platform/darwin/ios/framework/Source/FlutterKeyboardManager.h"
14 #import "flutter/shell/platform/darwin/ios/framework/Source/FlutterRestorationPlugin.h"
15 #import "flutter/shell/platform/darwin/ios/framework/Source/FlutterUIPressProxy.h"
16 #import "flutter/shell/platform/darwin/ios/framework/Source/FlutterViewResponder.h"
17
18 namespace flutter {
19 class FlutterPlatformViewsController;
20 }
21
22 FLUTTER_DARWIN_EXPORT
23 // NOLINTNEXTLINE(readability-identifier-naming)
24 extern NSNotificationName const FlutterViewControllerWillDealloc;
25
26 FLUTTER_DARWIN_EXPORT
27 // NOLINTNEXTLINE(readability-identifier-naming)
28 extern NSNotificationName const FlutterViewControllerHideHomeIndicator;
29
30 FLUTTER_DARWIN_EXPORT
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
44 @interface FlutterViewController () <FlutterViewResponder>
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
64 // Accepts keypress events, and then calls |nextAction| if the event was not
65 // handled.
66 - (void)handlePressEvent:(FlutterUIPressProxy*)press
67 nextAction:(void (^)())nextAction API_AVAILABLE(ios(13.4));
68 - (void)sendDeepLinkToFramework:(NSURL*)url completionHandler:(void (^)(BOOL success))completion;
69 - (void)addInternalPlugins;
70 - (void)deregisterNotifications;
71 - (int32_t)accessibilityFlags;
72
73 - (BOOL)supportsShowingSystemContextMenu;
74 @end
75
76 #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:15
FLUTTER_DARWIN_EXPORT
#define FLUTTER_DARWIN_EXPORT
Definition: FlutterMacros.h:14
FlutterKeySecondaryResponder.h
FlutterKeyboardManager
Definition: FlutterKeyboardManager.h:53
FlutterViewController.h