1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
// Rust-SFML - Copyright (c) 2013 Letang Jeremy. // // The original software, SFML library, is provided by Laurent Gomila. // // This software is provided 'as-is', without any express or implied warranty. // In no event will the authors be held liable for any damages arising from // the use of this software. // // Permission is granted to anyone to use this software for any purpose, // including commercial applications, and to alter it and redistribute it // freely, subject to the following restrictions: // // 1. The origin of this software must not be misrepresented; you must not claim // that you wrote the original software. If you use this software in a product, // an acknowledgment in the product documentation would be appreciated but is // not required. // // 2. Altered source versions must be plainly marked as such, and must not be // misrepresented as being the original software. // // 3. This notice may not be removed or altered from any source distribution. // //! # rust-sfml //! //! Rust bindings for [SFML](http://www.sfml-dev.org), the Simple and Fast Multimedia Library. //! //! Prerequisites //! ============= //! //! SFML 2.4 and CSFML 2.4 must be installed on your computer. You can download them here: //! //! - SFML 2.4: http://www.sfml-dev.org/download.php //! - CSFML 2.4: 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. //! //! ```ignore //! extern crate sfml; //! //! use sfml::system::Vector2f; //! use sfml::window::{ContextSettings, VideoMode, Event, style}; //! use sfml::graphics::{CircleShape, Color, RenderTarget, RenderWindow, Shape, Transformable}; //! //! fn main() { //! // Create the window of the application //! let mut window = RenderWindow::new(VideoMode::new(800, 600, 32), //! "SFML Example", //! style::CLOSE, //! &ContextSettings::default()) //! .unwrap(); //! //! // Create a CircleShape //! let mut circle = CircleShape::new(); //! circle.set_radius(30.); //! circle.set_fill_color(&Color::red()); //! circle.set_position(&Vector2f::new(100., 100.)); //! //! loop { //! // Handle events //! for event in window.events() { //! if let Event::Closed = event { //! return; //! } //! } //! //! // Clear the window //! window.clear(&Color::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. //! #![warn(missing_docs)] #[cfg(feature="window")] #[macro_use] extern crate bitflags; extern crate csfml_system_sys; #[cfg(feature="window")] extern crate csfml_window_sys; #[cfg(feature="graphics")] extern crate csfml_graphics_sys; #[cfg(feature="audio")] extern crate csfml_audio_sys; #[cfg(feature="network")] extern crate csfml_network_sys; #[cfg(any(feature="graphics", feature="audio"))] mod inputstream; mod ext { #[cfg(feature="window")] pub mod event; pub mod sf_bool_ext; } #[cfg(feature="window")] mod unicode_conv; pub mod system; #[cfg(feature="window")] pub mod window; #[cfg(feature="audio")] pub mod audio; #[cfg(feature="graphics")] pub mod graphics; #[cfg(feature="network")] pub mod network;