Flutter macOS Embedder
FlutterDisplayLink Class Reference

#import <FlutterDisplayLink.h>

Inheritance diagram for FlutterDisplayLink:
_FlutterDisplayLink TestDisplayLink

Instance Methods

(void) - invalidate
 Invalidates the display link. Must be called on the main thread. More...
 

Class Methods

(instancetype) + displayLinkWithView:
 

Properties

id< FlutterDisplayLinkDelegatedelegate
 
BOOL paused
 Pauses and resumes the display link. May be called from any thread. More...
 
CFTimeInterval nominalOutputRefreshPeriod
 

Detailed Description

Provides notifications of display refresh.

Internally FlutterDisplayLink will use at most one CVDisplayLink per screen shared for all views belonging to that screen. This is necessary because each CVDisplayLink comes with its own thread.

Definition at line 15 of file FlutterDisplayLink.h.

Method Documentation

◆ displayLinkWithView:

+ (instancetype) displayLinkWithView: (NSView*)  view

Creates new instance tied to provided NSView. FlutterDisplayLink will track view display changes transparently to synchronize update with display refresh. This function must be called on the main thread.

Definition at line 350 of file FlutterDisplayLink.mm.

350  :(NSView*)view {
351  return [[_FlutterDisplayLink alloc] initWithView:view];
352 }

Referenced by TEST().

◆ invalidate

- (void) invalidate

Invalidates the display link. Must be called on the main thread.

Definition at line 354 of file FlutterDisplayLink.mm.

354  {
355  [self doesNotRecognizeSelector:_cmd];
356 }

Referenced by TEST().

Property Documentation

◆ delegate

- (id<FlutterDisplayLinkDelegate>) delegate
readwritenonatomicweak

Delegate must be set on main thread. Delegate method will be called on on display link thread.

Definition at line 25 of file FlutterDisplayLink.h.

Referenced by _FlutterDisplayLink::didFireWithTimestamp:targetTimestamp:, FlutterVSyncWaiter::initWithDisplayLink:block:, and TEST().

◆ nominalOutputRefreshPeriod

- (CFTimeInterval) nominalOutputRefreshPeriod
readatomicassign

Returns the nominal refresh period of the display to which the view currently belongs (in seconds). If view does not belong to any display, returns 0. Can be called from any thread.

Definition at line 33 of file FlutterDisplayLink.h.

Referenced by FlutterVSyncWaiter::waitForVSync:.

◆ paused

- (BOOL) paused
readwriteatomicassign

Pauses and resumes the display link. May be called from any thread.

Definition at line 28 of file FlutterDisplayLink.h.

Referenced by FlutterVSyncWaiter::initWithDisplayLink:block:, TEST(), and FlutterVSyncWaiter::waitForVSync:.


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