Skip to main content

Crate ferroui_vello

Crate ferroui_vello 

Source
Expand description

The Vello rendering backend.

Implements the render contracts of ferroui_base::platform on top of the crates of the Vello project: geometries on kurbo, brushes and blending on peniko, and the drawing context on a scene that one of the renderers of the project draws (scene::IVelloSceneSink): vello_cpu on the processor, and with the features hybrid and gpu of the crate the sparse-strips renderer on the GPU (vello_gpu) and the compute renderer (vello), into memory and into the window of a platform that renders on a graphics device (gpu). In a web page the hybrid mode draws with the WebGL2 renderer of vello_gpu into the canvas of a view (the feature hybrid-webgl, web_gl).

The backend is an addition of the port (the original has no such backend): its files follow the Skia backend’s, name by name, so that the two stay comparable. The design, the facts about the renderers it rests on and what is built are in docs/porting/vello-backend.md.

Modules§

gpu
The graphics device of the hybrid and the GPU mode.
helpers
Helpers shared by the backend’s types.
perf
Where the time of a frame of the backend goes.
scene
The scene of a frame and the renderers that draw it.
vello_extensions
Conversions between the types of the base library and those of kurbo and peniko: the counterpart of the Skia backend’s extensions.

Structs§

CombinedGeometryImpl
A kurbo implementation of a combined geometry.
CreateInfo
Context create info.
DrawingContextImpl
Vello based drawing context.
EllipseGeometryImpl
A kurbo implementation of an ellipse geometry.
FontManagerImpl
The Vello font manager: the installed fonts of the system through fontique, which enumerates them with the font interface of the platform (CoreText, DirectWrite, fontconfig) and reads the font files itself.
FramebufferRenderTarget
Vello render target that renders to a framebuffer surface. No GPU acceleration available: a scene is rendered into memory and written to the framebuffer in its format.
GeometryGroupImpl
A kurbo implementation of a geometry group.
GeometryImplBase
State every geometry kind has: the stroke cache, the path measure and a handle to the geometry itself.
GlyphRunImpl
The Vello implementation of a glyph run: glyph indices and positions that a scene draws with the font of the run.
ImmutableBitmap
Immutable bitmap: pixels that never change.
LineGeometryImpl
A kurbo implementation of a line geometry.
PlatformRenderInterface
Vello platform render interface.
RectangleGeometryImpl
A kurbo implementation of a rectangle geometry.
RenderTargetBitmapImpl
A render target bitmap: a writeable bitmap that is drawn into through a framebuffer render target over its own pixels.
SimpleGeometryImpl
A kurbo geometry defined by stroke and fill paths.
StreamGeometryBuilder
Builds a kurbo geometry from drawing commands.
SurfaceRenderTarget
Vello render target that writes to a surface in memory: a layer.
SurfaceRenderTargetCreateInfo
Create info of a SurfaceRenderTarget.
TransformedGeometryImpl
A kurbo implementation of a transformed geometry.
VelloBackdrop
What a target holds when a drawing context is created for it, and how the scene of the context keeps it.
VelloContext
The Vello render backend bound to software rendering (scenes are rendered into memory) or to the graphics device of a platform, whose surfaces the hybrid and the GPU mode draw to: it holds the GPU as the context of the Skia backend holds its GPU.
VelloFontFace
The font of a typeface as the renderers and the glyph runs use it: the bytes of the font file, the font in it, the position in the variation space and the simulations. It is what a glyph run keeps of its typeface, and unlike the typeface it may be sent to the thread that draws.
VelloOptions
Options for the Vello rendering subsystem.
VelloPath
A path of a geometry with the rule it is filled by.
VelloPlatform
Vello platform initializer.
VelloRegionImpl
An implementation of a platform region: a set of pixels held as the rectangles that were added to it.
VelloTypeface
A platform typeface over the bytes of a font file.
WriteableBitmapImpl
A writeable bitmap: pixels in memory, in one of the formats of the contract.

Enums§

FillPath
The fill path of a geometry in relation to its stroke path.
VelloRenderingMode
The renderer of the Vello project a scene is drawn with.

Constants§

OBLIQUE_SKEW
The slant of the oblique simulation: the horizontal shear of a glyph in a space of which y points down, as the Skia backend sets it on its font.

Traits§

GeometryImpl
A geometry of this backend: something with a stroke path and a fill path.
IDrawableBitmapImpl
Extended bitmap implementation that allows for drawing its contents.
VelloApplicationExtensions
Vello application extensions.

Functions§

bold_simulation_outline_width
The width of the outline the bold simulation adds around a glyph, for an em size, in the units of the em size.
try_get_drawable_bitmap
Recovers the drawable bitmap behind a platform bitmap.
try_get_geometry_impl
Recovers the backend geometry behind a platform geometry.