All Projects → Veykril → blend2d-rs

Veykril / blend2d-rs

Licence: Apache-2.0, MIT licenses found Licenses found Apache-2.0 LICENSE-APACHE MIT LICENSE-MIT
Blend2D Bindings for Rust

Programming Languages

rust
11053 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to blend2d-rs

Blend2d
2D Vector Graphics Engine Powered by a JIT Compiler
Stars: ✭ 859 (+4195%)
Mutual labels:  jit, 2d-graphics
sham
A DSL for runtime code generation in racket
Stars: ✭ 63 (+215%)
Mutual labels:  jit
core
Create 2d primitive shapes, encapsulate and repeat them by handling each repetition and generate recursive shapes
Stars: ✭ 34 (+70%)
Mutual labels:  2d-graphics
LOST--Java-2D-Game
2D side-scrolling game made in JAVA with sprite sheet animations
Stars: ✭ 2 (-90%)
Mutual labels:  2d-graphics
MushROMs
Super Nintendo game editing libraries and tools
Stars: ✭ 24 (+20%)
Mutual labels:  2d-graphics
GLGame
A Tiny 2D OpenGL based C++ Game Engine that is fast, lightweight and comes with a level editor.
Stars: ✭ 49 (+145%)
Mutual labels:  2d-graphics
ModernUI
Modern desktop framework from low-level 3D graphics API to high-level view model, for development of 2D/3D rendering software or game engine, with internationalization support and many new technologies.
Stars: ✭ 168 (+740%)
Mutual labels:  2d-graphics
angular-compile
🆖 Angular Dynamic Compile - Convert strings to Angular components
Stars: ✭ 87 (+335%)
Mutual labels:  jit
ctp-rs
A Rust wrapper of CTP API
Stars: ✭ 74 (+270%)
Mutual labels:  rust-bindings
RSqueak
A Squeak/Smalltalk VM written in RPython.
Stars: ✭ 78 (+290%)
Mutual labels:  jit
Batch-First
A JIT compiled chess engine which traverses the search tree in batches in a best-first manner, allowing for neural network batching, asynchronous GPU use, and vectorized CPU computations.
Stars: ✭ 27 (+35%)
Mutual labels:  jit
rasterx
Rasterx is an SVG 2.0 path compliant rasterizer that can use either scany, the golang vector or a derivative of the freetype anti-aliaser.
Stars: ✭ 107 (+435%)
Mutual labels:  2d-graphics
qemujs
Qemu.js source code with proof-of-concept machine-code-to-WASM JIT.
Stars: ✭ 101 (+405%)
Mutual labels:  jit
spritekit-water-node
🌊 Custom SpriteKit node that allows to simulate 2D water with respect to physics. The app demonstrates Flocking behaviour using GameplayKit, key-frame animation and custom fragment shader chaining (GLSL) 🤯
Stars: ✭ 82 (+310%)
Mutual labels:  2d-graphics
fasmi
F# -> ASM disassembler
Stars: ✭ 168 (+740%)
Mutual labels:  jit
tenderjit
JIT for Ruby that is written in Ruby
Stars: ✭ 388 (+1840%)
Mutual labels:  jit
liboqs-rust
Rust bindings for liboqs
Stars: ✭ 46 (+130%)
Mutual labels:  rust-bindings
rpaheui
Industrial-strength implementaiton of Aheui written in RPython with JIT
Stars: ✭ 52 (+160%)
Mutual labels:  jit
vger
2D GPU renderer for dynamic UIs
Stars: ✭ 122 (+510%)
Mutual labels:  2d-graphics
nj
A cross platform JIT engine based on Eclipse OMR
Stars: ✭ 19 (-5%)
Mutual labels:  jit

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].