| 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 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
| 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

_texture
id< FlutterTexture > _texture
Definition: FlutterExternalTexture.mm:14