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

  • ICanvas — ICanvas provides an interface for drawing, and how the drawing is clipped and transformed.
  • ICanvas2 — ICanvas2 interface extends ICanvas and defines new methods for drawing image and applying image filters.
  • SaveLayerConfig — Configuration data object for ICanvas3::saveLayerWithConfig. All fields are nullable. Constructed using the builder pattern via MakeBuilderFor<SaveLayerConfig>(). See graphics-Canvas_UserGuide.md for usage examples and backdrop filter behavior details.
  • ICanvas3 — ICanvas3 interface extends ICanvas2 with support for backdrop filtering via SaveLayerConfig. It defines a new ::saveLayerWithConfig method that accepts a SaveLayerConfig data object to configure layer allocation with optional bounds, paint, and backdrop filter parameters. See graphics-Canvas_UserGuide.md for details.
  • ICanvas4 — ICanvas4 interface extends ICanvas3 with primitives for drawing the shadows of Rect and RRect occluders, following CSS box-shadow semantics.
  • IClipRectLayer — Interface for a ILayer that supports clipping with Rect. The IClipRectLayer interface extends the ILayer interface and adds methods for setting and retrieving the Rect used for intersecting clipping operation with anti-aliasing enabled.
  • IClipRRectLayer — Interface for a ILayer that supports clipping with RRect. The IClipRRectLayer interface extends the ILayer interface and adds methods for setting and retrieving the RRect used for intersecting clipping operation with anti-aliasing enabled.
  • IColorFilter — A color filter modifies the Color of each pixel of a visual resource. When added in IPaint object, they are called with the “src” Color, and return new Color.
  • IDrawableLayer — IDrawableLayer is ILayer that can be used to IPaint on the ICanvas. This ILayer can be invalidated for redraw.
  • IDrawableLayer2 — IDrawableLayer2 extends IDrawableLayer and adds the capability to retrieve the delegate.
  • IDrawableLayerDelegate — Custom drawing callback required to construct drawable layer.
  • ITypeface — The interface specifies the typeface and intrinsic style of a font.
  • IFont — The Interface representing a font, providing access to typeface, metrics, and transformations.
  • ILayer — Fundamental layer abstraction to compose a layer tree for rendering purpose
  • ILayer2 — ILayer2 extends ILayer and adds the capability to draw layer trees to a canvas.
  • IMaskFilter — IMaskFilter is the base interface for object that perform transformations on an alpha-channel mask before drawing it.
  • IOffsetLayer — Interface for a ILayer that supports offsetting its position.
  • IOpacityLayer — Interface for a ILayer that supports opacity and overlapping drawing settings.
  • IBlendLayer — Interface for a ILayer that enables blending using a specified blend mode.
  • IImageFilterLayer — This interface extends ILayer2 and represents a layer that applies an image filter to its children. An image filter layer applies image processing operations (like blur, color adjustment, or transformation) to the combined result of all its child layers. The filter is applied when the layer is composited with its parent, not when children are drawn. Changes to the filter take effect on next draw
  • IPaint — The IPaint interface holds the style and color information about how to draw geometries etc.
  • IPath — The IPath interface encapsulates compound (multiple contour) geometric paths consisting of straight line segments, quadratic curves, and cubic curves.
  • IPathBuilder — IPathBuilder interface helps in constructing a Path object with specificied path operations. with operations such as addPath, ArcTo etc.
  • IPathBuilder2 — IPathBuilder2 interface extends IPathBuilder and defines new methods for appending arcs to the path being constructed.
  • IPathMeasure — The IPathMeasure interface provides utilities to measure a path constructed via IPathBuilder. The path being measured is fixed at construction time (see IGraphicsModule5::makePathMeasure); to measure a different path, create a new IPathMeasure instance.
  • IImage — IImage represents a decoded image in memory that can be drawn, transformed, manipulated or encoded.
  • IImage2 — Extended image interface with quality-controlled encoding.
  • IImageFilter — IImageFilter represents a filter that can be applied to a canvas or image rendering pipeline to transform rendered content through configurable image processing operations.
  • ISurface — ISurface represents a mutable drawable surface that provides access to a memory buffer for rendering operations.
  • IPathEffect — IPathEffect is the base class for objects in the IPaint that affect the geometry of a drawing primitive before it is transformed by the ICanvas matrix and drawn.
  • IPlaceholderLayer — A ILayer subclass that does not affect the drawing but provides notifications for its size, position, and invalidation status. The primary purpose of IPlaceholderLayer is to send notifications for its size, position, and invalidation status.
  • IPlaceholderLayerListener — This interface defines callback methods to handle changes in position, size, and invalidation status of a IPlaceHolderLayer. Implementers of this interface can respond to these events as needed.
  • ITask — Interface that represents a task to execute on a IRunLoop.
  • IRunLoop — An IRunLoop is a task-processing loop running on a thread. This interface provides functions to allow callers to run tasks synchronously or asynchronously. Asynchronous tasks may be scheduled to run in the future and designated as repeating or only executing one time.
  • IRunLoop2 — This interface extends IRunLoop with an additional API to check whether the calling thread is the run loop thread.
  • IShader — Represents a IShader, which is a graphics object that produces a color or texture. Shaders are used to fill shapes and backgrounds when rendering graphics. Shaders specify the source Color(s) for what is being drawn. If a IPaint has no shader, then the IPaint Color is used. If the IPaint has a shader, then the shader’s Color(s) are use instead.
  • IRuntimeShader — A shader compiled from source at runtime, enabling custom GPU visual effects.
  • ChildShaderInput — A binding between a child shader uniform name and an image filter input, for use with IGraphicsModule7::makeMultiInputRuntimeShaderImageFilter.
  • IShadowBuilder — IShadowBuilder interface helps in constructing a Shadow with specific properties.
  • IShadow — IShadow interface represents the properties of a shadow effect.
  • ITransformLayer — Interface for a transformable ILayer in the rendering system. The ITransformLayer interface defines a ILayer that supports matrix transformations.
  • ITextLayoutBuilder — This interface defines a set of methods for constructing and customizing text layouts, allowing you to specify attributes such as width, attributed text, text style, and paragraph style. Once the desired attributes are set, you can use the ‘build’ method to generate the final text layout.
  • ILineMetric — Interface containing typographic metrics for a single line of text within a paragraph.
  • ITextLine — Represents a single laid-out line of text within a paragraph.
  • ITextLayout — An interface that manages text layout in visual elements on the screen.
  • ITextLayout2 — This interface extends ITextLayout with additional functionalities to retrieve data such as line metrics, text lines and rects for a particular range.
  • ITextLayout3 — This interface extends ITextLayout2 with additional functionalities to retrieve ellipsis-related information for lines with text truncation.
  • ITextLayout4 — Extends ITextLayout3 with a method to query the UTF-16 character index at a coordinate within the laid-out text.
  • ITextLayout5 — This interface extends ITextLayout4 with the ability to render the layout’s text along a path.
  • ISpan — This is the base Interface for for representing a text span and defines methods for working with them. Span refers to a portion of text that shares a common set of attributes or styles
  • ITextStyleSpan — This interface defines methods for working with text style spans, which apply specific text styles to a range of text.
  • ILayoutSpan — This interface defines methods for working with layout spans, which provide information about the line break in span or not.
  • IAttributedText — The structured form of text with zero or more spans(ranges of characters in the text) that can style areas of it differently
  • IFontStyle — interface which defines FontStyle of a font TypeFace.
  • ITextStyle — interface which defines set of styles that can be applied to the text such as font size, color etc.
  • ITextStyleBuilder — interface which builds the text styling object
  • IParagraphStyle — interface for paragraph styling configuration of a paragraph
  • IParagraphStyleBuilder — interface which builds the paragraph style for text
  • IParagraphStyle2 — This interface extends IParagraphStyle with additional functionalities to get EllipsisMode.
  • IParagraphStyleBuilder2 — This interface extends IParagraphStyleBuilder with additional functionalities to add EllipsisMode.
  • ITextStyleBuilder2 — Interface extends ITextStyleBuilder to provide additional vertical text alignment capabilities.
  • ITextStyleBuilder3 — Interface extends ITextStyleBuilder2 to provide additional shadow, text decoration color capabilities and provide OpenType font feature settings capabilities.
  • ITextStyle2 — Text Style v2 extends ITextStyle to support vertical text alignment properties.
  • ITextStyle3 — Interface extends ITextStyle2 to provide additional shadow, text decoration color capabilities and support OpenType font feature settings.
  • ITextStyle4 — Text Style v4 extends ITextStyle3 to support the foreground paint used to render glyphs.
  • ITextStyleBuilder4 — Interface extends ITextStyleBuilder3 to allow setting a full IPaint as the foreground used to render glyphs.
  • IMemoryCacheManager — This interface is a utility for graphics memory cache management.
  • IGraphicsUtils — Utility interface for image utility operations that do not require full pixel decoding. Currently supported formats are PNG, JPEG, and WebP.
  • IGraphicsModule — UI graphics module This interface acts as an entry point factory for graphics rendering.
  • IGraphicsModule2 — Graphics Module v2 extends IGraphicsModule and defines new methods to create surface, additional layers, image filters, shader and decoded image.
  • IGraphicsModule3 — This interface extends IGraphicsModule2 to provide additional control over image decoding, including target size specification and region-based partial image decoding.
  • IGraphicsModule4 — This interface extends IGraphicsModule3 to provide additional control over attributed text creation from markup strings.
  • IGraphicsModule5 — This interface extends IGraphicsModule4 to provide a factory for IPathMeasure.
  • IGraphicsModule6 — This interface extends IGraphicsModule5 to provide access to IGraphicsUtils.
  • IGraphicsModule7

