5#ifndef FLUTTER_IMPELLER_TOOLKIT_ANDROID_SURFACE_CONTROL_H_
6#define FLUTTER_IMPELLER_TOOLKIT_ANDROID_SURFACE_CONTROL_H_
8#include "flutter/fml/unique_object.h"
41 const char* debug_name =
nullptr);
72 struct UniqueASurfaceControlTraits {
73 static ASurfaceControl* InvalidValue() {
return nullptr; }
76 return value != InvalidValue();
79 static void Free(ASurfaceControl*
value) {
A wrapper for ASurfaceControl. https://developer.android.com/ndk/reference/group/native-activity#asur...
SurfaceControl(const SurfaceControl &)=delete
~SurfaceControl()
Removes the surface control from the presentation hierarchy managed by the system compositor and rele...
SurfaceControl(ANativeWindow *window, const char *debug_name=nullptr)
Creates a new surface control and adds it as a child of the given window.
static bool IsAvailableOnPlatform()
bool RemoveFromParent() const
Remove the surface control from the hierarchy of nodes presented by the system compositor.
SurfaceControl & operator=(const SurfaceControl &)=delete
ASurfaceControl * GetHandle() const
static void Free(FreeList *free_list, uword address, intptr_t size, bool is_protected)
const ProcTable & GetProcTable()
struct ANativeWindow ANativeWindow