Flutter Engine
The Flutter Engine
surface_texture_external_texture_gl.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_H_
6#define FLUTTER_SHELL_PLATFORM_ANDROID_SURFACE_TEXTURE_EXTERNAL_TEXTURE_GL_H_
7
8#include "flutter/shell/platform/android/surface_texture_external_texture.h"
9
10#include "flutter/impeller/renderer/backend/gles/context_gles.h"
11#include "flutter/impeller/renderer/backend/gles/gles.h"
12#include "flutter/impeller/renderer/backend/gles/texture_gles.h"
13#include "flutter/impeller/toolkit/egl/egl.h"
14#include "flutter/impeller/toolkit/egl/image.h"
15#include "flutter/impeller/toolkit/gles/texture.h"
16
17#include "flutter/impeller/renderer/backend/gles/context_gles.h"
18
19namespace flutter {
20
22 public:
24 int64_t id,
25 const fml::jni::ScopedJavaGlobalRef<jobject>& surface_texture,
26 const std::shared_ptr<PlatformViewAndroidJNI>& jni_facade);
27
29
30 private:
31 virtual void ProcessFrame(PaintContext& context,
32 const SkRect& bounds) override;
33 virtual void Detach() override;
34
35 GLuint texture_name_ = 0;
36
37 FML_DISALLOW_COPY_AND_ASSIGN(SurfaceTextureExternalTextureGL);
38};
39
42 public:
44 const std::shared_ptr<impeller::ContextGLES>& context,
45 int64_t id,
46 const fml::jni::ScopedJavaGlobalRef<jobject>& surface_texture,
47 const std::shared_ptr<PlatformViewAndroidJNI>& jni_facade);
48
50
51 private:
52 virtual void ProcessFrame(PaintContext& context,
53 const SkRect& bounds) override;
54 virtual void Detach() override;
55
56 const std::shared_ptr<impeller::ContextGLES> impeller_context_;
57 std::shared_ptr<impeller::TextureGLES> texture_;
58
59 FML_DISALLOW_COPY_AND_ASSIGN(SurfaceTextureExternalTextureImpellerGL);
60};
61
62} // namespace flutter
63
64#endif // FLUTTER_SHELL_PLATFORM_ANDROID_SURFACE_TEXTURE_EXTERNAL_TEXTURE_GL_H_
SurfaceTextureExternalTextureGL(int64_t id, const fml::jni::ScopedJavaGlobalRef< jobject > &surface_texture, const std::shared_ptr< PlatformViewAndroidJNI > &jni_facade)
virtual void ProcessFrame(PaintContext &context, const SkRect &bounds) override
SurfaceTextureExternalTextureImpellerGL(const std::shared_ptr< impeller::ContextGLES > &context, int64_t id, const fml::jni::ScopedJavaGlobalRef< jobject > &surface_texture, const std::shared_ptr< PlatformViewAndroidJNI > &jni_facade)
virtual void ProcessFrame(PaintContext &context, const SkRect &bounds) override
Optional< SkRect > bounds
Definition: SkRecords.h:189