Flutter Engine
Loading...
Searching...
No Matches
surface_texture_external_texture_gl_impeller.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_ANDROID_SURFACE_TEXTURE_EXTERNAL_TEXTURE_GL_IMPELLER_H_
6
#define FLUTTER_SHELL_PLATFORM_ANDROID_SURFACE_TEXTURE_EXTERNAL_TEXTURE_GL_IMPELLER_H_
7
8
#include <memory>
9
10
#include "
flutter/fml/macros.h
"
11
#include "
flutter/impeller/renderer/backend/gles/context_gles.h
"
12
#include "
flutter/impeller/renderer/backend/gles/texture_gles.h
"
13
#include "
flutter/shell/platform/android/surface_texture_external_texture.h
"
14
15
namespace
flutter
{
16
17
//------------------------------------------------------------------------------
18
/// @brief Binds the surface texture to an Impeller texture.
19
///
20
class
SurfaceTextureExternalTextureGLImpeller
21
:
public
SurfaceTextureExternalTexture
{
22
public
:
23
SurfaceTextureExternalTextureGLImpeller
(
24
const
std::shared_ptr<impeller::ContextGLES>& context,
25
int64_t
id
,
26
const
fml::jni::ScopedJavaGlobalRef<jobject>
& surface_texture,
27
const
std::shared_ptr<PlatformViewAndroidJNI>& jni_facade);
28
29
// |SurfaceTextureExternalTexture|
30
~SurfaceTextureExternalTextureGLImpeller
()
override
;
31
32
private
:
33
// |SurfaceTextureExternalTexture|
34
virtual
void
ProcessFrame(
PaintContext
& context,
35
const
SkRect& bounds)
override
;
36
37
// |SurfaceTextureExternalTexture|
38
virtual
void
Detach()
override
;
39
40
const
std::shared_ptr<impeller::ContextGLES> impeller_context_;
41
std::shared_ptr<impeller::TextureGLES> texture_;
42
43
FML_DISALLOW_COPY_AND_ASSIGN
(
SurfaceTextureExternalTextureGLImpeller
);
44
};
45
46
}
// namespace flutter
47
48
#endif
// FLUTTER_SHELL_PLATFORM_ANDROID_SURFACE_TEXTURE_EXTERNAL_TEXTURE_GL_IMPELLER_H_
flutter::SurfaceTextureExternalTextureGLImpeller
Binds the surface texture to an Impeller texture.
Definition
surface_texture_external_texture_gl_impeller.h:21
flutter::SurfaceTextureExternalTextureGLImpeller::~SurfaceTextureExternalTextureGLImpeller
~SurfaceTextureExternalTextureGLImpeller() override
flutter::SurfaceTextureExternalTexture
Instances of external textures peered to android.graphics.SurfaceTexture.
Definition
surface_texture_external_texture.h:33
fml::jni::ScopedJavaGlobalRef
Definition
scoped_java_ref.h:163
macros.h
FML_DISALLOW_COPY_AND_ASSIGN
#define FML_DISALLOW_COPY_AND_ASSIGN(TypeName)
Definition
macros.h:27
flutter
Definition
asset_manager.cc:10
context_gles.h
flutter::Texture::PaintContext
Definition
texture.h:39
surface_texture_external_texture.h
texture_gles.h
shell
platform
android
surface_texture_external_texture_gl_impeller.h
Generated on Thu Nov 6 2025 16:11:25 for Flutter Engine by
1.9.8