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:

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.