ListenableGlesRenderer
abstract class ListenableGlesRenderer : Renderer.GlesRenderer
| kotlin.Any | |||
| ↳ | androidx.wear.watchface.Renderer | ||
| ↳ | androidx.wear.watchface.Renderer.GlesRenderer | ||
| ↳ | androidx.wear.watchface.ListenableGlesRenderer |
ListenableFuture-based compatibility wrapper around Renderer.GlesRenderer's suspending methods.
Summary
Public constructors |
|---|
This function is deprecated. Use ListenableGlesRenderer2 instead |
Public functions |
|
|---|---|
open suspend Unit |
This function is deprecated. Use ListenableGlesRenderer2 instead |
open suspend Unit |
This function is deprecated. Use ListenableGlesRenderer2 instead |
Unit |
@WorkerThreadThis function is deprecated. Use ListenableGlesRenderer2 instead |
Unit |
@UiThreadThis function is deprecated. Use ListenableGlesRenderer2 instead |
Protected functions |
|
|---|---|
open ListenableFuture<Unit> |
This function is deprecated. Use ListenableGlesRenderer2 instead |
open ListenableFuture<Unit> |
This function is deprecated. Use ListenableGlesRenderer2 instead |
Inherited functions |
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
||||||||||||
|
Inherited properties |
||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
||||||||||||||||
|
Public constructors
ListenableGlesRenderer(
surfaceHolder: SurfaceHolder,
currentUserStyleRepository: CurrentUserStyleRepository,
watchState: WatchState,
interactiveDrawModeUpdateDelayMillis: @IntRange(from = 0, to = 60000) Long,
eglConfigAttribList: IntArray = EGL_CONFIG_ATTRIB_LIST,
eglSurfaceAttribList: IntArray = EGL_SURFACE_ATTRIB_LIST
)
Public functions
open suspend funonBackgroundThreadGlContextCreated(): Unit
Called once a background thread when a new GL context is created on the background thread, before any subsequent calls to render. Note this function is called inside a lambda passed to runBackgroundThreadGlCommands which has synchronized access to the GL context.
If you need to override this method in java, consider using androidx.wear.watchface.ListenableGlesRenderer instead.
open suspend funonUiThreadGlSurfaceCreated(width: @Px Int, height: @Px Int): Unit
Called when a new GL surface is created on the UiThread, before any subsequent calls to render or in response to SurfaceHolder.Callback.surfaceChanged. Note this function is called inside a lambda passed to runUiThreadGlCommands which has synchronized access to the GL context.
If you need to override this method in java, consider using androidx.wear.watchface.ListenableGlesRenderer instead.
@WorkerThread
funrunBackgroundThreadGlCommands(runnable: Runnable): Unit
Inside of a Mutex this function sets the GL context associated with the WatchFaceService.getBackgroundThreadHandler's looper thread as the current one, executes runnable and finally unsets the GL context.
Access to the GL context this way is necessary because GL contexts are not shared between renderers and there can be multiple watch face instances existing concurrently (e.g. headless and interactive, potentially from different watch faces if an APK contains more than one WatchFaceService).
NB this function is called by the library before running runBackgroundThreadGlCommands so there's no need to use this directly in client code unless you need to make GL calls outside of those methods.
| Throws | |
|---|---|
kotlin.IllegalStateException |
if the calls to |
@UiThread
funrunUiThreadGlCommands(runnable: Runnable): Unit
Inside of a Mutex this function sets the UiThread GL context as the current one, executes runnable and finally unsets the GL context.
Access to the GL context this way is necessary because GL contexts are not shared between renderers and there can be multiple watch face instances existing concurrently (e.g. headless and interactive, potentially from different watch faces if an APK contains more than one WatchFaceService).
| Throws | |
|---|---|
kotlin.IllegalStateException |
if the calls to |
Protected functions
protected open funonBackgroundThreadGlContextCreatedFuture(): ListenableFuture<Unit>
Called once a background thread when a new GL context is created on the background thread, before any subsequent calls to render. Note this function is called inside a lambda passed to runBackgroundThreadGlCommands which has synchronized access to the GL context. Note cancellation of the returned future is not supported.
| Returns | |
|---|---|
ListenableFuture<Unit> |
A ListenableFuture |
@UiThread
protected open funonUiThreadGlSurfaceCreatedFuture(width: @Px Int, height: @Px Int): ListenableFuture<Unit>
Called when a new GL surface is created on the UiThread, before any subsequent calls to render and in response to SurfaceHolder.Callback.surfaceChanged. Note this function is called inside a lambda passed to Renderer.GlesRenderer.runUiThreadGlCommands which has synchronized access to the GL context. Note cancellation of the returned future is not supported.
| Returns | |
|---|---|
ListenableFuture<Unit> |
A ListenableFuture |