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    property @kotlin.PublishedApi internal int[] attrs;
268    field public static final androidx.graphics.opengl.egl.EGLConfigAttributes.Companion Companion;
269    field public static final int EGL_COLOR_COMPONENT_TYPE_EXT = 13113; // 0x3339
270    field public static final int EGL_COLOR_COMPONENT_TYPE_FIXED_EXT = 13114; // 0x333a
271    field public static final int EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT = 13115; // 0x333b
272    field public static final androidx.graphics.opengl.egl.EGLConfigAttributes RGBA_1010102;
273    field public static final androidx.graphics.opengl.egl.EGLConfigAttributes RGBA_8888;
274    field public static final androidx.graphics.opengl.egl.EGLConfigAttributes RGBA_F16;
275  }
276
277  public static final class EGLConfigAttributes.Builder {
278    ctor public EGLConfigAttributes.Builder();
279    method public androidx.graphics.opengl.egl.EGLConfigAttributes build();
280    method public void include(androidx.graphics.opengl.egl.EGLConfigAttributes attributes);
281    method public androidx.graphics.opengl.egl.EGLConfigAttributes.Builder setAttribute(int attribute, int value);
282    method @kotlin.jvm.JvmSynthetic public infix void to(int, int that);
283  }
284
285  public static final class EGLConfigAttributes.Companion {
286    property public static int EGL_COLOR_COMPONENT_TYPE_EXT;
287    property public static int EGL_COLOR_COMPONENT_TYPE_FIXED_EXT;
288    property public static int EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT;
289    property public androidx.graphics.opengl.egl.EGLConfigAttributes RGBA_1010102;
290    property public androidx.graphics.opengl.egl.EGLConfigAttributes RGBA_8888;
291    property public androidx.graphics.opengl.egl.EGLConfigAttributes RGBA_F16;
292  }
293
294  public final class EGLConfigAttributesKt {
295    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);
296  }
297
298  public final class EGLException extends java.lang.RuntimeException {
299    ctor public EGLException(int error, optional String msg);
300    method public int getError();
301    method public String getMsg();
302    property public int error;
303    property public String message;
304    property public String msg;
305  }
306
307  public final class EGLManager {
308    ctor public EGLManager();
309    ctor public EGLManager(optional androidx.graphics.opengl.egl.EGLSpec eglSpec);
310    method public android.opengl.EGLContext createContext(android.opengl.EGLConfig config);
311    method public android.opengl.EGLSurface getCurrentDrawSurface();
312    method public android.opengl.EGLSurface getCurrentReadSurface();
313    method public android.opengl.EGLSurface getDefaultSurface();
314    method public android.opengl.EGLConfig? getEGLConfig();
315    method public android.opengl.EGLContext? getEGLContext();
316    method public androidx.graphics.opengl.egl.EGLSpec getEGLSpec();
317    method public androidx.graphics.opengl.egl.EGLVersion getEGLVersion();
318    method public void initialize();
319    method public boolean isExtensionSupported(String extensionName);
320    method public android.opengl.EGLConfig? loadConfig(androidx.graphics.opengl.egl.EGLConfigAttributes configAttributes);
321    method public boolean makeCurrent(android.opengl.EGLSurface drawSurface);
322    method public boolean makeCurrent(android.opengl.EGLSurface drawSurface, optional android.opengl.EGLSurface readSurface);
323    method public void release();
324    method public void swapAndFlushBuffers();
325    property public android.opengl.EGLSurface currentDrawSurface;
326    property public android.opengl.EGLSurface currentReadSurface;
327    property public android.opengl.EGLSurface defaultSurface;
328    property public android.opengl.EGLConfig? eglConfig;
329    property public android.opengl.EGLContext? eglContext;
330    property public androidx.graphics.opengl.egl.EGLSpec eglSpec;
331    property public androidx.graphics.opengl.egl.EGLVersion eglVersion;
332    field public static final androidx.graphics.opengl.egl.EGLManager.Companion Companion;
333  }
334
335  public static final class EGLManager.Companion {
336  }
337
338  @kotlin.jvm.JvmDefaultWithCompatibility public interface EGLSpec {
339    method public int eglClientWaitSyncKHR(androidx.opengl.EGLSyncKHR sync, int flags, long timeoutNanos);
340    method public android.opengl.EGLContext eglCreateContext(android.opengl.EGLConfig config);
341    method @RequiresApi(android.os.Build.VERSION_CODES.O) public androidx.opengl.EGLImageKHR? eglCreateImageFromHardwareBuffer(android.hardware.HardwareBuffer hardwareBuffer);
342    method public android.opengl.EGLSurface eglCreatePBufferSurface(android.opengl.EGLConfig config, androidx.graphics.opengl.egl.EGLConfigAttributes? configAttributes);
343    method public androidx.opengl.EGLSyncKHR? eglCreateSyncKHR(int type, androidx.graphics.opengl.egl.EGLConfigAttributes? attributes);
344    method public android.opengl.EGLSurface eglCreateWindowSurface(android.opengl.EGLConfig config, android.view.Surface surface, androidx.graphics.opengl.egl.EGLConfigAttributes? configAttributes);
345    method public void eglDestroyContext(android.opengl.EGLContext eglContext);
346    method public boolean eglDestroyImageKHR(androidx.opengl.EGLImageKHR image);
347    method public boolean eglDestroySurface(android.opengl.EGLSurface surface);
348    method public boolean eglDestroySyncKHR(androidx.opengl.EGLSyncKHR sync);
349    method public android.opengl.EGLSurface eglGetCurrentDrawSurface();
350    method public android.opengl.EGLSurface eglGetCurrentReadSurface();
351    method public int eglGetError();
352    method public boolean eglGetSyncAttribKHR(androidx.opengl.EGLSyncKHR sync, int attribute, int[] value, int offset);
353    method public androidx.graphics.opengl.egl.EGLVersion eglInitialize();
354    method public boolean eglMakeCurrent(android.opengl.EGLContext context, android.opengl.EGLSurface drawSurface, android.opengl.EGLSurface readSurface);
355    method public String eglQueryString(int nameId);
356    method public boolean eglQuerySurface(android.opengl.EGLSurface surface, int attribute, int[] result, int offset);
357    method public boolean eglSwapBuffers(android.opengl.EGLSurface surface);
358    method public default String getErrorMessage();
359    method public static String getStatusString(int error);
360    method public android.opengl.EGLConfig? loadConfig(androidx.graphics.opengl.egl.EGLConfigAttributes configAttributes);
361    field public static final androidx.graphics.opengl.egl.EGLSpec.Companion Companion;
362    field public static final androidx.graphics.opengl.egl.EGLSpec V14;
363  }
364
365  public static final class EGLSpec.Companion {
366    method public String getStatusString(int error);
367    property public androidx.graphics.opengl.egl.EGLSpec V14;
368  }
369
370  public final class EGLVersion {
371    ctor public EGLVersion(int major, int minor);
372    method public int component1();
373    method public int component2();
374    method public androidx.graphics.opengl.egl.EGLVersion copy(int major, int minor);
375    method public int getMajor();
376    method public int getMinor();
377    property public int major;
378    property public int minor;
379    field public static final androidx.graphics.opengl.egl.EGLVersion.Companion Companion;
380    field public static final androidx.graphics.opengl.egl.EGLVersion Unknown;
381    field public static final androidx.graphics.opengl.egl.EGLVersion V14;
382    field public static final androidx.graphics.opengl.egl.EGLVersion V15;
383  }
384
385  public static final class EGLVersion.Companion {
386    property public androidx.graphics.opengl.egl.EGLVersion Unknown;
387    property public androidx.graphics.opengl.egl.EGLVersion V14;
388    property public androidx.graphics.opengl.egl.EGLVersion V15;
389  }
390
391}
392
393package androidx.graphics.surface {
394
395  @RequiresApi(android.os.Build.VERSION_CODES.Q) public final class SurfaceControlCompat {
396    method public boolean isValid();
397    method public void release();
398    field public static final int BUFFER_TRANSFORM_IDENTITY = 0; // 0x0
399    field public static final int BUFFER_TRANSFORM_MIRROR_HORIZONTAL = 1; // 0x1
400    field public static final int BUFFER_TRANSFORM_MIRROR_VERTICAL = 2; // 0x2
401    field public static final int BUFFER_TRANSFORM_ROTATE_180 = 3; // 0x3
402    field public static final int BUFFER_TRANSFORM_ROTATE_270 = 7; // 0x7
403    field public static final int BUFFER_TRANSFORM_ROTATE_90 = 4; // 0x4
404    field public static final int CHANGE_FRAME_RATE_ALWAYS = 1; // 0x1
405    field public static final int CHANGE_FRAME_RATE_ONLY_IF_SEAMLESS = 0; // 0x0
406    field public static final androidx.graphics.surface.SurfaceControlCompat.Companion Companion;
407    field public static final int FRAME_RATE_COMPATIBILITY_DEFAULT = 0; // 0x0
408    field public static final int FRAME_RATE_COMPATIBILITY_FIXED_SOURCE = 1; // 0x1
409  }
410
411  public static final class SurfaceControlCompat.Builder {
412    ctor public SurfaceControlCompat.Builder();
413    method public androidx.graphics.surface.SurfaceControlCompat build();
414    method public androidx.graphics.surface.SurfaceControlCompat.Builder setName(String name);
415    method public androidx.graphics.surface.SurfaceControlCompat.Builder setParent(android.view.SurfaceView surfaceView);
416    method public androidx.graphics.surface.SurfaceControlCompat.Builder setParent(androidx.graphics.surface.SurfaceControlCompat surfaceControl);
417  }
418
419  public static final class SurfaceControlCompat.Companion {
420    property public static int BUFFER_TRANSFORM_IDENTITY;
421    property public static int BUFFER_TRANSFORM_MIRROR_HORIZONTAL;
422    property public static int BUFFER_TRANSFORM_MIRROR_VERTICAL;
423    property public static int BUFFER_TRANSFORM_ROTATE_180;
424    property public static int BUFFER_TRANSFORM_ROTATE_270;
425    property public static int BUFFER_TRANSFORM_ROTATE_90;
426    property public static int CHANGE_FRAME_RATE_ALWAYS;
427    property public static int CHANGE_FRAME_RATE_ONLY_IF_SEAMLESS;
428    property public static int FRAME_RATE_COMPATIBILITY_DEFAULT;
429    property public static int FRAME_RATE_COMPATIBILITY_FIXED_SOURCE;
430  }
431
432  @RequiresApi(android.os.Build.VERSION_CODES.Q) public static final class SurfaceControlCompat.Transaction implements java.lang.AutoCloseable {
433    ctor public SurfaceControlCompat.Transaction();
434    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);
435    method public androidx.graphics.surface.SurfaceControlCompat.Transaction clearFrameRate(androidx.graphics.surface.SurfaceControlCompat surfaceControl);
436    method public void close();
437    method public void commit();
438    method @RequiresApi(android.os.Build.VERSION_CODES.TIRAMISU) public void commitTransactionOnDraw(android.view.AttachedSurfaceControl attachedSurfaceControl);
439    method @RequiresApi(android.os.Build.VERSION_CODES.TIRAMISU) public androidx.graphics.surface.SurfaceControlCompat.Transaction reparent(androidx.graphics.surface.SurfaceControlCompat surfaceControl, android.view.AttachedSurfaceControl attachedSurfaceControl);
440    method public androidx.graphics.surface.SurfaceControlCompat.Transaction reparent(androidx.graphics.surface.SurfaceControlCompat surfaceControl, androidx.graphics.surface.SurfaceControlCompat? newParent);
441    method public androidx.graphics.surface.SurfaceControlCompat.Transaction setAlpha(androidx.graphics.surface.SurfaceControlCompat surfaceControl, float alpha);
442    method public androidx.graphics.surface.SurfaceControlCompat.Transaction setBuffer(androidx.graphics.surface.SurfaceControlCompat surfaceControl, android.hardware.HardwareBuffer? buffer);
443    method public androidx.graphics.surface.SurfaceControlCompat.Transaction setBuffer(androidx.graphics.surface.SurfaceControlCompat surfaceControl, android.hardware.HardwareBuffer? buffer, optional androidx.hardware.SyncFenceCompat? fence);
444    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);
445    method public androidx.graphics.surface.SurfaceControlCompat.Transaction setBufferTransform(androidx.graphics.surface.SurfaceControlCompat surfaceControl, int transformation);
446    method public androidx.graphics.surface.SurfaceControlCompat.Transaction setCrop(androidx.graphics.surface.SurfaceControlCompat surfaceControl, android.graphics.Rect? crop);
447    method public androidx.graphics.surface.SurfaceControlCompat.Transaction setDamageRegion(androidx.graphics.surface.SurfaceControlCompat surfaceControl, android.graphics.Region? region);
448    method public androidx.graphics.surface.SurfaceControlCompat.Transaction setDataSpace(androidx.graphics.surface.SurfaceControlCompat surfaceControl, int dataSpace);
449    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);
450    method public androidx.graphics.surface.SurfaceControlCompat.Transaction setFrameRate(androidx.graphics.surface.SurfaceControlCompat surfaceControl, float frameRate, int compatibility, int changeFrameRateStrategy);
451    method public androidx.graphics.surface.SurfaceControlCompat.Transaction setLayer(androidx.graphics.surface.SurfaceControlCompat surfaceControl, int z);
452    method public androidx.graphics.surface.SurfaceControlCompat.Transaction setOpaque(androidx.graphics.surface.SurfaceControlCompat surfaceControl, boolean isOpaque);
453    method public androidx.graphics.surface.SurfaceControlCompat.Transaction setPosition(androidx.graphics.surface.SurfaceControlCompat surfaceControl, float x, float y);
454    method public androidx.graphics.surface.SurfaceControlCompat.Transaction setScale(androidx.graphics.surface.SurfaceControlCompat surfaceControl, float scaleX, float scaleY);
455    method public androidx.graphics.surface.SurfaceControlCompat.Transaction setVisibility(androidx.graphics.surface.SurfaceControlCompat surfaceControl, boolean visible);
456  }
457
458  public static interface SurfaceControlCompat.TransactionCommittedListener {
459    method public void onTransactionCommitted();
460  }
461
462}
463
464package androidx.hardware {
465
466  public final class DataSpace {
467    field public static final androidx.hardware.DataSpace.Companion Companion;
468    field public static final int DATASPACE_ADOBE_RGB = 151715840; // 0x90b0000
469    field public static final int DATASPACE_BT2020 = 147193856; // 0x8c60000
470    field public static final int DATASPACE_BT2020_HLG = 168165376; // 0xa060000
471    field public static final int DATASPACE_BT2020_PQ = 163971072; // 0x9c60000
472    field public static final int DATASPACE_BT601_525 = 281280512; // 0x10c40000
473    field public static final int DATASPACE_BT601_625 = 281149440; // 0x10c20000
474    field public static final int DATASPACE_BT709 = 281083904; // 0x10c10000
475    field public static final int DATASPACE_DCI_P3 = 155844608; // 0x94a0000
476    field public static final int DATASPACE_DEPTH = 4096; // 0x1000
477    field public static final int DATASPACE_DISPLAY_P3 = 143261696; // 0x88a0000
478    field public static final int DATASPACE_DYNAMIC_DEPTH = 4098; // 0x1002
479    field public static final int DATASPACE_HEIF = 4100; // 0x1004
480    field public static final int DATASPACE_JFIF = 146931712; // 0x8c20000
481    field public static final int DATASPACE_JPEG_R = 4101; // 0x1005
482    field public static final int DATASPACE_SCRGB = 411107328; // 0x18810000
483    field public static final int DATASPACE_SCRGB_LINEAR = 406913024; // 0x18410000
484    field public static final int DATASPACE_SRGB = 142671872; // 0x8810000
485    field public static final int DATASPACE_SRGB_LINEAR = 138477568; // 0x8410000
486    field public static final int DATASPACE_UNKNOWN = 0; // 0x0
487    field public static final int RANGE_EXTENDED = 402653184; // 0x18000000
488    field public static final int RANGE_FULL = 134217728; // 0x8000000
489    field public static final int RANGE_LIMITED = 268435456; // 0x10000000
490    field public static final int RANGE_UNSPECIFIED = 0; // 0x0
491  }
492
493  public static final class DataSpace.Companion {
494    property public static int DATASPACE_ADOBE_RGB;
495    property public static int DATASPACE_BT2020;
496    property public static int DATASPACE_BT2020_HLG;
497    property public static int DATASPACE_BT2020_PQ;
498    property public static int DATASPACE_BT601_525;
499    property public static int DATASPACE_BT601_625;
500    property public static int DATASPACE_BT709;
501    property public static int DATASPACE_DCI_P3;
502    property public static int DATASPACE_DEPTH;
503    property public static int DATASPACE_DISPLAY_P3;
504    property public static int DATASPACE_DYNAMIC_DEPTH;
505    property public static int DATASPACE_HEIF;
506    property public static int DATASPACE_JFIF;
507    property public static int DATASPACE_JPEG_R;
508    property public static int DATASPACE_SCRGB;
509    property public static int DATASPACE_SCRGB_LINEAR;
510    property public static int DATASPACE_SRGB;
511    property public static int DATASPACE_SRGB_LINEAR;
512    property public static int DATASPACE_UNKNOWN;
513    property public static int RANGE_EXTENDED;
514    property public static int RANGE_FULL;
515    property public static int RANGE_LIMITED;
516    property public static int RANGE_UNSPECIFIED;
517  }
518
519  public final class SyncFenceCompat implements java.lang.AutoCloseable {
520    method public boolean await(long timeoutNanos);
521    method public boolean awaitForever();
522    method public void close();
523    method public static androidx.hardware.SyncFenceCompat createNativeSyncFence();
524    method @RequiresApi(android.os.Build.VERSION_CODES.O) public long getSignalTimeNanos();
525    method public boolean isValid();
526    field public static final androidx.hardware.SyncFenceCompat.Companion Companion;
527    field public static final long SIGNAL_TIME_INVALID = -1L; // 0xffffffffffffffffL
528    field public static final long SIGNAL_TIME_PENDING = 9223372036854775807L; // 0x7fffffffffffffffL
529  }
530
531  public static final class SyncFenceCompat.Companion {
532    method public androidx.hardware.SyncFenceCompat createNativeSyncFence();
533    property public static long SIGNAL_TIME_INVALID;
534    property public static long SIGNAL_TIME_PENDING;
535  }
536
537}
538
539package androidx.opengl {
540
541  public final class EGLExt {
542    method public static int eglClientWaitSyncKHR(android.opengl.EGLDisplay eglDisplay, androidx.opengl.EGLSyncKHR sync, int flags, long timeoutNanos);
543    method @RequiresApi(android.os.Build.VERSION_CODES.O) public static androidx.opengl.EGLImageKHR? eglCreateImageFromHardwareBuffer(android.opengl.EGLDisplay eglDisplay, android.hardware.HardwareBuffer hardwareBuffer);
544    method public static androidx.opengl.EGLSyncKHR? eglCreateSyncKHR(android.opengl.EGLDisplay eglDisplay, int type, androidx.graphics.opengl.egl.EGLConfigAttributes? attributes);
545    method public static boolean eglDestroyImageKHR(android.opengl.EGLDisplay eglDisplay, androidx.opengl.EGLImageKHR image);
546    method public static boolean eglDestroySyncKHR(android.opengl.EGLDisplay eglDisplay, androidx.opengl.EGLSyncKHR eglSync);
547    method public static boolean eglGetSyncAttribKHR(android.opengl.EGLDisplay eglDisplay, androidx.opengl.EGLSyncKHR sync, int attribute, int[] value, int offset);
548    method public static void glEGLImageTargetTexture2DOES(int target, androidx.opengl.EGLImageKHR image);
549    method public static java.util.Set<java.lang.String> parseExtensions(String queryString);
550    field public static final androidx.opengl.EGLExt.Companion Companion;
551    field public static final String EGL_ANDROID_CLIENT_BUFFER = "EGL_ANDROID_get_native_client_buffer";
552    field public static final String EGL_ANDROID_IMAGE_NATIVE_BUFFER = "EGL_ANDROID_image_native_buffer";
553    field public static final String EGL_ANDROID_NATIVE_FENCE_SYNC = "EGL_ANDROID_native_fence_sync";
554    field public static final int EGL_CONDITION_SATISFIED_KHR = 12534; // 0x30f6
555    field public static final String EGL_EXT_BUFFER_AGE = "EGL_EXT_buffer_age";
556    field public static final String EGL_EXT_GL_COLORSPACE_BT2020_PQ = "EGL_EXT_gl_colorspace_bt2020_pq";
557    field public static final String EGL_EXT_GL_COLORSPACE_DISPLAY_P3_PASSTHROUGH = "EGL_EXT_gl_colorspace_display_p3_passthrough";
558    field public static final String EGL_EXT_GL_COLORSPACE_SCRGB = "EGL_EXT_gl_colorspace_scrgb";
559    field public static final String EGL_EXT_PIXEL_FORMAT_FLOAT = "EGL_EXT_pixel_format_float";
560    field public static final int EGL_FALSE = 0; // 0x0
561    field public static final long EGL_FOREVER_KHR = -1L; // 0xffffffffffffffffL
562    field public static final String EGL_IMG_CONTEXT_PRIORITY = "EGL_IMG_context_priority";
563    field public static final String EGL_KHR_FENCE_SYNC = "EGL_KHR_fence_sync";
564    field public static final String EGL_KHR_GL_COLORSPACE = "EGL_KHR_gl_colorspace";
565    field public static final String EGL_KHR_IMAGE = "EGL_KHR_image";
566    field public static final String EGL_KHR_IMAGE_BASE = "EGL_KHR_image_base";
567    field public static final String EGL_KHR_NO_CONFIG_CONTEXT = "EGL_KHR_no_config_context";
568    field public static final String EGL_KHR_PARTIAL_UPDATE = "EGL_KHR_partial_update";
569    field public static final String EGL_KHR_SURFACELESS_CONTEXT = "EGL_KHR_surfaceless_context";
570    field public static final String EGL_KHR_SWAP_BUFFERS_WITH_DAMAGE = "EGL_KHR_swap_buffers_with_damage";
571    field public static final String EGL_KHR_WAIT_SYNC = "EGL_KHR_wait_sync";
572    field public static final int EGL_SIGNALED_KHR = 12530; // 0x30f2
573    field public static final int EGL_SYNC_CONDITION_KHR = 12536; // 0x30f8
574    field public static final int EGL_SYNC_FENCE_KHR = 12537; // 0x30f9
575    field public static final int EGL_SYNC_FLUSH_COMMANDS_BIT_KHR = 1; // 0x1
576    field public static final int EGL_SYNC_NATIVE_FENCE_ANDROID = 12612; // 0x3144
577    field public static final int EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR = 12528; // 0x30f0
578    field public static final int EGL_SYNC_STATUS_KHR = 12529; // 0x30f1
579    field public static final int EGL_SYNC_TYPE_KHR = 12535; // 0x30f7
580    field public static final int EGL_TIMEOUT_EXPIRED_KHR = 12533; // 0x30f5
581    field public static final int EGL_TRUE = 1; // 0x1
582    field public static final int EGL_UNSIGNALED_KHR = 12531; // 0x30f3
583  }
584
585  public static final class EGLExt.Companion {
586    method public int eglClientWaitSyncKHR(android.opengl.EGLDisplay eglDisplay, androidx.opengl.EGLSyncKHR sync, int flags, long timeoutNanos);
587    method @RequiresApi(android.os.Build.VERSION_CODES.O) public androidx.opengl.EGLImageKHR? eglCreateImageFromHardwareBuffer(android.opengl.EGLDisplay eglDisplay, android.hardware.HardwareBuffer hardwareBuffer);
588    method public androidx.opengl.EGLSyncKHR? eglCreateSyncKHR(android.opengl.EGLDisplay eglDisplay, int type, androidx.graphics.opengl.egl.EGLConfigAttributes? attributes);
589    method public boolean eglDestroyImageKHR(android.opengl.EGLDisplay eglDisplay, androidx.opengl.EGLImageKHR image);
590    method public boolean eglDestroySyncKHR(android.opengl.EGLDisplay eglDisplay, androidx.opengl.EGLSyncKHR eglSync);
591    method public boolean eglGetSyncAttribKHR(android.opengl.EGLDisplay eglDisplay, androidx.opengl.EGLSyncKHR sync, int attribute, int[] value, int offset);
592    method public void glEGLImageTargetTexture2DOES(int target, androidx.opengl.EGLImageKHR image);
593    method public java.util.Set<java.lang.String> parseExtensions(String queryString);
594    property public static String EGL_ANDROID_CLIENT_BUFFER;
595    property public static String EGL_ANDROID_IMAGE_NATIVE_BUFFER;
596    property public static String EGL_ANDROID_NATIVE_FENCE_SYNC;
597    property public static int EGL_CONDITION_SATISFIED_KHR;
598    property public static String EGL_EXT_BUFFER_AGE;
599    property public static String EGL_EXT_GL_COLORSPACE_BT2020_PQ;
600    property public static String EGL_EXT_GL_COLORSPACE_DISPLAY_P3_PASSTHROUGH;
601    property public static String EGL_EXT_GL_COLORSPACE_SCRGB;
602    property public static String EGL_EXT_PIXEL_FORMAT_FLOAT;
603    property public static int EGL_FALSE;
604    property public static long EGL_FOREVER_KHR;
605    property public static String EGL_IMG_CONTEXT_PRIORITY;
606    property public static String EGL_KHR_FENCE_SYNC;
607    property public static String EGL_KHR_GL_COLORSPACE;
608    property public static String EGL_KHR_IMAGE;
609    property public static String EGL_KHR_IMAGE_BASE;
610    property public static String EGL_KHR_NO_CONFIG_CONTEXT;
611    property public static String EGL_KHR_PARTIAL_UPDATE;
612    property public static String EGL_KHR_SURFACELESS_CONTEXT;
613    property public static String EGL_KHR_SWAP_BUFFERS_WITH_DAMAGE;
614    property public static String EGL_KHR_WAIT_SYNC;
615    property public static int EGL_SIGNALED_KHR;
616    property public static int EGL_SYNC_CONDITION_KHR;
617    property public static int EGL_SYNC_FENCE_KHR;
618    property public static int EGL_SYNC_FLUSH_COMMANDS_BIT_KHR;
619    property public static int EGL_SYNC_NATIVE_FENCE_ANDROID;
620    property public static int EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR;
621    property public static int EGL_SYNC_STATUS_KHR;
622    property public static int EGL_SYNC_TYPE_KHR;
623    property public static int EGL_TIMEOUT_EXPIRED_KHR;
624    property public static int EGL_TRUE;
625    property public static int EGL_UNSIGNALED_KHR;
626  }
627
628  public interface EGLHandle {
629    method public long getNativeHandle();
630    property public abstract long nativeHandle;
631  }
632
633  public final class EGLImageKHR implements androidx.opengl.EGLHandle {
634    ctor public EGLImageKHR(long nativeHandle);
635    method public long getNativeHandle();
636    property public long nativeHandle;
637  }
638
639  public final class EGLSyncKHR implements androidx.opengl.EGLHandle {
640    ctor public EGLSyncKHR(long nativeHandle);
641    method public long getNativeHandle();
642    property public long nativeHandle;
643  }
644
645}
646
647