# Package icyllis.arc3d.core

package icyllis.arc3d.core
Public API package.

- Related Packages
  Package
  Description
  icyllis.arc3d.core.effects
  icyllis.arc3d.core.image
  icyllis.arc3d.core.j2d
  icyllis.arc3d.core.shaders
- Class
  Description
  ArcData
  Blender
  `Blender` represents a custom blend function in the pipeline.
  BlendMode
  Blend modes, all the blend equations apply to premultiplied colors.
  Canvas
  A Canvas provides an interface for drawing 2D geometries, images, and how the drawing is clipped and transformed.
  Canvas.PointMode
  The `PointMode` selects if an array of points is drawn as discrete points, as lines, or as an open polygon.
  Canvas.SaveLayerFlag
  SaveLayerFlags provides options that may be used in any combination in SaveLayerRec, defining how layer allocated by saveLayer() operates.
  Canvas.SrcRectConstraint
  The `SrcRectConstraint` controls the behavior at the edge of source rect, provided to drawImageRect() when there is any filtering.
  ClipOp
  Clip ops.
  Color
  The `Color` class provides methods for creating, converting and manipulating colors.
  ColorInfo
  Describes pixel dimensions and encoding.
  ColorInfo.AlphaType
  Describes how to interpret the alpha component of a pixel.
  ColorInfo.ColorType
  Describes how pixel bits encode color.
  ColorInfo.CompressionType
  ColorInt
  Denotes that the annotated element represents a packed 32-bit ARGB color value, un-premultiplied, `AARRGGBB`.
  ColorSpace
  A `ColorSpace` is used to identify a specific organization of colors.
  ColorSpace.Adaptation
  ColorSpace.Connector
  ColorSpace.Connector.Rgb
  Optimized connector for RGB->RGB conversions.
  ColorSpace.Model
  A color model is required by a `ColorSpace` to describe the way colors can be represented as tuples of numbers.
  ColorSpace.Named
  List of common, named color spaces.
  ColorSpace.RenderIntent
  A render intent determines how a `connector` maps colors from one color space to another.
  ColorSpace.Rgb
  ColorSpace.Rgb.TransferParameters
  Device
  Base class for drawing devices.
  DisplayList
  This class contains pre-processed graphics operations that can be replayed into a `Surface` via Surface::draw(DeferredDisplayList*).
  DisplayListRecorder
  This class is intended to be used as: Get an `SurfaceCharacterization` representing the intended gpu-backed destination `Surface` Create a `DisplayListRecorder` Get the canvas and render into it Snap off and hold on to an `DisplayList` Once your app actually needs the pixels, call Surface::draw(DeferredDisplayList*)
  Font
  Font controls options applied when drawing text.
  FP16
  The `FP16` class is a wrapper and a utility class to manipulate half-precision 16-bit IEEE 754 floating point data types (also called fp16 or binary16).
  GenerationID
  An object with identity.
  GeometryUtils
  Geometry solvers.
  Glyph
  Represents a CPU glyph + digest information for GPU drawing, managed by `Strike`.
  GlyphRun
  GlyphRun provides raw buffer views and represents a text run.
  GlyphRunBuilder
  Builds and provides a reusable `GlyphRunList`.
  GlyphRunList
  GlyphRunList provides a buffer view to GlyphRuns and additional drawing info.
  Image
  Image describes a two-dimensional array of pixels to draw.
  ImageFilter
  Base class for image filters (sometimes known as image effects, or post-processing effects).
  ImageInfo
  Describes pixel dimensions and encoding.
  Kernel32
  Native bindings to kernel32.dll.
  Kernel32.Functions
  Contains the function pointers loaded from the kernel32 `SharedLibrary`.
  Mask
  MaskFilter
  MathUtil
  Utility class that provides auxiliary operations.
  Matrix
  This class represents a 3x3 matrix and a 2D transformation, its components correspond to x, y, and w of a 4x4 matrix, where z is discarded.
  Matrix3
  Matrix4
  This class represents a 4x4 matrix and a 3D transformation, using the right-hand rule.
  Matrix4c
  Interface to a read-only view of a 4x4 matrix for 3D transformation.
  Matrixc
  Interface to a read-only view of a 3x3 matrix for 2D transformation.
  NoDrawCanvas
  NoPixelsDevice
  The NoPixelsDevice draws nothing, but tracks device's clip.
  NWayCanvas
  Paint
  `Paint` controls options applied when drawing.
  Paint.Align
  The `Align` specifies the treatment where the stroke is placed in relation to the object edge, this only applies to closed contours.
  Paint.Cap
  The `Cap` specifies the treatment for the beginning and ending of stroked lines and paths.
  Paint.Join
  The `Join` specifies the treatment where lines and curve segments join on a stroked path.
  Paint.Style
  Set `Style` to fill, stroke, or both fill and stroke geometry.
  PaintFilterCanvas
  Pair<L,R>
  Immutable pair of two elements by default.
  Path
  The `Path` object contains mutable path elements.
  Path.FillRule
  Path.SegmentMask
  Segment constants correspond to each drawing verb type in path; for instance, if path contains only lines, only the Line bit is set.
  PathConsumer
  Accepts `Path` elements.
  PathEffect
  PathIterable
  PathIterator
  Iterates `Path` elements.
  PathMeasure
  `PathMeasure` provides measurements on segments of path contours (lines, quadratic curves, cubic curves), such as determining the length of the path, and/or finding the position and tangent along it.
  PathMeasure.MatrixFlags
  PathStroker
  PathStroker is a `PathConsumer` that converts paths by stroking paths.
  PathStroker.Capper
  PathStroker.Joiner
  PathUtils
  Pixels
  This class is the smart container for pixel memory.
  This class may be shared/accessed between multiple threads.
  PixelUtils
  Utilities to access and convert pixels, heap and native.
  PixelUtils.PixelLoad
  Load pixel value in low precision.
  PixelUtils.PixelOp
  Load or store pixel value in high precision.
  PixelUtils.PixelStore
  Store pixel value in low precision.
  Pixmap
  Immutable structure that pairs ImageInfo with pixels and row bytes.
  Point
  Quad
  Quaternion
  Represents a Quaternion, mostly used for rotations.
  RawPtr
  Denotes a use of a reference-counted object doesn't change the reference count, or an auto-closeable object doesn't close the object.
  Rect2f
  The `Rect2f` holds four float coordinates describing the upper and lower bounds of a rectangle.
  Rect2fc
  Interface to a read-only view of a rectangle in float coordinates.
  Rect2i
  The `Rect2i` holds four integer coordinates describing the upper and lower bounds of a rectangle (left, top, right bottom).
  Rect2ic
  Interface to a read-only view of a rectangle in integer coordinates.
  RectanglePacker
  Packs rectangles into a larger rectangle.
  RectanglePacker.BinaryTree
  RectanglePacker.Horizon
  RectanglePacker.HorizonOld
  RectanglePacker.Power2Line
  RectanglePacker.Skyline
  Tracks the current silhouette, optimized.
  RefCnt
  Base class for objects that may be shared by multiple objects.
  RefCounted
  Marks an object as reference-counted, behavior is implementation-dependent.
  RoundRect
  Represents a rounded rectangle with a bounds and a pair of radii for each corner.
  SamplingOptions
  Immutable struct describing image sampling options (resampling or interpolation method).
  SamplingOptions.FilterMode
  The `FilterMode` specifies the sampling method on transformed texture images.
  SamplingOptions.MipmapMode
  The `MipmapMode` specifies the interpolation method for MIP image levels when down-sampling texture images.
  ScalerContext
  The ScalerContext controls the rasterization with a specified typeface and rasterization options.
  ScalerContext.GlyphMetrics
  ShaderUtils
  SharedPtr
  Denotes something like C++ std::shared_ptr.
  Size
  Denotes that the annotated element should have a given size or length.
  SLDataType
  Types of shader-language-specific boxed variables we can create, shared constants.
  Strike
  The font strike holds the results from `ScalerContext`.
  StrikeCache
  StrikeDesc
  Descriptor of font strike.
  StrokeRec
  This class collects stroke params from paint and constructs new paths by stroking geometries.
  Surface
  Surface is responsible for managing the pixels that a canvas draws into.
  SurfaceCharacterization
  A surface characterization contains all the information Engine requires to make its internal rendering decisions.
  TextBlob
  TextBlob combines multiple text runs into an immutable container.
  TextBlob.Builder
  Helper class for constructing TextBlob.
  Typeface
  Typeface class specifies the typeface (font face) and intrinsic style of a font.
  UniqueID
  An object with identity.
  Vector3
  Represents a three-dimensional vector.
  Vector4
  Represents a four-dimensional vector.
  Vertices
  An immutable set of vertex data that can be used with `Canvas.drawVertices(icyllis.arc3d.core.Vertices, icyllis.arc3d.core.Blender, icyllis.arc3d.core.Paint)`.