Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Instance Methods | Properties | List of all members
AppViewController Class Reference
Inheritance diagram for AppViewController:

Instance Methods

(void) - loadView [implementation]
 
(void) - viewDidLoad [implementation]
 
(void) - handleTap: [implementation]
 

Properties

id< MTLDevice > metalDevice
 
id< MTLCommandQueue > metalQueue
 
SkiaContextskiaContext
 
UIStackView * stackView
 

Detailed Description

Definition at line 89 of file main.mm.

Method Documentation

◆ handleTap:

- (void) handleTap: (UIGestureRecognizer*)  sender
implementation

Definition at line 15 of file main.mm.

97 :(UIGestureRecognizer*)sender {
98 if ([sender state] != UIGestureRecognizerStateEnded) {
99 return;
100 }
101 NSArray<UIView*>* subviews = [[self stackView] subviews];
102 for (NSUInteger i = 0; i < [subviews count]; ++i) {
103 UIView* uIView = [subviews objectAtIndex:i];
104 if (SkiaViewController* controller = [[self skiaContext] getViewController:uIView]) {
105 [controller togglePaused];
106 [uIView setNeedsDisplay];
107 }
108 }
109}
AtkStateType state
SkiaContext * skiaContext
Definition main.mm:14

◆ loadView

- (void) loadView
implementation

Definition at line 91 of file main.mm.

98 {
99 [self setView:[[MTKView alloc] initWithFrame:[[UIScreen mainScreen] bounds] device:nil]];
100}

◆ viewDidLoad

- (void) viewDidLoad
implementation

Definition at line 91 of file main.mm.

102 {
103 [super viewDidLoad];
104 if (!fGrContext) {
105 [self setMetalDevice:MTLCreateSystemDefaultDevice()];
106 [self setMetalQueue:[[self metalDevice] newCommandQueue]];
107 fGrContext = SkMetalDeviceToGrContext([self metalDevice], [self metalQueue]);
108 }
109 if (![self view] || ![self metalDevice]) {
110 NSLog(@"Metal is not supported on this device");
111 self.view = [[UIView alloc] initWithFrame:self.view.frame];
112 return;
113 }
114 MTKView* mtkView = (MTKView*)[self view];
115 [mtkView setDevice:[self metalDevice]];
116 [mtkView setBackgroundColor:[UIColor blackColor]];
117 SkMtkViewConfigForSkia(mtkView);
118 AppViewDelegate* viewDelegate = [[AppViewDelegate alloc] init];
119 [viewDelegate setGrContext:fGrContext.get()];
120 [viewDelegate setMetalQueue:[self metalQueue]];
121 [viewDelegate mtkView:mtkView drawableSizeWillChange:[mtkView bounds].size];
122 [mtkView setDelegate:viewDelegate];
123}
void SkMtkViewConfigForSkia(MTKView *)
GrContextHolder SkMetalDeviceToGrContext(id< MTLDevice >, id< MTLCommandQueue >)
id< MTLDevice > metalDevice
Definition main.mm:90
id< MTLCommandQueue > metalQueue
Definition main.mm:91
void mtkView:drawableSizeWillChange:(nonnull MTKView *view, [drawableSizeWillChange] CGSize size)
Definition main.mm:82

Property Documentation

◆ metalDevice

- (id<MTLDevice>) metalDevice
readwritenonatomicstrong

Definition at line 90 of file main.mm.

◆ metalQueue

- (id<MTLCommandQueue>) metalQueue
readwritenonatomicstrong

Definition at line 91 of file main.mm.

◆ skiaContext

- (SkiaContext*) skiaContext
readwriteatomicstrong

Definition at line 14 of file main.mm.

◆ stackView

- (UIStackView*) stackView
readwriteatomicstrong

Definition at line 15 of file main.mm.


The documentation for this class was generated from the following files: