Crate sfml [−] [src]
rust-sfml
Rust bindings for SFML, the Simple and Fast Multimedia Library.
Prerequisites
SFML 2.3 and CSFML 2.3 must be installed on your computer. You can download them here:
- SFML 2.3: http://www.sfml-dev.org/download.php
- CSFML 2.3: http://www.sfml-dev.org/download/csfml/
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, window_style}; use sfml::graphics::{RenderWindow, RenderTarget, CircleShape, Color, Transformable, Shape}; fn main() { // Create the window of the application let mut window = match RenderWindow::new(VideoMode::new_init(800, 600, 32), "SFML Example", window_style::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.
Modules
audio |
Sounds, streaming (musics or custom sources), recording, spatialization |
graphics |
2D graphics module: sprites, text, shapes.. |
network |
Socket-based communication |
system |
Base module of SFML, defining various utilities. |
window |
Provides OpenGL-based windows, and abstractions for events and input handling. |