slint-ui / slint

Slint is a declarative GUI toolkit to build native user interfaces for Rust, C++, or JavaScript apps.
https://slint.dev
Other
15.9k stars 519 forks source link

Canvas painting API #432

Open tronical opened 2 years ago

tronical commented 2 years ago

Add API that allows rendering graphics using an imperative painting API. The implementation should use our existing graphics backends.

burrbull commented 2 years ago

Is there workaround for this? Maybe creating and rendering SVG?

tronical commented 2 years ago

The easiest workaround is to use a third party crate that provides software rendering (raqote/tiny-skia/etc) and then feed the result into a slint::Image - like in the image filter example or the plotter.

Maybe we should add an example in the meanwhile:). What programming language are you looking for @burrbull ?

burrbull commented 2 years ago

What programming language are you looking for @burrbull ?

Rust, of course.

Evrey commented 2 years ago

The very same rendering API can then later be used to implement printer support. And to support visualisation of proprietary or otherwise custom media formats, e.g. if you use sixtyfps to make an editor for some game engine.