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"
14
15namespace flutter {
16
17//------------------------------------------------------------------------------
18/// @brief Binds the surface texture to an Impeller texture.
19///
22 public:
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|
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
44};
45
46} // namespace flutter
47
48#endif // FLUTTER_SHELL_PLATFORM_ANDROID_SURFACE_TEXTURE_EXTERNAL_TEXTURE_GL_IMPELLER_H_
Instances of external textures peered to android.graphics.SurfaceTexture.
#define FML_DISALLOW_COPY_AND_ASSIGN(TypeName)
Definition macros.h:27