Crate svg_definitions

Source
Expand description

Hello fellow Rustacians! Here is a crate with SVG Definitions. This was mostly created to serve as a backend crate for wasm_svg_graphics, but feel free to use it!

I am open to pull requests so please contribute!

§Example

§Creating a group with a triangle

use svg_definitions::prelude::*;

let triangle = SVGElem::new(Tag::Path)
    .set(Attr::StrokeWidth, 1)
    .set(Attr::Stroke, "#000")
    .set(Attr::Fill, "transparent")
    .set(Attr::D, PathData::new()
        .move_to((0.0, 0.0))
        .line_to((10.0, 0.0))
        .line_to((0.0, 10.0))
        .line_to((0.0, 0.0))
        .close_path()
    );

let group = SVGElem::new(Tag::G)
    .append(triangle);

§Getting a svg from a file

The feature “parsing” needs to be enabled for this

use svg_definitions::prelude::*;

let shape = SVGParseFile("/path/to/file.svg");

// ...

§Getting a svg from text

The feature “parsing” needs to be enabled for this

use svg_definitions::prelude::*;

let rect = SVGParseText("<rect width=\"50px\" height=\"50\" fill=\"black\" />");

// ...

Modules§

attributes
This module provides an easy and safe way to interact with attributes of Elements
path
This module provides an nicer and easier way to interact with SVG Path Definition Strings.
prelude
Prelude for this crate, this contains a lot of useful exports
tag_name

Structs§

Element
Element provides a way to simulate DOM SVG elements

Type Aliases§

Point2D