Crate sfml [−] [src]
rust-sfml
SFML bindings for Rust
This is a Rust binding for SFML, the Simple and Fast Multimedia Library, developped by Laurent Gomila.
SFML website : www.sfml-dev.org
You must install on your computer the SFML2 and CSFML2 libraries who are used for the binding.
SFML2: http://www.sfml-dev.org/download/sfml/2.0/
CSFML2: http://www.sfml-dev.org/download/csfml/
Then clone the repo and build the library with the following command. You can use Cargo to build rust-sfml:
> cargo build
Examples are located under the examples
directory.
You can run an example with cargo run --example example_name
.
Rust-sfml works on Linux, windows and OSX.
Short example
Here is a short example, draw a circle shape and display it.
extern crate sfml; use sfml::system::Vector2f; use sfml::window::{ContextSettings, VideoMode, event, Close}; use sfml::graphics::{RenderWindow, RenderTarget, CircleShape, Color}; fn main() { // Create the window of the application let mut window = match RenderWindow::new(VideoMode::new_init(800, 600, 32), "SFML Example", Close, &ContextSettings::default()) { Some(window) => window, None => panic!("Cannot create a new Render Window.") }; // Create a CircleShape let mut circle = match CircleShape::new() { Some(circle) => circle, None => panic!("Error, cannot create ball") }; circle.set_radius(30.); circle.set_fill_color(&Color::red()); circle.set_position(&Vector2f::new(100., 100.)); while window.is_open() { // Handle events for event in window.events() { match event { event::Closed => window.close(), _ => {/* do nothing */} } } // Clear the window window.clear(&Color::new_rgb(0, 200, 200)); // Draw the shape window.draw(&circle); // Display things on screen window.display() } }
License
This software is a binding of the SFML library created by Laurent Gomila, which is provided under the Zlib/png license.
This software is provided under the same license than the SFML, the Zlib/png license.
Here is a list of all modules :
Modules
audio |
Sounds, streaming (musics or custom sources), recording, spatialization |
graphics |
2D graphics module: sprites, text, shapes window |
network |
Socket-based communication |
system |
Base module of SFML, defining various utilities. |
traits |
Basic traits for internal functionnement of rust-sfml. |
window |
Provides OpenGL-based windows, and abstractions for events and input handling. |