5#ifndef FLUTTER_SHELL_PLATFORM_ANDROID_EXTERNAL_VIEW_EMBEDDER_SURFACE_POOL_H_
6#define FLUTTER_SHELL_PLATFORM_ANDROID_EXTERNAL_VIEW_EMBEDDER_SURFACE_POOL_H_
10#include "flutter/flow/surface.h"
11#include "flutter/shell/platform/android/context/android_context.h"
12#include "flutter/shell/platform/android/surface/android_surface.h"
25 std::unique_ptr<Surface>
surface);
55 std::shared_ptr<OverlayLayer>
GetLayer(
58 const std::shared_ptr<PlatformViewAndroidJNI>& jni_facade,
59 const std::shared_ptr<AndroidSurfaceFactory>& surface_factory);
69 void DestroyLayers(
const std::shared_ptr<PlatformViewAndroidJNI>& jni_facade);
92 size_t available_layer_index_ = 0;
95 std::vector<std::shared_ptr<OverlayLayer>> layers_;
106 void DestroyLayersLocked(
107 const std::shared_ptr<PlatformViewAndroidJNI>& jni_facade);
Holds state that is shared across Android surfaces.
void DestroyLayers(const std::shared_ptr< PlatformViewAndroidJNI > &jni_facade)
void SetFrameSize(SkISize frame_size)
std::vector< std::shared_ptr< OverlayLayer > > GetUnusedLayers()
std::shared_ptr< OverlayLayer > GetLayer(GrDirectContext *gr_context, const AndroidContext &android_context, const std::shared_ptr< PlatformViewAndroidJNI > &jni_facade, const std::shared_ptr< AndroidSurfaceFactory > &surface_factory)
const std::unique_ptr< AndroidSurface > android_surface
std::unique_ptr< Surface > surface
OverlayLayer(int id, std::unique_ptr< AndroidSurface > android_surface, std::unique_ptr< Surface > surface)