|| Docs.rs || Lib.rs || Crates.io ||
A library for anyone who just wants to get some graphics on the screen, without having to faff about with the technical details of proper graphics libraries. Just create a window, and start drawing to it. Minimal setup, minimal bother, minimal interference with your own code's structure.
Loosely inspired by Processing.
You want some circles on the screen?
```rust let mut pg = Window::new(800, 600, "Circles!"); loop { pg.circle((100., 100.), 15.);
pg.fill_color(Color::BLUE);
pg.circle((300., 450.), 24.);
pg.update();
} ```
Or a texture?
```rust let mut pg = Window::newfullscreen(); let mytexture = pg.loadtexture("mytexture.png").unwrap(); loop { pg.texture((100., 250.), my_texture, 100., 150.);
pg.update();
} ```
How about some text?
```rust let mut pg = Window::new(720, 480, "Text!"); loop { pg.fontcolor((0xEE, 0x44, 0x88)); pg.fontsize(30); pg.text((100., 100.), "Greetings!");
pg.update();
} ```
Want to press some keys and click some stuff?
```rust let mut pg = Window::newfullscreen(); loop { if pg.keyjust_pressed(Key::SPACE) { println!("Action!"); }
if pg.mouse_pressed(Button::LEFT) {
pg.circle(pg.mouse_position(), 16.);
}
pg.update();
} ```
Since Pronto Graphics uses SFML for rendering, specifically the SFML bindings for Rust for rendering, it's prerequisites are the same as the SFML Rust bindings, namely for the SFML library to be installed. This might change in future versions.
```toml
[dependencies] pronto-graphics = "0.4.0" ```
I'm no experiences open saucer either, so don't hesitate with pull requests :)
Just make sure to explain what you're adding or changing and to adequately add doc comments to anything that will be exposed to the end-user.
hello-world.rs
is getting quite big.