Flutter macOS Embedder
FlutterSurface Class Reference

#import <FlutterSurface.h>

Inheritance diagram for FlutterSurface:

Instance Methods

(FlutterMetalTexture) - asFlutterMetalTexture
 
(nonnull instancetype) - initWithSize:device:
 

Class Methods

(nullable FlutterSurface *) + fromFlutterMetalTexture:
 

Properties

IOSurfaceRef ioSurface
 
CGSize size
 
int64_t textureId
 
BOOL isInUse
 
BOOL isInUseOverride
 

Detailed Description

Opaque surface type. Can be represented as FlutterMetalTexture to cross the embedder API boundary.

Definition at line 16 of file FlutterSurface.h.

Method Documentation

◆ asFlutterMetalTexture

- (FlutterMetalTexture) asFlutterMetalTexture

Definition at line 59 of file FlutterSurface.mm.

59  {
60  FlutterMetalTexture res;
61  memset(&res, 0, sizeof(FlutterMetalTexture));
62  res.struct_size = sizeof(FlutterMetalTexture);
63  res.texture = (__bridge void*)_texture;
64  res.texture_id = self.textureId;
65  res.user_data = (void*)CFBridgingRetain(self);
66  res.destruction_callback = ReleaseSurface;
67  return res;
68 }

References _texture.

Referenced by flutter::FlutterCompositor::CreateBackingStore(), and flutter::testing::TEST().

◆ fromFlutterMetalTexture:

+ (nullable FlutterSurface*) fromFlutterMetalTexture: (nonnull const FlutterMetalTexture *)  texture

Referenced by flutter::testing::TEST().

◆ initWithSize:device:

- (nonnull instancetype) initWithSize: (CGSize)  size
device: (nonnull id< MTLDevice >)  device 

Provided by category FlutterSurface(Private).

Property Documentation

◆ ioSurface

- (IOSurfaceRef) ioSurface
readnonatomicassign

Provided by category FlutterSurface(Private).

Definition at line 32 of file FlutterSurface.h.

◆ isInUse

- (BOOL) isInUse
readnonatomicassign

Provided by category FlutterSurface(Private).

Definition at line 36 of file FlutterSurface.h.

Referenced by FlutterBackBufferCache::removeSurfaceForSize:.

◆ isInUseOverride

- (BOOL) isInUseOverride
readwritenonatomicassign

Provided by category FlutterSurface(Testing).

Definition at line 41 of file FlutterSurface.h.

◆ size

- (CGSize) size
readnonatomicassign

Provided by category FlutterSurface(Private).

Definition at line 33 of file FlutterSurface.h.

◆ textureId

- (int64_t) textureId
readnonatomicassign

Provided by category FlutterSurface(Private).

Definition at line 34 of file FlutterSurface.h.


The documentation for this class was generated from the following files:
_texture
id< FlutterTexture > _texture
Definition: FlutterExternalTexture.mm:14