public interface RenderSurface
Surface that FlutterRenderer would like to paint.
RenderSurface is responsible for providing a Surface to a given FlutterRenderer when requested, and then notify that FlutterRenderer when the Surface changes, or is destroyed.
The behavior of providing a Surface is delegated to this interface because the timing
of a Surface's availability is determined by Android. Therefore, an accessor method would
not fulfill the requirements. Therefore, a RenderSurface is given a FlutterRenderer, which the RenderSurface is expected to notify as a Surface
becomes available, changes, or is destroyed.
| Modifier and Type | Method and Description |
|---|---|
void |
attachToRenderer(FlutterRenderer renderer)
Instructs this
RenderSurface to give its Surface to the given FlutterRenderer so that Flutter can paint pixels on it. |
void |
detachFromRenderer()
Instructs this
RenderSurface to stop forwarding Surface notifications to the
FlutterRenderer that was previously connected with attachToRenderer(FlutterRenderer). |
FlutterRenderer |
getAttachedRenderer()
Returns the
FlutterRenderer that is attached to this RenderSurface, or null if
no FlutterRenderer is currently attached. |
void |
pause()
Instructs this
RenderSurface to stop forwarding Surface notifications to the
FlutterRenderer that was previously connected with attachToRenderer(FlutterRenderer). |
@Nullable FlutterRenderer getAttachedRenderer()
FlutterRenderer that is attached to this RenderSurface, or null if
no FlutterRenderer is currently attached.void attachToRenderer(@NonNull
FlutterRenderer renderer)
RenderSurface to give its Surface to the given FlutterRenderer so that Flutter can paint pixels on it.
After this call, RenderSurface is expected to invoke the following methods on FlutterRenderer at the appropriate times:
void detachFromRenderer()
RenderSurface to stop forwarding Surface notifications to the
FlutterRenderer that was previously connected with attachToRenderer(FlutterRenderer).
This RenderSurface should also clean up any references related to the previously
connected FlutterRenderer.
void pause()
RenderSurface to stop forwarding Surface notifications to the
FlutterRenderer that was previously connected with attachToRenderer(FlutterRenderer).