piet
core-foundation-rs
piet | core-foundation-rs | |
---|---|---|
11 | 3 | |
1,225 | 915 | |
1.0% | 2.8% | |
4.9 | 7.9 | |
17 days ago | 3 days ago | |
Rust | Rust | |
Apache License 2.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
piet
- Cairo – Open-Source 2D Graphics Layer/API with Fonts and Many Back-Ends
-
A simple 2d graphic library
You can even check https://github.com/linebender/piet and https://github.com/RazrFalcon/tiny-skia. They are pure rust libraries. Skia as a whole is a big binary to add.
-
Druid, a Rust-native UI toolkit, released v0.8 after two years of work by 80 contributors.
First, at the deepest level, we are moving away from Piet, which is a cross-platform 2D graphics abstraction. Under the hood it uses whatever the standard OS API is. Instead we will be using Vello which we have been building as a research project for years already. It is starting to near its v0.1, which is very exciting. Fundamentally it is a novel GPU accelerated 2D rendering engine with a strong focus on performance. It is not ready for benchmarks yet, but we're confident it will deliver. If you're curious, you can check out the Vello roadmap for 2023.
-
What 2D graphics library would you most recommend?
you can use piet, although that is more of an abstraction over existing, platform-dependent libraries. So not really pure rust, but definitely cross-platform.
-
Piet-GPU Progress: Clipping
Piet is the backend for the Druid UI framework. It is indeed cross-platform. The SVG backend looks like it would work without an OS, but I'm not sure the value of a GUI toolkit without an OS anyway :)
https://github.com/linebender/piet#backends
https://github.com/linebender/druid/tree/master/druid-shell/...
-
Looking for an image manipulation library that can add text to images. (and has documentation for it)
Piet can render text. You can use Piet_common with the BitMapTarget to generate images Here is an example.
-
Simple graphics library using software rendering?
Piet (https://github.com/linebender/piet) should work.
-
What Graphics Library to use?
So the 3 I'm looking at right now are 1. druid 1. piet 1. bevy
-
Rust GUI: Introduction, a.k.a. the state of Rust GUI libraries (As of January 2021)
It relies on piet 2D graphic library; on Linux that means GTK/Cairo 2D primitives
-
Patrick Walton heading up Facebook's Rust team
You may be interested in taking a look at piet!
core-foundation-rs
-
macOS Apps in Rust
Rust has RAII so you can have retain on 'clone' operations and release on drops, just like the native Rc/Arc types do.
This is, incidentally, how the servo bindings to core-foundation work (I prefer those bindings where there is overlap).
Servo bindings: https://github.com/servo/core-foundation-rs
Other crates of interest on this topic:
-
Rust for Windows
For Mac fans, the closest you'll have to this in OS-X is core-foundation-rs[1], by the servo team.
[1] https://github.com/servo/core-foundation-rs
-
Rust GUI: Introduction, a.k.a. the state of Rust GUI libraries (As of January 2021)
Core-Foundation
What are some alternatives?
embedded-graphics - A no_std graphics library for embedded applications
winapi-rs - Rust bindings to Windows API
areweguiyet - A website built for the Rust community
rust-zmq - Rust zeromq bindings.
egui - egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native
win32ada - Ada API to the Windows library
vgtk - A declarative desktop UI framework for Rust built on GTK and Gtk-rs
MSRC-Security-Research - Security Research from the Microsoft Security Response Center (MSRC)
orbtk - The Rust UI-Toolkit.
samples-rs
druid - A data-first Rust-native UI design toolkit.
conrod - An easy-to-use, 2D GUI library written entirely in Rust.