Skip to content
Blend2D Bindings for Rust
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
assets add text rendering example Apr 27, 2019
blend2d-sys remove unstable configurations from rustfmt May 21, 2019
examples finish image codec, encoder and decoder api May 12, 2019
src Merge #27 May 25, 2019
.gitignore add statically-typed gradient implementation Apr 7, 2019
.gitmodules Initial Commit Apr 3, 2019
.travis.yml
CHANGELOG.md finish image codec, encoder and decoder api May 12, 2019
Cargo.toml
LICENSE-APACHE Initial Commit Apr 3, 2019
LICENSE-MIT Initial Commit Apr 3, 2019
README.md fix changelog and readme May 12, 2019
bors.toml add bors-ng and travis CI Apr 16, 2019
run_all_examples.py add script to run all examples at once May 11, 2019
rustfmt.toml remove unstable configurations from rustfmt May 21, 2019

README.md

blend2d-rs

Build Status Crates.io Docs.rs

This crate provides rust bindings to the blend2d lib.

  • This project is currently WIP and therefor incomplete, due to this the crate will most likely go through breaking changes until a proper api has been figured out. Bear in mind that blend2d itself is also still in beta, meaning changes in their api will most likely be reflected in this crate as well in one way or another. This also means that some functionality is currently not correctly(or at all) implemented, for example, filling a context with an image will currently return an InvalidValue error.

  • Almost nothing is documented at this point so if confusion arises it might help to check out the C++ docs. This will hopefully change in the near future.

  • Not everything has been tested, so bugs might occur.

Setup

This crate requires CMake to be installed and available on PATH.

Also make sure to initialize the submodules after cloning the repository(git submodule update --init).

Examples

You can find the examples here.

rust_bl_logo

Current Design Decision

  • The Clone Trait is currently implemented in such a way that it does weak clones by using the underlying ref-counting of blend2d. Deep clones can be achieved by using the corresponding DeepClone Trait.
  • OutOfMemory errors returned by blend2d will as of now panic the program by default.

License

Licensed under either of

at your option.

The Rust logo is owned by Mozilla and distributed under the terms of the Creative Commons Attribution license (CC-BY).

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

You can’t perform that action at this time.