Flutter Engine
The Flutter Engine
|
A wrapper for ASurfaceControl. https://developer.android.com/ndk/reference/group/native-activity#asurfacecontrol. More...
#include <surface_control.h>
Public Member Functions | |
SurfaceControl (ANativeWindow *window, const char *debug_name=nullptr) | |
Creates a new surface control and adds it as a child of the given window. More... | |
~SurfaceControl () | |
Removes the surface control from the presentation hierarchy managed by the system compositor and release the client side reference to the control. At this point, it may be collected when the compositor is also done using it. More... | |
SurfaceControl (const SurfaceControl &)=delete | |
SurfaceControl & | operator= (const SurfaceControl &)=delete |
bool | IsValid () const |
ASurfaceControl * | GetHandle () const |
bool | RemoveFromParent () const |
Remove the surface control from the hierarchy of nodes presented by the system compositor. More... | |
Static Public Member Functions | |
static bool | IsAvailableOnPlatform () |
A wrapper for ASurfaceControl. https://developer.android.com/ndk/reference/group/native-activity#asurfacecontrol.
Instances of this class represent a node in the hierarchy of surfaces sent to the system compositor for final composition.
This wrapper is only available on Android API 29 and above.
Definition at line 22 of file surface_control.h.
|
explicit |
Creates a new surface control and adds it as a child of the given window.
window | The window | |
[in] | debug_name | A debug name. See it using adb shell dumpsys SurfaceFlinger along with other control properties. If no debug name is specified, the value "Impeller Layer" is used. |
Definition at line 13 of file surface_control.cc.
impeller::android::SurfaceControl::~SurfaceControl | ( | ) |
Removes the surface control from the presentation hierarchy managed by the system compositor and release the client side reference to the control. At this point, it may be collected when the compositor is also done using it.
Definition at line 25 of file surface_control.cc.
|
delete |
ASurfaceControl * impeller::android::SurfaceControl::GetHandle | ( | ) | const |
Definition at line 36 of file surface_control.cc.
|
static |
true
if any surface controls can be created on this platform. Definition at line 51 of file surface_control.cc.
bool impeller::android::SurfaceControl::IsValid | ( | ) | const |
Definition at line 32 of file surface_control.cc.
|
delete |
bool impeller::android::SurfaceControl::RemoveFromParent | ( | ) | const |
Remove the surface control from the hierarchy of nodes presented by the system compositor.
This is called implicitly when the surface control is collected.
true
If the control will be removed from the hierarchy of nodes presented by the system compositor. Definition at line 40 of file surface_control.cc.