| Flutter macOS Embedder |

Instance Methods | Class Methods | Properties | List of all members
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 56 of file FlutterSurface.mm.

56 {
57 return FlutterMetalTexture{
58 .struct_size = sizeof(FlutterMetalTexture),
59 .texture_id = self.textureId,
60 .texture = (__bridge void*)_texture,
61 // Retain for use in [FlutterSurface fromFlutterMetalTexture]. Released in
62 // destruction_callback.
63 .user_data = (__bridge_retained void*)self,
64 .destruction_callback =
65 [](void* user_data) {
66 // Balancing release for the retain when setting user_data above.
67 FlutterSurface* surface = (__bridge_transfer FlutterSurface*)user_data;
68 surface = nil;
69 },
70 };
71 }

References _texture, texture_id, FlutterSurface(Private)::textureId, and user_data.

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
| read nonatomic assign

Provided by category FlutterSurface(Private).

Definition at line 32 of file FlutterSurface.h.

## ◆ isInUse

- (BOOL) isInUse
| read nonatomic assign

Provided by category FlutterSurface(Private).

Definition at line 36 of file FlutterSurface.h.

Referenced by FlutterBackBufferCache::removeSurfaceForSize:.

## ◆ isInUseOverride

- (BOOL) isInUseOverride
| read write nonatomic assign

Provided by category FlutterSurface(Testing).

Definition at line 41 of file FlutterSurface.h.

## ◆ size

- (CGSize) size
| read nonatomic assign

Provided by category FlutterSurface(Private).

Definition at line 33 of file FlutterSurface.h.

## ◆ textureId

- (int64_t) textureId
| read nonatomic assign

Provided by category FlutterSurface(Private).

Definition at line 34 of file FlutterSurface.h.

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

- shell/platform/darwin/macos/framework/Source/FlutterSurface.h
- shell/platform/darwin/macos/framework/Source/FlutterSurface.mm

FlutterSurface(Private)::textureId
int64_t textureId
Definition: FlutterSurface.h:34
user_data
void * user_data
Definition: texture_registrar_unittests.cc:27
_texture
id< FlutterTexture > _texture
Definition: FlutterExternalTexture.mm:14
FlutterSurface
Definition: FlutterSurface.h:16
texture_id
int64_t texture_id
Definition: texture_registrar_unittests.cc:24