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§

Modules§

  • This module contains border radius related types for the run-time library.
  • This module contains image and caching related types for the run-time library.
  • This module contains a simple helper type to measure the average number of frames rendered per second.

Macros§

  • Instantiate a static OpaqueImageVTable for a given type and implements vtable::HasStaticVTable<OpaqueImageVTable> for it.

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
  • This structure contains fields to identify and render an OpenGL texture that Slint borrows from the application code. Use this to embed a native OpenGL texture into a Slint scene.
  • Factory to create slint::Image from an existing OpenGL texture.
  • 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:
  • The result of the fit function
  • 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<dyn Font>.
  • GradientStop describes a single color stop in a gradient. The colors between multiple stops are interpolated.
  • HsvaColor stores the hue, saturation, value and alpha components of a color in the HSV color space as f32 fields. This is merely a helper struct for use with Color.
  • 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.
  • Represent a nine-slice image with the base image and the 4 borders
  • Invariant, same as vtable::Inner: vtable and ptr has to be valid and ptr an instance matching the vtable
  • 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 RadialGradientBrush describes a way of filling a shape with a circular gradient
  • 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§

  • This enum describes the origin to use when rendering a borrowed OpenGL texture. Use this with BorrowedOpenGLTextureBuilder::origin.
  • 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.
  • ImageCacheKey encapsulates the different ways of indexing images in the cache of decoded images.
  • 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.

Statics§

Traits§

Functions§

  • Return an FitResult that can be used to render an image in a buffer that matches a given ImageFit
  • Generate an iterator of FitResult for each slice of a nine-slice border image
  • Returns the start / end points of a gradient within a rectangle of the given size, based on the angle (in degree).
  • Load an image from an image embedded in the binary. This is called by the generated code.

Type Aliases§

  • 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