Amazon Developer

as

Settings
Sign out
Notifications
Alexa
Amazon Appstore
Ring
AWS
Documentation
Support
Contact Us
My Cases
Get Started
Design and Develop
Publish
Reference
Support
Native
Skip to main content

Interfaces

  • IBufferReleaseListener — Listener interface when Buffer is released by display. Please see [IMediaSurface#addBufferReleaseListener].
  • IColorConversionListener — Listener interface to notify clients about the result of submitted color conversion request. Please see [IGraphicsModule#createColorConverter].
  • IContentTypeListener — Listener interface for display content type event
  • IDisplayListener — Listener interface for IDisplay Event
  • IDisplayListener2 — Version 2 of listener interface for IDisplay Event
  • IDisplayListener3 — Version 3 of listener interface for IDisplay Event This version provides display sink state change listener.
  • IDisplayListener4 — Version 4 of listener interface for IDisplay Event. This version provides AISR state change listener. [AisrState]
  • IDisplayManagerListener — Listener interface for IDisplayManager related events
  • IDisplayControllerListener — Listener interface for IDisplayController events
  • IKeyboardListener — This interface is deprecated, use IKeyEventListener; Listener interface for keyboard events
  • IKeyEventListener — Listener interface for keyboard events
  • IPointerListener — Listener interface for mouse/pointer device event
  • IPointerEventListener — Listener interface for pointer events
  • IPositionListener — Listener interface for window position change event
  • IPowerStateListener — Listener interface for power state events
  • IPresentListener — Listener interface for Surface present [IGraphicsSurface#addPresentListener]
  • IResizeListener — Listener interface for Resize window event
  • ITouchListener — Listener interface represents touchscreen events. This interface is deprecated, use ITouchEventListener;
  • ITouchEventListener — Listener interface for touch events
  • IVsyncListener — Listener interface for IDisplayController vsync call
  • IGameControllerEventListener — Listener interface for GameController events.
  • IScreenShotListener — Listener interface for Screen Shot events
  • ICanvasConfig — For memory, power and performance reasons, display subsystem may enforce windows and surfaces to be created at certain resolution which might be different than native display resolution. Even though the current IDisplayConfig suggests that the resolution is WxH, system may create a full screen window as wxh where “w != W” and “h != H”. We capture this system defined & enforced logical resolution in canvas config. The display subsystem supports scaling of composition results during presentation. Scaling accommodates devices for which the physical resolution of the display differs from the canvas resolution (e.g. a device presenting a 1080p UI to a 4k display).
  • IColorConverter — A high level interface for clients to perform color conversion operation.
  • IContext — Defines a rendering context.
  • IContextConfig — Defines a context configuration. Clients can call [IGpuDevice#createContextConfig] to create a context configurations (IContextConfig) based on a ContextConfigAttributes object. While creating IContext and IGraphicsSurface, the desired IContextConfig object needs to be passed in.
  • IDisplay — Display interface representing a screen. This gives a set of API to retrieve various information about a display. [IDisplayController#getDisplayList] [IDisplayController#getPrimaryDisplay]
  • IDisplay2 — Version 2 of IDisplay
  • IDisplay3 — Version 3 of IDisplay This version provides apis to check if display output is active and get allowed color spaces (color formats) and color depths. [ColorDepth] [ColorSpace]
  • IDisplay4 — Version 4 of IDisplay
  • IDisplay5 — Version 5 of IDisplay
  • IDisplay6 — Version 6 of IDisplay
  • IDisplayConfig — Structure which contains basic information of a display configuration.
  • IDisplayController — This represents the display subsystem. Each client needs only one of this object. This is the top level object that clients should create first before calling any other display APIs.
  • IDisplayManager — Display manager interface to set various states and configurations of a display. Clients can call IStandard::tryQueryInterface on IDisplay object to get IDisplayManager interface on any IDisplay object. [IDisplayController#getDisplayList] [IDisplayController#getPrimaryDisplay] [IDisplayManager2#commitStates]
  • IDisplayManager2 — Version 2 of [IDisplayManager]
  • IDisplayManager3 — Version 3 of [IDisplayManager]
  • IFence — Fence is a synchronization primitive that can be used to insert a dependency in the Client API command stream for GPU or display subsystems. GPU usage is managed by getFence and insertFence APIs of Context. [IContext#getFence] [IContext#insertFence]
  • IFrameHint — FrameHint provides information relating to the presentation of buffer contents to display
  • IGameControllerMotionEvent — Interface defines GameControllerMotionEvent.
  • IGlGpuDevice — Interface that abstracts a GL ES supported GPU device. IGpuDevice object created with createGpuDeviceUsingOpenGlesApi() is expected to provide IGlGpuDevice interface as well via tryQueryInterface.
  • IGlGraphicsSurface — Interface that abstracts a graphics surface suitable for rendering with GL ES API. IGraphicsSurface object created with IGpuDevice for GL ES API is expected to provide IGlGraphicsSurface interface as well.
  • IGlImage — Interface that abstracts a GLES image which uses IBufferGroup as it’s backing store.
  • IGpuDevice — 3D display render device
  • IGraphicsSurface — A rectangular region that can be rendered to
  • IInputEvent — Base interface which defines an input event from graphics subsystem.
  • IKeyEvent — Interface which defines a key event
  • IMediaSurface — A high level interface for clients to queue media Buffers for presentation. Any media player can use this interface to present its buffers.
  • IMediaSurface2 — A high level interface for clients to queue media Buffers for presentation. Any media player can use this interface to present its buffers.
  • IMemoryRecord — Base interface which defines different memory types. This helps the client to query total amount of memory of different memory types which is being currently used by the client.
  • IMemoryStats — Base interface which defines memory related stats of a process
  • IPointerEvent — Interface which defines a pointer event. A pointer event may have more than one pointer points i.e
  • IStreamingSurface — A high level interface for clients to queue streaming Buffers for presentation. Streaming clients are recommended to use this interface to present their buffers.
  • ISurfaceControl — ISurfaceControl abstracts all common tasks for surfaces.
  • ITargetProperties — Target properties which can be passed in presentation to IMediaSurface, Client can use this interface to pass hints like aspect ratio, rotation and Scaling mode, etc,. to be applied by display pipeline during buffer presentation.
  • ITouchEvent — Interface which defines a touch event
  • ITouchPoint — Interface which defines a touchpoint
  • IWindow — A window is a rectangle area where the client can render a scene on a display. This class represents a window and provides methods to create / destroy a window with desired properties such as format, size, role, and more. Once the window is created, its state can be managed through this class. By default, Window is assumed to show transparent pixels and ChildWindow Opaque content. Clients can override these settings to optimize rendering appropriately.
  • IWindow2 — Revision 2 of IWindow.
  • IWindow3 — Revision 3 of IWindow. Please see [IWindow] and [IWindow2]. One can retrieve IWindow3 interface by calling window.TryQueryInterface<IWindow3>() assuming ‘window’ object implemented IWindow3 interface.
  • IWindow4 — Revision 4 of IWindow. Please see [IWindow], [IWindow2] and [IWindow3]. One can retrieve IWindow4 interface by calling window.TryQueryInterface<IWindow4>() assuming ‘window’ object implemented IWindow4 interface.
  • IWindow5 — Revision 5 of IWindow. Please see IWindow, IWindow2, IWindow3 and IWindow4 One can retrieve IWindow5 interface by calling window.TryQueryInterface<IWindow5>() assuming ‘window’ object implemented IWindow5 interface.
  • IScreenshotManager — IScreenshotManager provides function about screenshot, IWindow which set secure state true cannot be taken for screenshot. We use same object to implement both IDisplay and IScreenshotManager. Client can call tryQueryInterface to get screenshot manger from IDisplay.
  • IScreenshotManager2 — IScreenshotManager provides function about screenshot, IWindow which set secure state true cannot be taken for screenshot. We use same object to implement both IDisplay and IScreenshotManager. Client can call tryQueryInterface to get screenshot manger from IDisplay.
  • BufferUsage — Provides an interface to specify a set of possible usages of a buffer. This is needed when creating a buffer and can’t change once a buffer is created. Please see [IGraphicsModule#createGraphicsBuffer].
  • ContextConfigAttributes — Interface that encapsulates various client desired attributes related to context configuration. ContextConfigAttributes helps clients choose the desired context configuration. Clients can retrieve a set of supported and available context configurations (IContextConfig) based on a ContextConfigAttributes object. While creating IContext and IGraphicsSurface, the desired IContextConfig object needs to be passed in. While building ContextConfigAttributes, clients must set each mandatory field explicitly. A field is mandatory unless marked as optional.
  • GraphicsBufferData — Interface that encapsulates graphics buffer data corresponding to one instance of IBuffer (represents a plane) based on the memory layout of the buffer when it gets mapped in CPU/system memory. Please refer IByteBuffer & IMutableByteBuffer for mapping related API.
  • GraphicsBufferGroupData — Interface that encapsulates graphics buffer group data corresponding to one instance of IBufferGroup. A group may have one or more buffers but they have a set of common properties. This interface provides access to them.
  • GraphicsFrameMetadata — Interface that contains per frame dynamic meta data which helps define a frame. Please see [IMediaSurface#presentBuffer]
  • OverscanBorder — Interface that handles the overscan border data. Each border value is expressed as percentage of the display width or height. The valid range of values for each border is 0 to 0.15, where 0 means no overscan and 0.15 refers to 15% overscan in a side.
  • PointerButton — Interface that encapsulates button interface of a pointer device.
  • PointerScroll — Interface that encapsulates scroll movement interface of a pointer device.
  • IGraphicsModule — Top-level graphics module and factory for all graphics components.

Structs

  • AisrState — AI Super Resolution (AISR) state for system-wide upscaling preference. The compositor persists and broadcasts this setting. AISR processing is handled client-side. Please see [IDisplay5#getAisrState]
  • BufferMime — Buffer Mime type. This indicates what video coding standard is used in the underlying buffer. This is used while creating a graphics buffer [IGraphicsModule#createGraphicsBuffer]
  • BufferOrigin — BufferOrigin can be used to indicate the origin of buffer. It shows where the co-ordinate system origin locates. This gets used in [ITargetProperties].
  • BufferPixelFormat — Buffer Pixel Format specifies the memory layout and bits used to store the data within the buffer. This is used while creating a graphics buffer [IGraphicsModule#createGraphicsBuffer].
  • ColorDepth — Display hardware may use different video quantization ranges, which are important for ensuring that video signals are accurately represented and displayed. These ranges deal with how color and brightness levels are encoded and transmitted. The quantization range can also be affected by the bit depth of the video signal. Common bit depths include 8-bit, 10-bit, and 12-bit, with higher bit depths allowing for finer gradations in color and brightness. Below is all possible color depths in a display. System would always try to choose the highest supported color depth not exceeding the requested one i.e it may fall back to lower ones if necessary to keep the system functional. COLORDEPTH_X means, system would try to use X if X is supported otherwise choose a lower color depth but will never choose one above X. Please see [IDisplayManager#setColorDepth].
  • ColorSpace — Display hardware may use different video quantization ranges, which are important for ensuring that video signals are accurately represented and displayed. These ranges deal with how color and brightness levels are encoded and transmitted. Different color spaces (like RGB, YCbCr) might use different quantization ranges. For example, RGB is often used with full range, while YCbCr might be used with either full or limited range. Here we define all possible color spaces in a display. Please see [IDisplayManager#setColorSpace].
  • CompressionPolicy — Specifies various levels of internal compression technologies system can enable on buffers and textures for optimal performance and power consumptions. These compression level hints are different than the compression technologies required to support application level compressed image/texture formats. Compression ratio for ‘MODERATE’ is less than ‘AGGRESSIVE’ and the actual compression ratio and technologies would be different even for the same policy on different platforms based on the underlying hardware support. Please see [ContextConfigAttributes].
  • ContentType — A display may have different kind of contents on the screen. Below is the list of defined types. Please see [IDisplay#addContentTypeListener].
  • DamageStatus — Damage information for surface rendering. Please see [IFrameHint]
  • DisplayClockId — Display clock id wrapper. It contains id which is type of clockid_t. Please see [IMediaSurface#getClockId]
  • DisplayHardwareCapabilityType — Defines all possible underlying display hardware technologies as capabilities. A display can report a set of these technologies as a list of supported capabilities. [IDisplay#getSupportedHardwareCapabilities]
  • EpochTime — Epoch time wrapper. Please see [IVsyncListener#onVsync].
  • HdcpLevel — Defines all possible HDCP levels that could be supported by a display. Please see [IDisplay#getCurrentHdcpLevel]
  • HdrMode — High dynamic range mode for IDisplay. Please see [IDisplay#getHdrMode]
  • HdrType — Defines list of supported underlying HDR technologies. Please see [IDisplayConfig#getSupportedHdrType]
  • WindowRole — Defines all possible window roles supported by display subsystem. Role determines the z-order of the window, behaviors when interacted with users, position, size and life time management.
  • LlmState — Defines all possible low latency mode (LLM) states that could be supported by a display.
  • MediaSurfaceQueueState — MediaSurfaceQueueState provides ability for client to control the presentation state of MediaSurface.
  • MrrContentType — Defines list of various source or content type with respect to compatibility with non-preferred refresh rates
  • MrrTransitionMode — Defines list of various refresh rate transition types supported by MRR
  • PointerSource — Defines the source of pointer event
  • TouchPointState — Defines the state of a touchpoint.
  • ViewportShape — Describes the physical shape of the display viewport. Allows applications to identify whether the display is rectangular or round and adapt their UI accordingly. Please see [IDisplay6#getViewportShape]
  • PointF — PointF defines a point on a plane using floating point precision.
  • PowerState — All possible display power states.
  • PresentationMode — Specifies various modes of presentation engine and how it updates the current image on the screen, affecting the perceived smoothness and latency of rendering. Please see [IContextConfig] and [ContextConfigAttributes].
  • PresentResult — PresentResult shows the result of presentBuffer call. it show the state of buffer rendering, based on the state result, clients can do more operations to ensure the buffer is displayed on screen correctly. [IMediaSurface#presentBuffer]
  • RectI — RectI defines a rectangle in the plane using integer precision. The unit of fields are density pixel.
  • RectF — RectF defines a finite rectangle in the plane using floating point precision. RectF holds top-left corner coordinates and size of a rectangle.
  • RenderingCapabilities — Available Render capabilities [IGpuDevice#getRenderingCapabilities]
  • ScalingMode — Defines Aspect ratio behavior of buffers while being presented on screen using MediaSurface.
  • Rotation — Rotation which can be applied to buffers and displays
  • ZorderPosition — Enums to indicate child window position relative to the reference window [IWindow#createChildWindow]
  • AxisType — Defines the axis types of scroll events.
  • AxisRelativeDirection — Defines the direction of the physical motion that caused a PointerScroll event, relative to the direction of the AxisType in scroll event. For a PointerScroll event, the axisRelativeDirection specifies the movement direction of the entity causing the PointerScroll event. For example: - if a user’s fingers on a touchpad move down and this causes a VERTICAL scroll down event, the physical direction is ‘identical’ - if a user’s fingers on a touchpad move down and this causes a VERTICAL scroll up event (‘natural scrolling’), the physical direction is ‘inverted’.
Last modified on October 29, 2026