Flutter macOS Embedder
FlutterTexture.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_COMMON_FRAMEWORK_HEADERS_FLUTTERTEXTURE_H_
6
#define FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERTEXTURE_H_
7
8
#import <CoreMedia/CoreMedia.h>
9
#import <Foundation/Foundation.h>
10
11
#import "
FlutterMacros.h
"
12
13
NS_ASSUME_NONNULL_BEGIN
14
15
FLUTTER_DARWIN_EXPORT
16
/**
17
* Represents a texture that can be shared with Flutter.
18
*
19
* See also: https://github.com/flutter/plugins/tree/master/packages/camera
20
*/
21
@protocol
FlutterTexture
<NSObject>
22
/**
23
* Copy the contents of the texture into a `CVPixelBuffer`.
24
*
25
* The type of the pixel buffer is one of the following:
26
* - `kCVPixelFormatType_32BGRA`
27
* - `kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange`
28
* - `kCVPixelFormatType_420YpCbCr8BiPlanarFullRange`
29
*/
30
- (CVPixelBufferRef _Nullable)
copyPixelBuffer
;
31
32
/**
33
* Called when the texture is unregistered.
34
*
35
* Called on the raster thread.
36
*/
37
@optional
38
- (void)onTextureUnregistered:(NSObject<
FlutterTexture
>*)texture;
39
@end
40
41
FLUTTER_DARWIN_EXPORT
42
/**
43
* A collection of registered `FlutterTexture`'s.
44
*/
45
@protocol
FlutterTextureRegistry
<NSObject>
46
/**
47
* Registers a `FlutterTexture` for usage in Flutter and returns an id that can be used to reference
48
* that texture when calling into Flutter with channels. Textures must be registered on the
49
* platform thread. On success returns the pointer to the registered texture, else returns 0.
50
*/
51
- (int64_t)registerTexture:(NSObject<
FlutterTexture
>*)texture;
52
/**
53
* Notifies Flutter that the content of the previously registered texture has been updated.
54
*
55
* This will trigger a call to `-[FlutterTexture copyPixelBuffer]` on the raster thread.
56
*/
57
- (void)textureFrameAvailable:(int64_t)textureId;
58
/**
59
* Unregisters a `FlutterTexture` that has previously regeistered with `registerTexture:`. Textures
60
* must be unregistered on the platform thread.
61
*
62
* @param textureId The result that was previously returned from `registerTexture:`.
63
*/
64
- (void)unregisterTexture:(int64_t)textureId;
65
@end
66
67
NS_ASSUME_NONNULL_END
68
69
#endif // FLUTTER_SHELL_PLATFORM_DARWIN_COMMON_FRAMEWORK_HEADERS_FLUTTERTEXTURE_H_
NS_ASSUME_NONNULL_END
#define NS_ASSUME_NONNULL_END
Definition:
FlutterMacros.h:20
FlutterTextureRegistry-p
Definition:
FlutterTexture.h:45
NS_ASSUME_NONNULL_BEGIN
#define NS_ASSUME_NONNULL_BEGIN
Definition:
FlutterMacros.h:19
FlutterMacros.h
-[FlutterTexture-p copyPixelBuffer]
CVPixelBufferRef _Nullable copyPixelBuffer()
FLUTTER_DARWIN_EXPORT
#define FLUTTER_DARWIN_EXPORT
Definition:
FlutterMacros.h:14
FlutterTexture-p
Definition:
FlutterTexture.h:21
shell
platform
darwin
common
framework
Headers
FlutterTexture.h
Generated by
1.8.17