1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
//! `svg-renderer` — a high-performance SVG-to-raster renderer powered by [Skia](https://skia.org).
//!
//! # Backends
//!
//! | Backend | Feature | Description |
//! |----------|------------------|----------------------------------------------|
//! | CPU | (always) | Renders via Skia's raster backend. |
//! | Vulkan | `vulkan-backend` | GPU-accelerated via Skia's Vulkan backend. |
//!
//! # Pipeline mode
//!
//! [`SvgPipelineRenderer`] spawns dedicated worker threads for parallel
//! rendering, suitable for throughput-oriented workloads.
//!
//! # Quick start
//!
//! ```no_run
//! use svg_renderer::{SvgRenderer, RenderOptions};
//!
//! let svg_data = b"<svg xmlns='http://www.w3.org/2000/svg'></svg>";
//! let opts = RenderOptions::new(800, 600).unwrap();
//! let mut renderer = SvgRenderer::new().unwrap();
//! let image = renderer.render_svg(svg_data, &opts).unwrap();
//! println!("{}x{} RGBA image", image.width, image.height);
//! ```
pub use CachedResourceProvider;
pub use VulkanState;
pub use SvgRenderError;
pub use ImageData;
/// JPEG alpha handling behavior.
pub use JpegAlphaOption;
/// JPEG chroma subsampling mode.
pub use JpegDownsample;
/// JPEG encoding options.
pub use JpegOptions;
/// Render options: size, clear color, MSAA sample count.
pub use RenderOptions;
/// Render size configuration.
pub use RenderSize;
/// WebP compression mode (lossy / lossless).
pub use WebpCompression;
/// WebP encoding options.
pub use WebpOptions;
pub use VulkanSvgPipelineRenderer;
pub use ;
pub use VulkanSvgRenderer;
pub use ;