1// Signature format: 4.0 2package androidx.graphics { 3 4 @RequiresApi(android.os.Build.VERSION_CODES.Q) public final class CanvasBufferedRenderer implements java.lang.AutoCloseable { 5 method public void close(); 6 method public int getBufferFormat(); 7 method public int getMaxBuffers(); 8 method public long getUsageFlags(); 9 method public boolean isClosed(); 10 method public androidx.graphics.CanvasBufferedRenderer.RenderRequest obtainRenderRequest(); 11 method public void releaseBuffer(android.hardware.HardwareBuffer hardwareBuffer); 12 method public void releaseBuffer(android.hardware.HardwareBuffer hardwareBuffer, optional androidx.hardware.SyncFenceCompat? fence); 13 method public void setContentRoot(android.graphics.RenderNode renderNode); 14 method public void setLightSourceAlpha(float ambientShadowAlpha, float spotShadowAlpha); 15 method public void setLightSourceGeometry(float lightX, float lightY, float lightZ, float lightRadius); 16 property public int bufferFormat; 17 property public boolean isClosed; 18 property public int maxBuffers; 19 property public long usageFlags; 20 } 21 22 public static final class CanvasBufferedRenderer.Builder { 23 ctor public CanvasBufferedRenderer.Builder(int width, int height); 24 method public androidx.graphics.CanvasBufferedRenderer build(); 25 method public androidx.graphics.CanvasBufferedRenderer.Builder setBufferFormat(int format); 26 method public androidx.graphics.CanvasBufferedRenderer.Builder setMaxBuffers(@IntRange(from=1L, to=64L) int numBuffers); 27 method public androidx.graphics.CanvasBufferedRenderer.Builder setUsageFlags(long usageFlags); 28 } 29 30 public final class CanvasBufferedRenderer.RenderRequest { 31 method public suspend Object? draw(optional boolean waitForFence, kotlin.coroutines.Continuation<? super androidx.graphics.CanvasBufferedRenderer.RenderResult>); 32 method public void drawAsync(java.util.concurrent.Executor executor, androidx.core.util.Consumer<androidx.graphics.CanvasBufferedRenderer.RenderResult> callback); 33 method public androidx.graphics.CanvasBufferedRenderer.RenderRequest preserveContents(boolean preserve); 34 method public androidx.graphics.CanvasBufferedRenderer.RenderRequest setBufferTransform(int bufferTransform); 35 method public androidx.graphics.CanvasBufferedRenderer.RenderRequest setColorSpace(android.graphics.ColorSpace? colorSpace); 36 } 37 38 public static final class CanvasBufferedRenderer.RenderResult { 39 ctor public CanvasBufferedRenderer.RenderResult(android.hardware.HardwareBuffer buffer, androidx.hardware.SyncFenceCompat? mFence, int mStatus); 40 method public androidx.hardware.SyncFenceCompat? getFence(); 41 method public android.hardware.HardwareBuffer getHardwareBuffer(); 42 method public int getStatus(); 43 property public androidx.hardware.SyncFenceCompat? fence; 44 property public android.hardware.HardwareBuffer hardwareBuffer; 45 property public int status; 46 field public static final androidx.graphics.CanvasBufferedRenderer.RenderResult.Companion Companion; 47 field public static final int ERROR_UNKNOWN = 1; // 0x1 48 field public static final int SUCCESS = 0; // 0x0 49 } 50 51 public static final class CanvasBufferedRenderer.RenderResult.Companion { 52 property public static int ERROR_UNKNOWN; 53 property public static int SUCCESS; 54 } 55 56} 57 58package androidx.graphics.lowlatency { 59 60 public final class BufferInfo { 61 method public int getFrameBufferId(); 62 method public int getHeight(); 63 method public int getWidth(); 64 property public int frameBufferId; 65 property public int height; 66 property public int width; 67 } 68 69 @RequiresApi(android.os.Build.VERSION_CODES.Q) public final class CanvasFrontBufferedRenderer<T> { 70 ctor public CanvasFrontBufferedRenderer(android.view.SurfaceView surfaceView, androidx.graphics.lowlatency.CanvasFrontBufferedRenderer.Callback<T> callback); 71 ctor public CanvasFrontBufferedRenderer(android.view.SurfaceView surfaceView, androidx.graphics.lowlatency.CanvasFrontBufferedRenderer.Callback<T> callback, optional int bufferFormat); 72 method public void cancel(); 73 method public void clear(); 74 method public void commit(); 75 method public int getBufferFormat(); 76 method public android.graphics.ColorSpace getColorSpace(); 77 method public boolean isValid(); 78 method public void release(boolean cancelPending); 79 method public void release(boolean cancelPending, optional kotlin.jvm.functions.Function0<kotlin.Unit>? onReleaseComplete); 80 method public void renderFrontBufferedLayer(T param); 81 method public void renderMultiBufferedLayer(java.util.Collection<? extends T> params); 82 method public void setColorSpace(android.graphics.ColorSpace); 83 property public int bufferFormat; 84 property public android.graphics.ColorSpace colorSpace; 85 } 86 87 @kotlin.jvm.JvmDefaultWithCompatibility public static interface CanvasFrontBufferedRenderer.Callback<T> { 88 method @WorkerThread public void onDrawFrontBufferedLayer(android.graphics.Canvas canvas, int bufferWidth, int bufferHeight, T param); 89 method @WorkerThread public void onDrawMultiBufferedLayer(android.graphics.Canvas canvas, int bufferWidth, int bufferHeight, java.util.Collection<? extends T> params); 90 method @WorkerThread public default void onFrontBufferedLayerRenderComplete(androidx.graphics.surface.SurfaceControlCompat frontBufferedLayerSurfaceControl, androidx.graphics.surface.SurfaceControlCompat.Transaction transaction); 91 method @WorkerThread public default void onMultiBufferedLayerRenderComplete(androidx.graphics.surface.SurfaceControlCompat frontBufferedLayerSurfaceControl, androidx.graphics.surface.SurfaceControlCompat multiBufferedLayerSurfaceControl, androidx.graphics.surface.SurfaceControlCompat.Transaction transaction); 92 } 93 94 public final class FrontBufferSyncStrategy implements androidx.graphics.opengl.SyncStrategy { 95 ctor public FrontBufferSyncStrategy(long usageFlags); 96 method public androidx.hardware.SyncFenceCompat? createSyncFence(androidx.graphics.opengl.egl.EGLSpec eglSpec); 97 method public boolean isVisible(); 98 method public void setVisible(boolean); 99 property public boolean isVisible; 100 } 101 102 @RequiresApi(android.os.Build.VERSION_CODES.Q) public final class GLFrontBufferedRenderer<T> { 103 ctor public GLFrontBufferedRenderer(android.view.SurfaceView surfaceView, androidx.graphics.lowlatency.GLFrontBufferedRenderer.Callback<T> callback); 104 ctor public GLFrontBufferedRenderer(android.view.SurfaceView surfaceView, androidx.graphics.lowlatency.GLFrontBufferedRenderer.Callback<T> callback, optional androidx.graphics.opengl.GLRenderer? glRenderer); 105 ctor public GLFrontBufferedRenderer(android.view.SurfaceView surfaceView, androidx.graphics.lowlatency.GLFrontBufferedRenderer.Callback<T> callback, optional androidx.graphics.opengl.GLRenderer? glRenderer, optional int bufferFormat); 106 method public void cancel(); 107 method public void clear(); 108 method public void commit(); 109 method public void execute(Runnable runnable); 110 method public int getBufferFormat(); 111 method public boolean isValid(); 112 method public void release(boolean cancelPending); 113 method public void release(boolean cancelPending, optional kotlin.jvm.functions.Function0<kotlin.Unit>? onReleaseComplete); 114 method public void renderFrontBufferedLayer(T param); 115 method public void renderMultiBufferedLayer(java.util.Collection<? extends T> params); 116 property public int bufferFormat; 117 } 118 119 @kotlin.jvm.JvmDefaultWithCompatibility public static interface GLFrontBufferedRenderer.Callback<T> { 120 method @WorkerThread public void onDrawFrontBufferedLayer(androidx.graphics.opengl.egl.EGLManager eglManager, int width, int height, androidx.graphics.lowlatency.BufferInfo bufferInfo, float[] transform, T param); 121 method @WorkerThread public void onDrawMultiBufferedLayer(androidx.graphics.opengl.egl.EGLManager eglManager, int width, int height, androidx.graphics.lowlatency.BufferInfo bufferInfo, float[] transform, java.util.Collection<? extends T> params); 122 method @WorkerThread public default void onFrontBufferedLayerRenderComplete(androidx.graphics.surface.SurfaceControlCompat frontBufferedLayerSurfaceControl, androidx.graphics.surface.SurfaceControlCompat.Transaction transaction); 123 method @WorkerThread public default void onMultiBufferedLayerRenderComplete(androidx.graphics.surface.SurfaceControlCompat frontBufferedLayerSurfaceControl, androidx.graphics.surface.SurfaceControlCompat multiBufferedLayerSurfaceControl, androidx.graphics.surface.SurfaceControlCompat.Transaction transaction); 124 } 125 126 @RequiresApi(android.os.Build.VERSION_CODES.Q) public final class LowLatencyCanvasView extends android.view.ViewGroup { 127 ctor public LowLatencyCanvasView(android.content.Context context); 128 ctor public LowLatencyCanvasView(android.content.Context context, optional android.util.AttributeSet? attrs); 129 ctor public LowLatencyCanvasView(android.content.Context context, optional android.util.AttributeSet? attrs, optional int defStyle); 130 method public void cancel(); 131 method public void clear(); 132 method public void commit(); 133 method public void execute(Runnable runnable); 134 method public void renderFrontBufferedLayer(); 135 method public void setRenderCallback(androidx.graphics.lowlatency.LowLatencyCanvasView.Callback? callback); 136 } 137 138 @kotlin.jvm.JvmDefaultWithCompatibility public static interface LowLatencyCanvasView.Callback { 139 method @WorkerThread public void onDrawFrontBufferedLayer(android.graphics.Canvas canvas, int width, int height); 140 method @WorkerThread public default void onFrontBufferedLayerRenderComplete(androidx.graphics.surface.SurfaceControlCompat frontBufferedLayerSurfaceControl, androidx.graphics.surface.SurfaceControlCompat.Transaction transaction); 141 method @WorkerThread public void onRedrawRequested(android.graphics.Canvas canvas, int width, int height); 142 } 143 144} 145 146package androidx.graphics.opengl { 147 148 @RequiresApi(android.os.Build.VERSION_CODES.O) public final class FrameBuffer implements java.lang.AutoCloseable { 149 ctor public FrameBuffer(androidx.graphics.opengl.egl.EGLSpec egl, android.hardware.HardwareBuffer hardwareBuffer); 150 method public void close(); 151 method public android.hardware.HardwareBuffer getHardwareBuffer(); 152 method public boolean isClosed(); 153 method public void makeCurrent(); 154 property public android.hardware.HardwareBuffer hardwareBuffer; 155 property public boolean isClosed; 156 } 157 158 @RequiresApi(android.os.Build.VERSION_CODES.O) public final class FrameBufferRenderer implements androidx.graphics.opengl.GLRenderer.RenderCallback { 159 ctor public FrameBufferRenderer(androidx.graphics.opengl.FrameBufferRenderer.RenderCallback frameBufferRendererCallbacks, optional androidx.graphics.opengl.SyncStrategy syncStrategy); 160 method public void clear(); 161 method public void onDrawFrame(androidx.graphics.opengl.egl.EGLManager eglManager); 162 } 163 164 public static interface FrameBufferRenderer.RenderCallback { 165 method public androidx.graphics.opengl.FrameBuffer obtainFrameBuffer(androidx.graphics.opengl.egl.EGLSpec egl); 166 method public void onDraw(androidx.graphics.opengl.egl.EGLManager eglManager); 167 method public void onDrawComplete(androidx.graphics.opengl.FrameBuffer frameBuffer, androidx.hardware.SyncFenceCompat? syncFenceCompat); 168 } 169 170 @RequiresApi(android.os.Build.VERSION_CODES.Q) public final class GLFrameBufferRenderer { 171 method public void execute(Runnable runnable); 172 method public int getBufferFormat(); 173 method public androidx.graphics.opengl.GLRenderer getGLRenderer(); 174 method public int getMaxBuffers(); 175 method public androidx.graphics.opengl.SyncStrategy getSyncStrategy(); 176 method public long getUsageFlags(); 177 method public boolean isValid(); 178 method public void release(boolean cancelPending); 179 method public void release(boolean cancelPending, optional kotlin.jvm.functions.Function0<kotlin.Unit>? onReleaseCallback); 180 method public void render(); 181 property public int bufferFormat; 182 property public androidx.graphics.opengl.GLRenderer glRenderer; 183 property public int maxBuffers; 184 property public androidx.graphics.opengl.SyncStrategy syncStrategy; 185 property public long usageFlags; 186 } 187 188 public static final class GLFrameBufferRenderer.Builder { 189 ctor public GLFrameBufferRenderer.Builder(android.view.SurfaceView surfaceView, androidx.graphics.opengl.GLFrameBufferRenderer.Callback callback); 190 method public androidx.graphics.opengl.GLFrameBufferRenderer build(); 191 method public androidx.graphics.opengl.GLFrameBufferRenderer.Builder setBufferFormat(int format); 192 method public androidx.graphics.opengl.GLFrameBufferRenderer.Builder setGLRenderer(androidx.graphics.opengl.GLRenderer? glRenderer); 193 method public androidx.graphics.opengl.GLFrameBufferRenderer.Builder setMaxBuffers(@IntRange(from=1L, to=64L) int numBuffers); 194 method public androidx.graphics.opengl.GLFrameBufferRenderer.Builder setSyncStrategy(androidx.graphics.opengl.SyncStrategy syncStrategy); 195 method public androidx.graphics.opengl.GLFrameBufferRenderer.Builder setUsageFlags(long usageFlags); 196 } 197 198 public static interface GLFrameBufferRenderer.Callback { 199 method @WorkerThread public default void onBufferReleased(androidx.graphics.opengl.FrameBuffer frameBuffer, androidx.hardware.SyncFenceCompat? releaseFence); 200 method @WorkerThread public default void onDrawComplete(androidx.graphics.surface.SurfaceControlCompat targetSurfaceControl, androidx.graphics.surface.SurfaceControlCompat.Transaction transaction, androidx.graphics.opengl.FrameBuffer frameBuffer, androidx.hardware.SyncFenceCompat? syncFence); 201 method @WorkerThread public void onDrawFrame(androidx.graphics.opengl.egl.EGLManager eglManager, int width, int height, androidx.graphics.lowlatency.BufferInfo bufferInfo, float[] transform); 202 } 203 204 public final class GLRenderer { 205 ctor public GLRenderer(); 206 ctor public GLRenderer(optional kotlin.jvm.functions.Function0<? extends androidx.graphics.opengl.egl.EGLSpec> eglSpecFactory, optional kotlin.jvm.functions.Function1<? super androidx.graphics.opengl.egl.EGLManager,? extends android.opengl.EGLConfig> eglConfigFactory); 207 method public androidx.graphics.opengl.GLRenderer.RenderTarget attach(android.view.Surface surface, int width, int height, androidx.graphics.opengl.GLRenderer.RenderCallback renderer); 208 method public androidx.graphics.opengl.GLRenderer.RenderTarget attach(android.view.SurfaceView surfaceView, androidx.graphics.opengl.GLRenderer.RenderCallback renderer); 209 method public androidx.graphics.opengl.GLRenderer.RenderTarget attach(android.view.TextureView textureView, androidx.graphics.opengl.GLRenderer.RenderCallback renderer); 210 method public androidx.graphics.opengl.GLRenderer.RenderTarget createRenderTarget(int width, int height, androidx.graphics.opengl.GLRenderer.RenderCallback renderer); 211 method public void detach(androidx.graphics.opengl.GLRenderer.RenderTarget target, boolean cancelPending); 212 method public void detach(androidx.graphics.opengl.GLRenderer.RenderTarget target, boolean cancelPending, optional @WorkerThread kotlin.jvm.functions.Function1<? super androidx.graphics.opengl.GLRenderer.RenderTarget,kotlin.Unit>? onDetachComplete); 213 method public void execute(Runnable runnable); 214 method public boolean isRunning(); 215 method public void registerEGLContextCallback(androidx.graphics.opengl.GLRenderer.EGLContextCallback callback); 216 method public void requestRender(androidx.graphics.opengl.GLRenderer.RenderTarget target); 217 method public void requestRender(androidx.graphics.opengl.GLRenderer.RenderTarget target, optional kotlin.jvm.functions.Function1<? super androidx.graphics.opengl.GLRenderer.RenderTarget,kotlin.Unit>? onRenderComplete); 218 method public void resize(androidx.graphics.opengl.GLRenderer.RenderTarget target, int width, int height); 219 method public void resize(androidx.graphics.opengl.GLRenderer.RenderTarget target, int width, int height, optional kotlin.jvm.functions.Function1<? super androidx.graphics.opengl.GLRenderer.RenderTarget,kotlin.Unit>? onResizeComplete); 220 method public void start(); 221 method public void start(optional String name); 222 method public void stop(boolean cancelPending); 223 method public void stop(boolean cancelPending, optional kotlin.jvm.functions.Function1<? super androidx.graphics.opengl.GLRenderer,kotlin.Unit>? onStop); 224 method public void unregisterEGLContextCallback(androidx.graphics.opengl.GLRenderer.EGLContextCallback callback); 225 field public static final androidx.graphics.opengl.GLRenderer.Companion Companion; 226 } 227 228 public static final class GLRenderer.Companion { 229 } 230 231 public static interface GLRenderer.EGLContextCallback { 232 method @WorkerThread public void onEGLContextCreated(androidx.graphics.opengl.egl.EGLManager eglManager); 233 method @WorkerThread public void onEGLContextDestroyed(androidx.graphics.opengl.egl.EGLManager eglManager); 234 } 235 236 @kotlin.jvm.JvmDefaultWithCompatibility public static interface GLRenderer.RenderCallback { 237 method @WorkerThread public void onDrawFrame(androidx.graphics.opengl.egl.EGLManager eglManager); 238 method @WorkerThread public default android.opengl.EGLSurface? onSurfaceCreated(androidx.graphics.opengl.egl.EGLSpec spec, android.opengl.EGLConfig config, android.view.Surface surface, int width, int height); 239 } 240 241 public static final class GLRenderer.RenderTarget { 242 method public void detach(boolean cancelPending); 243 method public void detach(boolean cancelPending, optional kotlin.jvm.functions.Function1<? super androidx.graphics.opengl.GLRenderer.RenderTarget,kotlin.Unit>? onDetachComplete); 244 method public boolean isAttached(); 245 method public void requestRender(); 246 method public void requestRender(optional @WorkerThread kotlin.jvm.functions.Function1<? super androidx.graphics.opengl.GLRenderer.RenderTarget,kotlin.Unit>? onRenderComplete); 247 method public void resize(int width, int height); 248 method public void resize(int width, int height, optional @WorkerThread kotlin.jvm.functions.Function1<? super androidx.graphics.opengl.GLRenderer.RenderTarget,kotlin.Unit>? onResizeComplete); 249 } 250 251 public interface SyncStrategy { 252 method public androidx.hardware.SyncFenceCompat? createSyncFence(androidx.graphics.opengl.egl.EGLSpec eglSpec); 253 field public static final androidx.graphics.opengl.SyncStrategy ALWAYS; 254 field public static final androidx.graphics.opengl.SyncStrategy.Companion Companion; 255 } 256 257 public static final class SyncStrategy.Companion { 258 property public androidx.graphics.opengl.SyncStrategy ALWAYS; 259 } 260 261} 262 263package androidx.graphics.opengl.egl { 264 265 public final class EGLConfigAttributes { 266 method public int[] toArray(); 267 field public static final androidx.graphics.opengl.egl.EGLConfigAttributes.Companion Companion; 268 field public static final int EGL_COLOR_COMPONENT_TYPE_EXT = 13113; // 0x3339 269 field public static final int EGL_COLOR_COMPONENT_TYPE_FIXED_EXT = 13114; // 0x333a 270 field public static final int EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT = 13115; // 0x333b 271 field public static final androidx.graphics.opengl.egl.EGLConfigAttributes RGBA_1010102; 272 field public static final androidx.graphics.opengl.egl.EGLConfigAttributes RGBA_8888; 273 field public static final androidx.graphics.opengl.egl.EGLConfigAttributes RGBA_F16; 274 } 275 276 public static final class EGLConfigAttributes.Builder { 277 ctor public EGLConfigAttributes.Builder(); 278 method public androidx.graphics.opengl.egl.EGLConfigAttributes build(); 279 method public void include(androidx.graphics.opengl.egl.EGLConfigAttributes attributes); 280 method public androidx.graphics.opengl.egl.EGLConfigAttributes.Builder setAttribute(int attribute, int value); 281 method @kotlin.jvm.JvmSynthetic public infix void to(int, int that); 282 } 283 284 public static final class EGLConfigAttributes.Companion { 285 property public static int EGL_COLOR_COMPONENT_TYPE_EXT; 286 property public static int EGL_COLOR_COMPONENT_TYPE_FIXED_EXT; 287 property public static int EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT; 288 property public androidx.graphics.opengl.egl.EGLConfigAttributes RGBA_1010102; 289 property public androidx.graphics.opengl.egl.EGLConfigAttributes RGBA_8888; 290 property public androidx.graphics.opengl.egl.EGLConfigAttributes RGBA_F16; 291 } 292 293 public final class EGLConfigAttributesKt { 294 method @kotlin.jvm.JvmSynthetic public static inline androidx.graphics.opengl.egl.EGLConfigAttributes EGLConfigAttributes(kotlin.jvm.functions.Function1<? super androidx.graphics.opengl.egl.EGLConfigAttributes.Builder,kotlin.Unit> block); 295 } 296 297 public final class EGLException extends java.lang.RuntimeException { 298 ctor public EGLException(int error, optional String msg); 299 method public int getError(); 300 method public String getMsg(); 301 property public int error; 302 property public String message; 303 property public String msg; 304 } 305 306 public final class EGLManager { 307 ctor public EGLManager(); 308 ctor public EGLManager(optional androidx.graphics.opengl.egl.EGLSpec eglSpec); 309 method public android.opengl.EGLContext createContext(android.opengl.EGLConfig config); 310 method public android.opengl.EGLSurface getCurrentDrawSurface(); 311 method public android.opengl.EGLSurface getCurrentReadSurface(); 312 method public android.opengl.EGLSurface getDefaultSurface(); 313 method public android.opengl.EGLConfig? getEGLConfig(); 314 method public android.opengl.EGLContext? getEGLContext(); 315 method public androidx.graphics.opengl.egl.EGLSpec getEGLSpec(); 316 method public androidx.graphics.opengl.egl.EGLVersion getEGLVersion(); 317 method public void initialize(); 318 method public boolean isExtensionSupported(String extensionName); 319 method public android.opengl.EGLConfig? loadConfig(androidx.graphics.opengl.egl.EGLConfigAttributes configAttributes); 320 method public boolean makeCurrent(android.opengl.EGLSurface drawSurface); 321 method public boolean makeCurrent(android.opengl.EGLSurface drawSurface, optional android.opengl.EGLSurface readSurface); 322 method public void release(); 323 method public void swapAndFlushBuffers(); 324 property public android.opengl.EGLSurface currentDrawSurface; 325 property public android.opengl.EGLSurface currentReadSurface; 326 property public android.opengl.EGLSurface defaultSurface; 327 property public android.opengl.EGLConfig? eglConfig; 328 property public android.opengl.EGLContext? eglContext; 329 property public androidx.graphics.opengl.egl.EGLSpec eglSpec; 330 property public androidx.graphics.opengl.egl.EGLVersion eglVersion; 331 field public static final androidx.graphics.opengl.egl.EGLManager.Companion Companion; 332 } 333 334 public static final class EGLManager.Companion { 335 } 336 337 @kotlin.jvm.JvmDefaultWithCompatibility public interface EGLSpec { 338 method public int eglClientWaitSyncKHR(androidx.opengl.EGLSyncKHR sync, int flags, long timeoutNanos); 339 method public android.opengl.EGLContext eglCreateContext(android.opengl.EGLConfig config); 340 method @RequiresApi(android.os.Build.VERSION_CODES.O) public androidx.opengl.EGLImageKHR? eglCreateImageFromHardwareBuffer(android.hardware.HardwareBuffer hardwareBuffer); 341 method public android.opengl.EGLSurface eglCreatePBufferSurface(android.opengl.EGLConfig config, androidx.graphics.opengl.egl.EGLConfigAttributes? configAttributes); 342 method public androidx.opengl.EGLSyncKHR? eglCreateSyncKHR(int type, androidx.graphics.opengl.egl.EGLConfigAttributes? attributes); 343 method public android.opengl.EGLSurface eglCreateWindowSurface(android.opengl.EGLConfig config, android.view.Surface surface, androidx.graphics.opengl.egl.EGLConfigAttributes? configAttributes); 344 method public void eglDestroyContext(android.opengl.EGLContext eglContext); 345 method public boolean eglDestroyImageKHR(androidx.opengl.EGLImageKHR image); 346 method public boolean eglDestroySurface(android.opengl.EGLSurface surface); 347 method public boolean eglDestroySyncKHR(androidx.opengl.EGLSyncKHR sync); 348 method public android.opengl.EGLSurface eglGetCurrentDrawSurface(); 349 method public android.opengl.EGLSurface eglGetCurrentReadSurface(); 350 method public int eglGetError(); 351 method public boolean eglGetSyncAttribKHR(androidx.opengl.EGLSyncKHR sync, int attribute, int[] value, int offset); 352 method public androidx.graphics.opengl.egl.EGLVersion eglInitialize(); 353 method public boolean eglMakeCurrent(android.opengl.EGLContext context, android.opengl.EGLSurface drawSurface, android.opengl.EGLSurface readSurface); 354 method public String eglQueryString(int nameId); 355 method public boolean eglQuerySurface(android.opengl.EGLSurface surface, int attribute, int[] result, int offset); 356 method public boolean eglSwapBuffers(android.opengl.EGLSurface surface); 357 method public default String getErrorMessage(); 358 method public static String getStatusString(int error); 359 method public android.opengl.EGLConfig? loadConfig(androidx.graphics.opengl.egl.EGLConfigAttributes configAttributes); 360 field public static final androidx.graphics.opengl.egl.EGLSpec.Companion Companion; 361 field public static final androidx.graphics.opengl.egl.EGLSpec V14; 362 } 363 364 public static final class EGLSpec.Companion { 365 method public String getStatusString(int error); 366 property public androidx.graphics.opengl.egl.EGLSpec V14; 367 } 368 369 public final class EGLVersion { 370 ctor public EGLVersion(int major, int minor); 371 method public int component1(); 372 method public int component2(); 373 method public androidx.graphics.opengl.egl.EGLVersion copy(int major, int minor); 374 method public int getMajor(); 375 method public int getMinor(); 376 property public int major; 377 property public int minor; 378 field public static final androidx.graphics.opengl.egl.EGLVersion.Companion Companion; 379 field public static final androidx.graphics.opengl.egl.EGLVersion Unknown; 380 field public static final androidx.graphics.opengl.egl.EGLVersion V14; 381 field public static final androidx.graphics.opengl.egl.EGLVersion V15; 382 } 383 384 public static final class EGLVersion.Companion { 385 property public androidx.graphics.opengl.egl.EGLVersion Unknown; 386 property public androidx.graphics.opengl.egl.EGLVersion V14; 387 property public androidx.graphics.opengl.egl.EGLVersion V15; 388 } 389 390} 391 392package androidx.graphics.surface { 393 394 @RequiresApi(android.os.Build.VERSION_CODES.Q) public final class SurfaceControlCompat { 395 method public boolean isValid(); 396 method public void release(); 397 field public static final int BUFFER_TRANSFORM_IDENTITY = 0; // 0x0 398 field public static final int BUFFER_TRANSFORM_MIRROR_HORIZONTAL = 1; // 0x1 399 field public static final int BUFFER_TRANSFORM_MIRROR_VERTICAL = 2; // 0x2 400 field public static final int BUFFER_TRANSFORM_ROTATE_180 = 3; // 0x3 401 field public static final int BUFFER_TRANSFORM_ROTATE_270 = 7; // 0x7 402 field public static final int BUFFER_TRANSFORM_ROTATE_90 = 4; // 0x4 403 field public static final int CHANGE_FRAME_RATE_ALWAYS = 1; // 0x1 404 field public static final int CHANGE_FRAME_RATE_ONLY_IF_SEAMLESS = 0; // 0x0 405 field public static final androidx.graphics.surface.SurfaceControlCompat.Companion Companion; 406 field public static final int FRAME_RATE_COMPATIBILITY_DEFAULT = 0; // 0x0 407 field public static final int FRAME_RATE_COMPATIBILITY_FIXED_SOURCE = 1; // 0x1 408 } 409 410 public static final class SurfaceControlCompat.Builder { 411 ctor public SurfaceControlCompat.Builder(); 412 method public androidx.graphics.surface.SurfaceControlCompat build(); 413 method public androidx.graphics.surface.SurfaceControlCompat.Builder setName(String name); 414 method public androidx.graphics.surface.SurfaceControlCompat.Builder setParent(android.view.SurfaceView surfaceView); 415 method public androidx.graphics.surface.SurfaceControlCompat.Builder setParent(androidx.graphics.surface.SurfaceControlCompat surfaceControl); 416 } 417 418 public static final class SurfaceControlCompat.Companion { 419 property public static int BUFFER_TRANSFORM_IDENTITY; 420 property public static int BUFFER_TRANSFORM_MIRROR_HORIZONTAL; 421 property public static int BUFFER_TRANSFORM_MIRROR_VERTICAL; 422 property public static int BUFFER_TRANSFORM_ROTATE_180; 423 property public static int BUFFER_TRANSFORM_ROTATE_270; 424 property public static int BUFFER_TRANSFORM_ROTATE_90; 425 property public static int CHANGE_FRAME_RATE_ALWAYS; 426 property public static int CHANGE_FRAME_RATE_ONLY_IF_SEAMLESS; 427 property public static int FRAME_RATE_COMPATIBILITY_DEFAULT; 428 property public static int FRAME_RATE_COMPATIBILITY_FIXED_SOURCE; 429 } 430 431 @RequiresApi(android.os.Build.VERSION_CODES.Q) public static final class SurfaceControlCompat.Transaction implements java.lang.AutoCloseable { 432 ctor public SurfaceControlCompat.Transaction(); 433 method @RequiresApi(android.os.Build.VERSION_CODES.S) public androidx.graphics.surface.SurfaceControlCompat.Transaction addTransactionCommittedListener(java.util.concurrent.Executor executor, androidx.graphics.surface.SurfaceControlCompat.TransactionCommittedListener listener); 434 method public androidx.graphics.surface.SurfaceControlCompat.Transaction clearFrameRate(androidx.graphics.surface.SurfaceControlCompat surfaceControl); 435 method public void close(); 436 method public void commit(); 437 method @RequiresApi(android.os.Build.VERSION_CODES.TIRAMISU) public void commitTransactionOnDraw(android.view.AttachedSurfaceControl attachedSurfaceControl); 438 method @RequiresApi(android.os.Build.VERSION_CODES.TIRAMISU) public androidx.graphics.surface.SurfaceControlCompat.Transaction reparent(androidx.graphics.surface.SurfaceControlCompat surfaceControl, android.view.AttachedSurfaceControl attachedSurfaceControl); 439 method public androidx.graphics.surface.SurfaceControlCompat.Transaction reparent(androidx.graphics.surface.SurfaceControlCompat surfaceControl, androidx.graphics.surface.SurfaceControlCompat? newParent); 440 method public androidx.graphics.surface.SurfaceControlCompat.Transaction setAlpha(androidx.graphics.surface.SurfaceControlCompat surfaceControl, float alpha); 441 method public androidx.graphics.surface.SurfaceControlCompat.Transaction setBuffer(androidx.graphics.surface.SurfaceControlCompat surfaceControl, android.hardware.HardwareBuffer? buffer); 442 method public androidx.graphics.surface.SurfaceControlCompat.Transaction setBuffer(androidx.graphics.surface.SurfaceControlCompat surfaceControl, android.hardware.HardwareBuffer? buffer, optional androidx.hardware.SyncFenceCompat? fence); 443 method public androidx.graphics.surface.SurfaceControlCompat.Transaction setBuffer(androidx.graphics.surface.SurfaceControlCompat surfaceControl, android.hardware.HardwareBuffer? buffer, optional androidx.hardware.SyncFenceCompat? fence, optional kotlin.jvm.functions.Function1<? super androidx.hardware.SyncFenceCompat,kotlin.Unit>? releaseCallback); 444 method public androidx.graphics.surface.SurfaceControlCompat.Transaction setBufferTransform(androidx.graphics.surface.SurfaceControlCompat surfaceControl, int transformation); 445 method public androidx.graphics.surface.SurfaceControlCompat.Transaction setCrop(androidx.graphics.surface.SurfaceControlCompat surfaceControl, android.graphics.Rect? crop); 446 method public androidx.graphics.surface.SurfaceControlCompat.Transaction setDamageRegion(androidx.graphics.surface.SurfaceControlCompat surfaceControl, android.graphics.Region? region); 447 method public androidx.graphics.surface.SurfaceControlCompat.Transaction setDataSpace(androidx.graphics.surface.SurfaceControlCompat surfaceControl, int dataSpace); 448 method @RequiresApi(android.os.Build.VERSION_CODES.UPSIDE_DOWN_CAKE) public androidx.graphics.surface.SurfaceControlCompat.Transaction setExtendedRangeBrightness(androidx.graphics.surface.SurfaceControlCompat surfaceControl, @FloatRange(from=1.0, fromInclusive=true) float currentBufferRatio, @FloatRange(from=1.0, fromInclusive=true) float desiredRatio); 449 method public androidx.graphics.surface.SurfaceControlCompat.Transaction setFrameRate(androidx.graphics.surface.SurfaceControlCompat surfaceControl, float frameRate, int compatibility, int changeFrameRateStrategy); 450 method public androidx.graphics.surface.SurfaceControlCompat.Transaction setLayer(androidx.graphics.surface.SurfaceControlCompat surfaceControl, int z); 451 method public androidx.graphics.surface.SurfaceControlCompat.Transaction setOpaque(androidx.graphics.surface.SurfaceControlCompat surfaceControl, boolean isOpaque); 452 method public androidx.graphics.surface.SurfaceControlCompat.Transaction setPosition(androidx.graphics.surface.SurfaceControlCompat surfaceControl, float x, float y); 453 method public androidx.graphics.surface.SurfaceControlCompat.Transaction setScale(androidx.graphics.surface.SurfaceControlCompat surfaceControl, float scaleX, float scaleY); 454 method public androidx.graphics.surface.SurfaceControlCompat.Transaction setVisibility(androidx.graphics.surface.SurfaceControlCompat surfaceControl, boolean visible); 455 } 456 457 public static interface SurfaceControlCompat.TransactionCommittedListener { 458 method public void onTransactionCommitted(); 459 } 460 461} 462 463package androidx.hardware { 464 465 public final class DataSpace { 466 field public static final androidx.hardware.DataSpace.Companion Companion; 467 field public static final int DATASPACE_ADOBE_RGB = 151715840; // 0x90b0000 468 field public static final int DATASPACE_BT2020 = 147193856; // 0x8c60000 469 field public static final int DATASPACE_BT2020_HLG = 168165376; // 0xa060000 470 field public static final int DATASPACE_BT2020_PQ = 163971072; // 0x9c60000 471 field public static final int DATASPACE_BT601_525 = 281280512; // 0x10c40000 472 field public static final int DATASPACE_BT601_625 = 281149440; // 0x10c20000 473 field public static final int DATASPACE_BT709 = 281083904; // 0x10c10000 474 field public static final int DATASPACE_DCI_P3 = 155844608; // 0x94a0000 475 field public static final int DATASPACE_DEPTH = 4096; // 0x1000 476 field public static final int DATASPACE_DISPLAY_P3 = 143261696; // 0x88a0000 477 field public static final int DATASPACE_DYNAMIC_DEPTH = 4098; // 0x1002 478 field public static final int DATASPACE_HEIF = 4100; // 0x1004 479 field public static final int DATASPACE_JFIF = 146931712; // 0x8c20000 480 field public static final int DATASPACE_JPEG_R = 4101; // 0x1005 481 field public static final int DATASPACE_SCRGB = 411107328; // 0x18810000 482 field public static final int DATASPACE_SCRGB_LINEAR = 406913024; // 0x18410000 483 field public static final int DATASPACE_SRGB = 142671872; // 0x8810000 484 field public static final int DATASPACE_SRGB_LINEAR = 138477568; // 0x8410000 485 field public static final int DATASPACE_UNKNOWN = 0; // 0x0 486 field public static final int RANGE_EXTENDED = 402653184; // 0x18000000 487 field public static final int RANGE_FULL = 134217728; // 0x8000000 488 field public static final int RANGE_LIMITED = 268435456; // 0x10000000 489 field public static final int RANGE_UNSPECIFIED = 0; // 0x0 490 } 491 492 public static final class DataSpace.Companion { 493 property public static int DATASPACE_ADOBE_RGB; 494 property public static int DATASPACE_BT2020; 495 property public static int DATASPACE_BT2020_HLG; 496 property public static int DATASPACE_BT2020_PQ; 497 property public static int DATASPACE_BT601_525; 498 property public static int DATASPACE_BT601_625; 499 property public static int DATASPACE_BT709; 500 property public static int DATASPACE_DCI_P3; 501 property public static int DATASPACE_DEPTH; 502 property public static int DATASPACE_DISPLAY_P3; 503 property public static int DATASPACE_DYNAMIC_DEPTH; 504 property public static int DATASPACE_HEIF; 505 property public static int DATASPACE_JFIF; 506 property public static int DATASPACE_JPEG_R; 507 property public static int DATASPACE_SCRGB; 508 property public static int DATASPACE_SCRGB_LINEAR; 509 property public static int DATASPACE_SRGB; 510 property public static int DATASPACE_SRGB_LINEAR; 511 property public static int DATASPACE_UNKNOWN; 512 property public static int RANGE_EXTENDED; 513 property public static int RANGE_FULL; 514 property public static int RANGE_LIMITED; 515 property public static int RANGE_UNSPECIFIED; 516 } 517 518 public final class SyncFenceCompat implements java.lang.AutoCloseable { 519 method public boolean await(long timeoutNanos); 520 method public boolean awaitForever(); 521 method public void close(); 522 method public static androidx.hardware.SyncFenceCompat createNativeSyncFence(); 523 method @RequiresApi(android.os.Build.VERSION_CODES.O) public long getSignalTimeNanos(); 524 method public boolean isValid(); 525 field public static final androidx.hardware.SyncFenceCompat.Companion Companion; 526 field public static final long SIGNAL_TIME_INVALID = -1L; // 0xffffffffffffffffL 527 field public static final long SIGNAL_TIME_PENDING = 9223372036854775807L; // 0x7fffffffffffffffL 528 } 529 530 public static final class SyncFenceCompat.Companion { 531 method public androidx.hardware.SyncFenceCompat createNativeSyncFence(); 532 property public static long SIGNAL_TIME_INVALID; 533 property public static long SIGNAL_TIME_PENDING; 534 } 535 536} 537 538package androidx.opengl { 539 540 public final class EGLExt { 541 method public static int eglClientWaitSyncKHR(android.opengl.EGLDisplay eglDisplay, androidx.opengl.EGLSyncKHR sync, int flags, long timeoutNanos); 542 method @RequiresApi(android.os.Build.VERSION_CODES.O) public static androidx.opengl.EGLImageKHR? eglCreateImageFromHardwareBuffer(android.opengl.EGLDisplay eglDisplay, android.hardware.HardwareBuffer hardwareBuffer); 543 method public static androidx.opengl.EGLSyncKHR? eglCreateSyncKHR(android.opengl.EGLDisplay eglDisplay, int type, androidx.graphics.opengl.egl.EGLConfigAttributes? attributes); 544 method public static boolean eglDestroyImageKHR(android.opengl.EGLDisplay eglDisplay, androidx.opengl.EGLImageKHR image); 545 method public static boolean eglDestroySyncKHR(android.opengl.EGLDisplay eglDisplay, androidx.opengl.EGLSyncKHR eglSync); 546 method public static boolean eglGetSyncAttribKHR(android.opengl.EGLDisplay eglDisplay, androidx.opengl.EGLSyncKHR sync, int attribute, int[] value, int offset); 547 method public static void glEGLImageTargetTexture2DOES(int target, androidx.opengl.EGLImageKHR image); 548 method public static java.util.Set<java.lang.String> parseExtensions(String queryString); 549 field public static final androidx.opengl.EGLExt.Companion Companion; 550 field public static final String EGL_ANDROID_CLIENT_BUFFER = "EGL_ANDROID_get_native_client_buffer"; 551 field public static final String EGL_ANDROID_IMAGE_NATIVE_BUFFER = "EGL_ANDROID_image_native_buffer"; 552 field public static final String EGL_ANDROID_NATIVE_FENCE_SYNC = "EGL_ANDROID_native_fence_sync"; 553 field public static final int EGL_CONDITION_SATISFIED_KHR = 12534; // 0x30f6 554 field public static final String EGL_EXT_BUFFER_AGE = "EGL_EXT_buffer_age"; 555 field public static final String EGL_EXT_GL_COLORSPACE_BT2020_PQ = "EGL_EXT_gl_colorspace_bt2020_pq"; 556 field public static final String EGL_EXT_GL_COLORSPACE_DISPLAY_P3_PASSTHROUGH = "EGL_EXT_gl_colorspace_display_p3_passthrough"; 557 field public static final String EGL_EXT_GL_COLORSPACE_SCRGB = "EGL_EXT_gl_colorspace_scrgb"; 558 field public static final String EGL_EXT_PIXEL_FORMAT_FLOAT = "EGL_EXT_pixel_format_float"; 559 field public static final int EGL_FALSE = 0; // 0x0 560 field public static final long EGL_FOREVER_KHR = -1L; // 0xffffffffffffffffL 561 field public static final String EGL_IMG_CONTEXT_PRIORITY = "EGL_IMG_context_priority"; 562 field public static final String EGL_KHR_FENCE_SYNC = "EGL_KHR_fence_sync"; 563 field public static final String EGL_KHR_GL_COLORSPACE = "EGL_KHR_gl_colorspace"; 564 field public static final String EGL_KHR_IMAGE = "EGL_KHR_image"; 565 field public static final String EGL_KHR_IMAGE_BASE = "EGL_KHR_image_base"; 566 field public static final String EGL_KHR_NO_CONFIG_CONTEXT = "EGL_KHR_no_config_context"; 567 field public static final String EGL_KHR_PARTIAL_UPDATE = "EGL_KHR_partial_update"; 568 field public static final String EGL_KHR_SURFACELESS_CONTEXT = "EGL_KHR_surfaceless_context"; 569 field public static final String EGL_KHR_SWAP_BUFFERS_WITH_DAMAGE = "EGL_KHR_swap_buffers_with_damage"; 570 field public static final String EGL_KHR_WAIT_SYNC = "EGL_KHR_wait_sync"; 571 field public static final int EGL_SIGNALED_KHR = 12530; // 0x30f2 572 field public static final int EGL_SYNC_CONDITION_KHR = 12536; // 0x30f8 573 field public static final int EGL_SYNC_FENCE_KHR = 12537; // 0x30f9 574 field public static final int EGL_SYNC_FLUSH_COMMANDS_BIT_KHR = 1; // 0x1 575 field public static final int EGL_SYNC_NATIVE_FENCE_ANDROID = 12612; // 0x3144 576 field public static final int EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR = 12528; // 0x30f0 577 field public static final int EGL_SYNC_STATUS_KHR = 12529; // 0x30f1 578 field public static final int EGL_SYNC_TYPE_KHR = 12535; // 0x30f7 579 field public static final int EGL_TIMEOUT_EXPIRED_KHR = 12533; // 0x30f5 580 field public static final int EGL_TRUE = 1; // 0x1 581 field public static final int EGL_UNSIGNALED_KHR = 12531; // 0x30f3 582 } 583 584 public static final class EGLExt.Companion { 585 method public int eglClientWaitSyncKHR(android.opengl.EGLDisplay eglDisplay, androidx.opengl.EGLSyncKHR sync, int flags, long timeoutNanos); 586 method @RequiresApi(android.os.Build.VERSION_CODES.O) public androidx.opengl.EGLImageKHR? eglCreateImageFromHardwareBuffer(android.opengl.EGLDisplay eglDisplay, android.hardware.HardwareBuffer hardwareBuffer); 587 method public androidx.opengl.EGLSyncKHR? eglCreateSyncKHR(android.opengl.EGLDisplay eglDisplay, int type, androidx.graphics.opengl.egl.EGLConfigAttributes? attributes); 588 method public boolean eglDestroyImageKHR(android.opengl.EGLDisplay eglDisplay, androidx.opengl.EGLImageKHR image); 589 method public boolean eglDestroySyncKHR(android.opengl.EGLDisplay eglDisplay, androidx.opengl.EGLSyncKHR eglSync); 590 method public boolean eglGetSyncAttribKHR(android.opengl.EGLDisplay eglDisplay, androidx.opengl.EGLSyncKHR sync, int attribute, int[] value, int offset); 591 method public void glEGLImageTargetTexture2DOES(int target, androidx.opengl.EGLImageKHR image); 592 method public java.util.Set<java.lang.String> parseExtensions(String queryString); 593 property public static String EGL_ANDROID_CLIENT_BUFFER; 594 property public static String EGL_ANDROID_IMAGE_NATIVE_BUFFER; 595 property public static String EGL_ANDROID_NATIVE_FENCE_SYNC; 596 property public static int EGL_CONDITION_SATISFIED_KHR; 597 property public static String EGL_EXT_BUFFER_AGE; 598 property public static String EGL_EXT_GL_COLORSPACE_BT2020_PQ; 599 property public static String EGL_EXT_GL_COLORSPACE_DISPLAY_P3_PASSTHROUGH; 600 property public static String EGL_EXT_GL_COLORSPACE_SCRGB; 601 property public static String EGL_EXT_PIXEL_FORMAT_FLOAT; 602 property public static int EGL_FALSE; 603 property public static long EGL_FOREVER_KHR; 604 property public static String EGL_IMG_CONTEXT_PRIORITY; 605 property public static String EGL_KHR_FENCE_SYNC; 606 property public static String EGL_KHR_GL_COLORSPACE; 607 property public static String EGL_KHR_IMAGE; 608 property public static String EGL_KHR_IMAGE_BASE; 609 property public static String EGL_KHR_NO_CONFIG_CONTEXT; 610 property public static String EGL_KHR_PARTIAL_UPDATE; 611 property public static String EGL_KHR_SURFACELESS_CONTEXT; 612 property public static String EGL_KHR_SWAP_BUFFERS_WITH_DAMAGE; 613 property public static String EGL_KHR_WAIT_SYNC; 614 property public static int EGL_SIGNALED_KHR; 615 property public static int EGL_SYNC_CONDITION_KHR; 616 property public static int EGL_SYNC_FENCE_KHR; 617 property public static int EGL_SYNC_FLUSH_COMMANDS_BIT_KHR; 618 property public static int EGL_SYNC_NATIVE_FENCE_ANDROID; 619 property public static int EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR; 620 property public static int EGL_SYNC_STATUS_KHR; 621 property public static int EGL_SYNC_TYPE_KHR; 622 property public static int EGL_TIMEOUT_EXPIRED_KHR; 623 property public static int EGL_TRUE; 624 property public static int EGL_UNSIGNALED_KHR; 625 } 626 627 public interface EGLHandle { 628 method public long getNativeHandle(); 629 property public abstract long nativeHandle; 630 } 631 632 public final class EGLImageKHR implements androidx.opengl.EGLHandle { 633 ctor public EGLImageKHR(long nativeHandle); 634 method public long getNativeHandle(); 635 property public long nativeHandle; 636 } 637 638 public final class EGLSyncKHR implements androidx.opengl.EGLHandle { 639 ctor public EGLSyncKHR(long nativeHandle); 640 method public long getNativeHandle(); 641 property public long nativeHandle; 642 } 643 644} 645 646