diff options
Diffstat (limited to 'include/gui/SurfaceControl.h')
-rw-r--r-- | include/gui/SurfaceControl.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/gui/SurfaceControl.h b/include/gui/SurfaceControl.h index 8d338f98a8..58ec6dce2a 100644 --- a/include/gui/SurfaceControl.h +++ b/include/gui/SurfaceControl.h @@ -93,6 +93,18 @@ public: // Reparents all children of this layer to the new parent handle. status_t reparentChildren(const sp<IBinder>& newParentHandle); + // Detaches all child surfaces (and their children recursively) + // from their SurfaceControl. + // The child SurfaceControl's will not throw exceptions or return errors, + // but transactions will have no effect. + // The child surfaces will continue to follow their parent surfaces, + // and remain eligible for rendering, but their relative state will be + // frozen. We use this in the WindowManager, in app shutdown/relaunch + // scenarios, where the app would otherwise clean up its child Surfaces. + // Sometimes the WindowManager needs to extend their lifetime slightly + // in order to perform an exit animation or prevent flicker. + status_t detachChildren(); + // Set an override scaling mode as documented in <system/window.h> // the override scaling mode will take precedence over any client // specified scaling mode. -1 will clear the override scaling mode. |