Structs

  • Color — RGBA color which fits the format of colors having Alpha, Red, Green and Blue Channels. Each channel is represented as a float in the range {0.0, 1.0}. If a channel value is less than 0.0, it is clamped to 0.0. If a channel value is greater than 1.0, it is clamped to 1.0.
  • ColorMatrix — Data object defining 4x5 matrix for transforming the Color and alpha components of a Bitmap. The matrix can be passed as single array and is treated as follows: [ a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t ] a, g, m, s denote the scale values for R, G, B, A components and e, j, o, t denote translation values for R, G, B, A components respectively.
  • FontMetrics — FontMetrics represents the metrics of a font such as its ascent and descent.
  • LayerStorageType — Represents the storage type for a layer in the rendering system. This sealed struct defines different types of storage mechanisms for layers, specifying how the layer content and its children are managed and drawn.
  • AffineMatrix — An affine matrix is used to rotate, scale, translate, or skew the objects you draw in a graphics context. change name to AffineMatrix Affine transforms are represented by a 2 by 3 matrix: Because the third column is always (0,0,1), the affine matrix contains values for only the first two columns.
  • ArcSize — Determines if the arc should be greater than or less than 180 degrees Value more that 1 will be treated as invalid ArcSize and ArcSize::SMALL will be applied. Example: See paths documentation
  • FillType — Struct for the ways a path may be filled. Value more that 1 will be treated as invalid FillType and FillType::EVEN_ODD will be applied.
  • EncodedImageFormat — Encoding image format supported by the toolkit
  • ImageFilterQuality — Image filter quality represents the sampling quality used while transforming images.
  • Rect — Rect holds four device pixel coordinates for a rectangle.
  • RRect — RRect holds four device pixel coordinates for a rounded rectangle along with corner radius.
  • RectI — RectI defines a rectangle in the plane using integer precision.
  • TaskPriority — TaskPriority is used to set the priority of task execution in IRunLoop. Supported priorities are HIGH, DEFAULT, and LOW. Tasks that have HIGH priority are executed before DEFAULT priority tasks and DEFAULT priority tasks are executed before LOW priority tasks.
  • Size — Size is used to give dimensions to a UI view.
  • SizeI — SizeI holds integer width and height of a region.
  • Point — A point within a region on screen.
  • TextDecoration — Struct for defining a horizontal line to be drawn on the text. Multiple decorations can be applied at once. Ex: Underline and overline is UNDERLINE (1) | OVERLINE (2) For combining decorations, use bitwise OR. For example:
  • FontWeight — The FontWeight struct refers to the thickness or boldness of glyphs in a typeface. Higher values indicate bolder text. Predefined preset values are available for common use.
  • FontWidth — The FontWidth struct refers to the relative proportion of the width of characters in a typeface. Predefined preset values are available for common use.
  • EllipsisMode — Specifies how to handle text that overflows its available width.
  • FontFeatureSetting — OpenType features are typographic and language support features built into fonts. They allow fine-grained control over text rendering. Common features include:

