Represents a Canvas that is owned and dropped when it goes out of scope and is bound to
the lifetime of some other value (an array of pixels for example).
Bitmap describes a two-dimensional raster pixel array. Bitmap is built on ImageInfo,
containing integer width and height, ColorType and AlphaType describing the pixel
format, and ColorSpace describing the range of colors. Bitmap points to PixelRef,
which describes the physical array of pixels. ImageInfo bounds may be located anywhere fully
inside PixelRef bounds.
Blender represents a custom blend function in the Skia pipeline. A blender combines a source
color (the result of our paint) and destination color (from the canvas) into a final color.
ColorTable holds the lookup tables for each channel (ARGB) used to define the filter behavior
of SkColorFilters::Table, and provides a way to share the table data between client code and
the returned crate::ColorFilter. Once created, an ColorTable is immutable.
Image describes a two dimensional array of pixels to draw. The pixels may be
decoded in a raster bitmap, encoded in a Picture or compressed data stream,
or located in GPU memory as a GPU texture.
Path contain geometry. Path may be empty, or contain one or more verbs that
outline a figure. Path always starts with a move verb to a Cartesian coordinate,
and may be followed by additional verbs that add lines or curves.
Adding a close verb makes the geometry into a continuous loop, a closed contour.
Path may contain any number of contours, each beginning with a move verb.
Surface is responsible for managing the pixels that a canvas draws into. The pixels can be
allocated either in CPU memory (a raster surface) or on the GPU (a RenderTarget surface).
Surface takes care of allocating a Canvas that will draw into the surface. Call
surface_get_canvas() to use that canvas (but don’t delete it, it is owned by the surface).
Surface always has non-zero dimensions. If there is a request for a new surface, and either
of the requested dimensions are zero, then None will be returned.
Specifies the structure of planes for a YUV image with optional alpha. The actual planar data
is not part of this structure and depending on usage is in external textures or pixmaps.