| Flutter macOS Embedder |

FlutterExternalTexture.h
Go to the documentation of this file.
1 // Copyright 2013 The Flutter Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef FLUTTER_SHELL_PLATFORM_DARWIN_MACOS_FRAMEWORK_SOURCE_FLUTTEREXTERNALTEXTURE_H_
6 #define FLUTTER_SHELL_PLATFORM_DARWIN_MACOS_FRAMEWORK_SOURCE_FLUTTEREXTERNALTEXTURE_H_
7
8 #import <Foundation/Foundation.h>
9
10 #import "flutter/shell/platform/darwin/graphics/FlutterDarwinContextMetalSkia.h"
11 #include "flutter/shell/platform/embedder/embedder.h"
12
13 /**
14 * Embedding side texture wrappers for Metal external textures.
15 * Used to bridge FlutterTexture object and handle the texture copy request the
16 * Flutter engine.
17 */
18 @interface FlutterExternalTexture : NSObject
19
20 /**
21 * Initializes a texture adapter with |texture|.
22 */
23 - (nonnull instancetype)initWithFlutterTexture:(nonnull id<FlutterTexture>)texture
24 darwinMetalContext:(nonnull FlutterDarwinContextMetalSkia*)context;
25
26 /**
27 * Returns the ID for the FlutterExternalTexture instance.
28 */
29 - (int64_t)textureID;
30
31 /**
32 * Accepts texture buffer copy request from the Flutter engine.
33 * When the user side marks the textureID as available, the Flutter engine will
34 * callback to this method and ask for populate the |metalTexture| object,
35 * such as the texture type and the format of the pixel buffer and the texture object.
36 */
37 - (BOOL)populateTexture:(nonnull FlutterMetalExternalTexture*)metalTexture;
38
39 @end
40
41 #endif // FLUTTER_SHELL_PLATFORM_DARWIN_MACOS_FRAMEWORK_SOURCE_FLUTTEREXTERNALTEXTURE_H_
FlutterExternalTexture
Definition: FlutterExternalTexture.h:19
-[FlutterExternalTexture textureID]
int64_t textureID()
Definition: FlutterExternalTexture.mm:30
FlutterTexture-p
Definition: FlutterTexture.h:21