Enumerations

  • BlurStyle
  • PaintStyle — Paint Style defines whether the drawing will be filled, stroked.
  • StrokeCap — StrokeCap defines the shape to be used at the end of open subpaths. Example: See stroke-linecap documentation
  • StrokeJoin — StrokeJoin defines how the lines and curve segments join on a stroked path. Example: See stroke-linejoin documentation
  • BlendMode — Algorithms to use when painting on the ICanvas. When drawing a shape or image onto a ICanvas, different algorithms can be used to blend the pixels. The different values of BlendMode specify different such algorithms.
  • WindingDirection — Specifies how closed shapes (e.g. rects, ovals) are oriented when they are added to a path.
  • TileMode — Represents the tiling modes available for a shader.
  • TextDirection — Enum for determining the direction of text.
  • TextAlignment — Enum for determining the alignment of text horizontally.
  • VerticalTextAlignment — Enum for determining the alignment of text vertically.
  • FontSlant — Enum for defining Slant values of FontStyles
  • LineHeightBehavior — Enum for defining Text line behavior. It determines how line height is calculated when rendering text. It provides options for adjusting ascent, descent, and leading offset values. The ascent is the distance from the baseline to the top of the tallest character in a font. The descent is the distance from the baseline to the bottom of the lowest character in a font. Baseline is an imaginary horizontal line upon which characters in a font appear to rest.
  • TextDecorationStyle — Enum for defining the styling for the text decoration line.
Last modified on October 29, 2026