5#ifndef FLUTTER_SHELL_PLATFORM_EMBEDDER_EMBEDDER_SURFACE_GL_SKIA_H_
6#define FLUTTER_SHELL_PLATFORM_EMBEDDER_EMBEDDER_SURFACE_GL_SKIA_H_
8#include "flutter/fml/macros.h"
9#include "flutter/shell/gpu/gpu_surface_gl_skia.h"
10#include "flutter/shell/platform/embedder/embedder_external_view_embedder.h"
11#include "flutter/shell/platform/embedder/embedder_surface.h"
32 bool fbo_reset_after_present,
33 std::shared_ptr<EmbedderExternalViewEmbedder> external_view_embedder);
40 bool fbo_reset_after_present_;
42 std::shared_ptr<EmbedderExternalViewEmbedder> external_view_embedder_;
45 bool IsValid()
const override;
48 std::unique_ptr<Surface> CreateGPUSurface()
override;
54 std::unique_ptr<GLContextResult> GLContextMakeCurrent()
override;
57 bool GLContextClearCurrent()
override;
60 bool GLContextPresent(
const GLPresentInfo& present_info)
override;
66 bool GLContextFBOResetAfterPresent()
const override;
69 SkMatrix GLContextSurfaceTransformation()
const override;
~EmbedderSurfaceGLSkia() override
EmbedderSurfaceGLSkia(GLDispatchTable gl_dispatch_table, bool fbo_reset_after_present, std::shared_ptr< EmbedderExternalViewEmbedder > external_view_embedder)
std::function< void *(const char *)> GLProcResolver
Dart_NativeFunction function
std::function< bool(void)> gl_clear_current_callback
std::function< GLFBOInfo(intptr_t)> gl_populate_existing_damage
std::function< bool(void)> gl_make_current_callback
std::function< intptr_t(GLFrameInfo)> gl_fbo_callback
std::function< bool(GLPresentInfo)> gl_present_callback
std::function< bool(void)> gl_make_resource_current_callback
std::function< void *(const char *)> gl_proc_resolver
std::function< SkMatrix(void)> gl_surface_transformation_callback