Module i_slint_core::graphics
source · [−]Expand description
Graphics Abstractions.
This module contains the abstractions and convenience types used for rendering.
The run-time library also makes use of RenderingCache to store the rendering primitives created by the backend in a type-erased manner.
Re-exports
pub use euclid;
Modules
This module contains a simple helper type to measure the average number of frames rendered per second.
Structs
A subset of an originally scalable font that’s rendered ahead of time.
A pre-rendered glyph with the alpha map and associated metrics
A set of pre-rendered bitmap glyphs at a fixed pixel size
CachedGraphicsData allows the graphics backend to store an arbitrary piece of data associated with an item, which is typically computed by accessing properties. The dependency_tracker is used to allow for a lazy computation. Typically back ends store either compute intensive data or handles that refer to data that’s stored in GPU memory.
An entry in the character map of a BitmapFont
.
Color represents a color in the Slint run-time, represented using 8-bit channels for
red, green, blue and the alpha (opacity).
It can be conveniently converted using the to_
and from_
(a)rgb helper functions:
FontRequest collects all the developer-configurable properties for fonts, such as family, weight, etc.
It is submitted as a request to the platform font system (i.e. CoreText on macOS) and in exchange the
backend returns a Box
GradientStop describes a single color stop in a gradient. The colors between multiple stops are interpolated.
An image type that can be displayed by the Image element. You can construct
Image objects from a path to an image file on disk, using Self::load_from_path
.
The LinearGradientBrush describes a way of filling a shape with different colors, which are interpolated between different stops. The colors are aligned with a line that’s rotated by the LinearGradient’s angle.
Error generated if an image cannot be loaded for any reasons.
PathArcTo describes the event of moving the cursor on the path across an arc to the specified x/y coordinates, with the specified x/y radius and additional properties.
Helper struct containing the offsets of the fields of the struct PathArcTo
PathCubicTo describes a smooth Bézier curve from the path’s current position to the specified x/y location, using two control points.
Helper struct containing the offsets of the fields of the struct PathCubicTo
PathDataIterator is a data structure that acts as starting point for iterating through the low-level events of a path. If the path was constructed from said events, then it is a very thin abstraction. If the path was created from higher-level elements, then an intermediate lyon path is required/built.
PathLineTo describes the event of moving the cursor on the path to the specified location along a straight line.
Helper struct containing the offsets of the fields of the struct PathLineTo
PathMoveTo describes the event of setting the cursor on the path to use as starting
point for sub-sequent events, such as LineTo
. Moving the cursor also implicitly closes
sub-paths and therefore beings a new sub-path.
Helper struct containing the offsets of the fields of the struct PathMoveTo
PathCubicTo describes a smooth Bézier curve from the path’s current position to the specified x/y location, using one control points.
Helper struct containing the offsets of the fields of the struct PathQuadraticTo
The RenderingCache, in combination with CachedGraphicsData, allows back ends to store data that’s either intensive to compute or has bad CPU locality. Back ends typically keep a RenderingCache instance and use the item’s cached_rendering_data() integer as index in the vec_arena::Arena.
RgbaColor stores the red, green, blue and alpha components of a color
with the precision of the generic parameter T. For example if T is f32,
the values are normalized between 0 and 1. If T is u8, they values range
is 0 to 255.
This is merely a helper class for use with Color
.
SharedPixelBuffer is a container for storing image data as pixels. It is internally reference counted and cheap to clone.
Some raw pixel data which is typically stored in the binary
A texture is stored in read-only memory and may be composed of sub-textures.
Enums
A brush is a data structure that is used to describe how a shape, such as a rectangle, path or even text, shall be filled. A brush can also be applied to the outline of a shape, that means the fill of the outline itself.
A resource is a reference to binary data, for example images. They can be accessible on the file system or embedded in the resulting binary. Or they might be URLs to a web server and a downloaded is necessary before they can be used. cbindgen:prefix-with-name
PathData represents a path described by either high-level elements or low-level events and coordinates.
PathElement describes a single element on a path, such as move-to, line-to, etc.
The pixel format of a StaticTexture
SharedImageBuffer is a container for images that are stored in CPU accessible memory.
Functions
Returns the start / end points of a gradient within the [-0.5; 0.5] unit square, based on the angle (in degree).
Type Definitions
2D Rectangle with integer coordinates
2D Size in integer coordinates
2D Point
2D Rectangle
Convenience alias for a pixel with three color channels (red, green and blue), each encoded as u8.
Convenience alias for a pixel with four color channels (red, green, blue and alpha), each encoded as u8.
2D Size
2D Transform