Expand description
softbuffer CPU framebuffer backend — headless / ffi-audit / embedded path.
Use --no-default-features --features software for the GPU-free audit build.
§Headless rendering
The headless module provides headless::render_headless_once and
headless::RgbaBuffer for CI/ffi-audit usage without any display.
Re-exports§
pub use headless::render_headless_once;pub use headless::render_headless_scene;pub use headless::PixelFormat;pub use headless::RgbaBuffer;pub use headless::HEADLESS_BG_COLOR;pub use framebuffer::Framebuffer;pub use clip::ClipRect;pub use clip::ClipStack;pub use draw::Canvas;pub use draw::SrcImage;pub use gradient::lerp_color;pub use gradient::GradientStop;pub use gradient::LinearGradient;pub use gradient::RadialGradient;pub use blend::blend_mode;pub use blend::blend_pixel;pub use blend::composite_into;pub use blend::BlendMode;pub use blend::RgbaUnit;pub use scanline::fill_polygon;pub use scanline::fill_triangle;pub use scanline::FillRule;pub use path::Cap;pub use path::Join;pub use path::Path;pub use path::PathBuilder;pub use path::StrokeStyle;pub use shadow::box_shadow;pub use shadow::gaussian_blur_alpha;pub use shadow::GaussianCache;pub use dither::ordered_dither_rgba;pub use dither::BayerMatrix;pub use tile::collect_tiles;pub use tile::render_tiles;pub use tile::tiles_for;pub use tile::DirtyRegion;pub use tile::Tile;pub use tile::TileIter;pub use tile::DEFAULT_TILE_SIZE;pub use backend::blit_glyph_bitmap;pub use backend::SoftBackend;pub use simd_fill::alpha_blend_row;pub use simd_fill::fill_solid;pub use simd_fill::gradient_row_horizontal;pub use fft_blur::gaussian_blur_alpha_fft;pub use fft_blur::should_use_fft_blur;pub use fft_blur::FFT_BLUR_MIN_RADIUS;pub use backend_switch::BackendKind;pub use backend_switch::DynBackend;pub use canvas_upload::framebuffer_to_rgba8;pub use canvas_upload::upload_framebuffer;pub use canvas_upload::upload_rgba;
Modules§
- backend
- CPU framebuffer backend implementing
oxiui_core::paint::RenderBackend.SoftBackend: aoxiui_core::paint::RenderBackendimplementation that replays aoxiui_core::paint::DrawListonto a CPUFramebufferthrough a singleCanvas. - backend_
switch - Runtime CPU/GPU backend switching via shared
oxiui_core::paint::DrawList. - blend
- Extended blend modes (multiply / screen / overlay / darken / lighten) and
premultiplied-alpha helpers — additive over
Framebuffer::blend. Extended compositing helpers: blend modes + premultiplied-alpha utilities. - canvas_
upload - Canvas 2D pixel upload path for wasm32 targets.
- clip
- Rectangular clip-region stack. Rectangular clip-region stack.
- dither
- Bayer-matrix ordered dithering for reduced-bit output paths. Bayer-matrix ordered dithering for reduced-bit output paths.
- draw
- Drawing primitives: rectangles, lines, circles, rounded rects, blits.
Drawing primitives operating on a
Framebufferthrough a clip stack. - fft_
blur - FFT-accelerated Gaussian blur for large kernels (OxiFFT, COOLJAPAN ecosystem).
- framebuffer
- CPU pixel framebuffer (
0xAARRGGBB) with blending and RGBA export. CPU pixel framebuffer in0xAARRGGBB(non-premultiplied) format. - gradient
- Linear and radial gradient fills with sRGB colour interpolation. Linear and radial gradient fills with multiple colour stops (sRGB interpolation).
- headless
- Headless rendering helpers:
RgbaBuffer,render_headless_once, and PNG save. - path
- 2D paths with Bezier flattening, fill (via
scanline), and stroke. 2D path representation with Bézier flattening, fill, and stroke. - scanline
- Active-Edge-Table scanline polygon / triangle fill with vertical- supersample coverage AA. Supports even-odd and non-zero winding. Active-Edge-Table (AET) scanline rasteriser for polygon and triangle fill.
- shadow
- Box shadow via separable 1-D Gaussian blur with a kernel cache. Box-shadow via separable 1-D Gaussian blur with a cached kernel.
- simd_
fill - SIMD-accelerated bulk pixel operations (Pure-Rust
widecrate). - tile
- 64×64 render-tile iterator (rayon-ready; serial driver only this run). 64×64 render-tile iterator.
Structs§
- Soft
Render Quality - Combined quality preset for
SoftBackend::with_quality. - Soft
Renderer - CPU-based software renderer using a raw pixel framebuffer.
Enums§
- AaMode
- Anti-aliasing mode for the software renderer.
- Shadow
Quality - Shadow render quality.
- Soft
Render Error - Errors specific to the soft-render backend.