public
class
Gles2WatchFaceService.Engine
extends WatchFaceService.Engine
java.lang.Object | |||
↳ | android.service.wallpaper.WallpaperService.Engine | ||
↳ | android.support.wearable.watchface.WatchFaceService.Engine | ||
↳ | android.support.wearable.watchface.Gles2WatchFaceService.Engine |
The actual implementation of a watch face that draws using OpenGL ES 2.0. You must implement
onCreateEngine()
to return your concrete Engine
implementation.
Public constructors | |
---|---|
Gles2WatchFaceService.Engine()
|
Public methods | |
---|---|
EGLConfig
|
chooseEglConfig(EGLDisplay eglDisplay)
Returns the desired EGL config to use. |
EGLContext
|
createEglContext(EGLDisplay eglDisplay, EGLConfig eglConfig)
Creates the EGL context and returns it. |
EGLSurface
|
createWindowSurface(EGLDisplay eglDisplay, EGLConfig eglConfig, SurfaceHolder surfaceHolder)
Creates and returns a new EGL window surface for |
EGLDisplay
|
initializeEglDisplay()
Initializes the display. |
final
void
|
invalidate()
Schedules a call to |
void
|
onApplyWindowInsets(WindowInsets insets)
|
void
|
onCreate(SurfaceHolder surfaceHolder)
|
void
|
onDestroy()
|
void
|
onDraw()
Draws the watch face. |
void
|
onGlContextCreated()
Called when a new GL context is created. |
void
|
onGlSurfaceCreated(int width, int height)
Called when a new GL surface is created. |
final
void
|
onSurfaceChanged(SurfaceHolder holder, int format, int width, int height)
|
final
void
|
onSurfaceDestroyed(SurfaceHolder holder)
|
final
void
|
onSurfaceRedrawNeeded(SurfaceHolder holder)
|
final
void
|
postInvalidate()
Posts a message to schedule a call to |
Inherited methods | |
---|---|
From
class
android.support.wearable.watchface.WatchFaceService.Engine
| |
From
class
android.service.wallpaper.WallpaperService.Engine
| |
From
class
java.lang.Object
|
Gles2WatchFaceService.Engine ()
EGLConfig chooseEglConfig (EGLDisplay eglDisplay)
Returns the desired EGL config to use. By default, uses a config that:
Watch faces can override this method to call eglChooseConfig(EGLDisplay, int[], int, EGLConfig[], int, int, int[], int)
with
different attributes. By passing in a large array, eglChooseConfig
can return
multiple matching configs and the watch face can choose among them by using
eglGetConfigAttrib(EGLDisplay, EGLConfig, int, int[], int)
to fetch their attributes.
Parameters | |
---|---|
eglDisplay |
EGLDisplay :
the EGL display to use |
Returns | |
---|---|
EGLConfig |
the EGL config to use |
EGLContext createEglContext (EGLDisplay eglDisplay, EGLConfig eglConfig)
Creates the EGL context and returns it. By default, creates an EGL 2.0 context using
eglCreateContext(EGLDisplay, EGLConfig, EGLContext, int[], int)
.
Watch faces can override this method to call eglCreateContext(EGLDisplay, EGLConfig, EGLContext, int[], int)
with
different attributes.
Parameters | |
---|---|
eglDisplay |
EGLDisplay
|
eglConfig |
EGLConfig
|
Returns | |
---|---|
EGLContext |
EGLSurface createWindowSurface (EGLDisplay eglDisplay, EGLConfig eglConfig, SurfaceHolder surfaceHolder)
Creates and returns a new EGL window surface for surfaceHolder
. By default, this
surface has no attributes.
Watch faces can override this method to call eglCreateWindowSurface(EGLDisplay, EGLConfig, Object, int[], int)
with
different attributes.
Parameters | |
---|---|
eglDisplay |
EGLDisplay
|
eglConfig |
EGLConfig
|
surfaceHolder |
SurfaceHolder
|
Returns | |
---|---|
EGLSurface |
EGLDisplay initializeEglDisplay ()
Initializes the display. Calls eglGetDisplay(int)
and
eglInitialize(EGLDisplay, int[], int, int[], int)
.
Returns | |
---|---|
EGLDisplay |
the initialized EGLDisplay to use |
void invalidate ()
Schedules a call to onDraw()
to draw the next frame. Must be called on the main
thread.
void onApplyWindowInsets (WindowInsets insets)
Parameters | |
---|---|
insets |
WindowInsets
|
void onCreate (SurfaceHolder surfaceHolder)
Parameters | |
---|---|
surfaceHolder |
SurfaceHolder
|
void onDestroy ()
void onDraw ()
Draws the watch face. It's safe to use GL APIs in this method.
void onGlContextCreated ()
Called when a new GL context is created. It's safe to use GL APIs in this method.
void onGlSurfaceCreated (int width, int height)
Called when a new GL surface is created. It's safe to use GL APIs in this method.
Parameters | |
---|---|
width |
int :
width of surface in pixels |
height |
int :
height of surface in pixels
|
void onSurfaceChanged (SurfaceHolder holder, int format, int width, int height)
Parameters | |
---|---|
holder |
SurfaceHolder
|
format |
int
|
width |
int
|
height |
int
|
void onSurfaceDestroyed (SurfaceHolder holder)
Parameters | |
---|---|
holder |
SurfaceHolder
|
void onSurfaceRedrawNeeded (SurfaceHolder holder)
Parameters | |
---|---|
holder |
SurfaceHolder
|
void postInvalidate ()
Posts a message to schedule a call to onDraw()
to draw the next frame. Unlike
invalidate()
, this method is thread-safe and may be called on any thread.