13 const char* debug_name) {
18 if (debug_name ==
nullptr) {
19 debug_name =
"Impeller Layer";
27 VALIDATION_LOG <<
"Surface control could not be removed from its parent. "
37 return control_.
get();
45 if (!transaction.
SetParent(*
this,
nullptr)) {
48 return transaction.
Apply();
void reset(const T &value=Traits::InvalidValue())
SurfaceControlImpl(const SurfaceControlImpl &)=delete
ASurfaceControl * GetHandle() const override
bool IsValid() const override
virtual ~SurfaceControlImpl()
bool RemoveFromParent() const override
Remove the surface control from the hierarchy of nodes presented by the system compositor.
A wrapper for ASurfaceTransaction. https://developer.android.com/ndk/reference/group/native-activity#...
bool Apply(OnCompleteCallback callback=nullptr)
Applies the updated encoded in the transaction and invokes the callback when the updated are complete...
bool SetParent(const SurfaceControl &control, const SurfaceControl *new_parent=nullptr)
Set the new parent control of the given control. If the new parent is null, it is removed from the co...
const ProcTable & GetProcTable()
struct ANativeWindow ANativeWindow