Update examples

This commit is contained in:
Dan Spencer
2015-07-27 02:06:25 -06:00
parent 0a3453b657
commit b8de00fe52
9 changed files with 53 additions and 43 deletions
+5 -4
View File
@@ -1,6 +1,6 @@
extern crate sdl2;
use sdl2::audio::{AudioCallback, AudioDevice, AudioSpecDesired};
use sdl2::audio::{AudioCallback, AudioSpecDesired};
struct SquareWave {
phase_inc: f32,
@@ -24,7 +24,8 @@ impl AudioCallback for SquareWave {
}
fn main() {
let _sdl_context = sdl2::init().audio().unwrap();
let sdl_context = sdl2::init().unwrap();
let audio_subsystem = sdl_context.audio().unwrap();
let desired_spec = AudioSpecDesired {
freq: Some(44100),
@@ -32,7 +33,7 @@ fn main() {
samples: None // default sample size
};
let device = AudioDevice::open_playback(None, desired_spec, |spec| {
let device = audio_subsystem.open_playback(None, desired_spec, |spec| {
// Show obtained AudioSpec
println!("{:?}", spec);
@@ -48,7 +49,7 @@ fn main() {
device.resume();
// Play for 2 seconds
sdl2::timer::delay(2000);
std::thread::sleep_ms(2000);
// Device is automatically closed when dropped
}
+6 -5
View File
@@ -1,7 +1,7 @@
extern crate sdl2;
extern crate rand;
use sdl2::audio::{AudioCallback, AudioDevice, AudioSpecDesired};
use sdl2::audio::{AudioCallback, AudioSpecDesired};
struct MyCallback {
volume: f32
@@ -21,7 +21,8 @@ impl AudioCallback for MyCallback {
}
fn main() {
let _sdl_context = sdl2::init().audio().unwrap();
let sdl_context = sdl2::init().unwrap();
let audio_subsystem = sdl_context.audio().unwrap();
let desired_spec = AudioSpecDesired {
freq: Some(44100),
@@ -30,7 +31,7 @@ fn main() {
};
// None: use default device
let mut device = AudioDevice::open_playback(None, desired_spec, |spec| {
let mut device = audio_subsystem.open_playback(None, desired_spec, |spec| {
// Show obtained AudioSpec
println!("{:?}", spec);
@@ -41,7 +42,7 @@ fn main() {
device.resume();
// Play for 1 second
sdl2::timer::delay(1000);
std::thread::sleep_ms(1000);
{
// Acquire a lock. This lets us read and modify callback data.
@@ -51,7 +52,7 @@ fn main() {
}
// Play for another second
sdl2::timer::delay(1000);
std::thread::sleep_ms(1000);
// Device is automatically closed when dropped
}
+5 -3
View File
@@ -4,9 +4,10 @@ use sdl2::pixels::Color;
use sdl2::keyboard::Keycode;
pub fn main() {
let mut sdl_context = sdl2::init().video().unwrap();
let sdl_context = sdl2::init().unwrap();
let video_subsystem = sdl_context.video().unwrap();
let window = sdl_context.window("rust-sdl2 demo: Video", 800, 600)
let window = video_subsystem.window("rust-sdl2 demo: Video", 800, 600)
.position_centered()
.opengl()
.build()
@@ -19,9 +20,10 @@ pub fn main() {
renderer.present();
let mut running = true;
let mut event_pump = sdl_context.event_pump().unwrap();
while running {
for event in sdl_context.event_pump().poll_iter() {
for event in event_pump.poll_iter() {
use sdl2::event::Event;
match event {
+6 -8
View File
@@ -1,13 +1,11 @@
extern crate sdl2;
use sdl2::{joystick, controller};
use sdl2::controller::GameController;
fn main() {
let mut sdl_context = sdl2::init().game_controller().unwrap();
let sdl_context = sdl2::init().unwrap();
let game_controller_subsystem = sdl_context.game_controller().unwrap();
let available =
match joystick::num_joysticks() {
match game_controller_subsystem.num_joysticks() {
Ok(n) => n,
Err(e) => panic!("can't enumerate joysticks: {}", e),
};
@@ -19,10 +17,10 @@ fn main() {
// Iterate over all available joysticks and look for game
// controllers.
for id in 0..available {
if controller::is_game_controller(id) {
if game_controller_subsystem.is_game_controller(id) {
println!("Attempting to open controller {}", id);
match GameController::open(id) {
match game_controller_subsystem.open(id) {
Ok(c) => {
// We managed to find and open a game controller,
// exit the loop
@@ -46,7 +44,7 @@ fn main() {
println!("Controller mapping: {}", controller.mapping());
for event in sdl_context.event_pump().wait_iter() {
for event in sdl_context.event_pump().unwrap().wait_iter() {
use sdl2::event::Event;
match event {
+5 -6
View File
@@ -1,12 +1,11 @@
extern crate sdl2;
use sdl2::joystick::{Joystick, num_joysticks};
fn main() {
let mut sdl_context = sdl2::init().joystick().unwrap();
let sdl_context = sdl2::init().unwrap();
let joystick_subsystem = sdl_context.joystick().unwrap();
let available =
match num_joysticks() {
match joystick_subsystem.num_joysticks() {
Ok(n) => n,
Err(e) => panic!("can't enumerate joysticks: {}", e),
};
@@ -18,7 +17,7 @@ fn main() {
// Iterate over all available joysticks and stop once we manage to
// open one.
for id in 0..available {
match Joystick::open(id) {
match joystick_subsystem.open(id) {
Ok(c) => {
println!("Success: opened \"{}\"", c.name());
joystick = Some(c);
@@ -32,7 +31,7 @@ fn main() {
panic!("Couldn't open any joystick");
};
for event in sdl_context.event_pump().wait_iter() {
for event in sdl_context.event_pump().unwrap().wait_iter() {
use sdl2::event::Event;
match event {
+7 -5
View File
@@ -4,19 +4,21 @@ use sdl2::keyboard::Keycode;
use std::collections::HashSet;
pub fn main() {
let mut sdl_context = sdl2::init().video().unwrap();
let sdl_context = sdl2::init().unwrap();
let video_subsystem = sdl_context.video().unwrap();
let _window = sdl_context.window("Keyboard", 800, 600)
let _window = video_subsystem.window("Keyboard", 800, 600)
.position_centered()
.build()
.unwrap();
let mut running = true;
let mut events = sdl_context.event_pump().unwrap();
let mut prev_keys = HashSet::new();
while running {
for event in sdl_context.event_pump().poll_iter() {
for event in events.poll_iter() {
use sdl2::event::Event;
match event {
@@ -26,7 +28,7 @@ pub fn main() {
}
// Create a set of pressed Keys.
let keys = sdl_context.keyboard_state().pressed_scancodes().filter_map(Keycode::from_scancode).collect();
let keys = events.keyboard_state().pressed_scancodes().filter_map(Keycode::from_scancode).collect();
// Get the difference between the new and old sets.
let new_keys = &keys - &prev_keys;
@@ -38,6 +40,6 @@ pub fn main() {
prev_keys = keys;
sdl2::timer::delay(100);
std::thread::sleep_ms(100);
}
}
+5 -3
View File
@@ -5,9 +5,10 @@ use sdl2::rect::Rect;
use sdl2::keyboard::Keycode;
pub fn main() {
let mut sdl_context = sdl2::init().video().unwrap();
let sdl_context = sdl2::init().unwrap();
let video_subsystem = sdl_context.video().unwrap();
let window = sdl_context.window("rust-sdl2 demo: Video", 800, 600)
let window = video_subsystem.window("rust-sdl2 demo: Video", 800, 600)
.position_centered()
.opengl()
.build()
@@ -34,9 +35,10 @@ pub fn main() {
renderer.present();
let mut running = true;
let mut event_pump = sdl_context.event_pump().unwrap();
while running {
for event in sdl_context.event_pump().poll_iter() {
for event in event_pump.poll_iter() {
use sdl2::event::Event;
match event {
+5 -3
View File
@@ -5,9 +5,10 @@ use sdl2::rect::Rect;
use sdl2::keyboard::Keycode;
pub fn main() {
let mut sdl_context = sdl2::init().video().unwrap();
let sdl_context = sdl2::init().unwrap();
let video_subsystem = sdl_context.video().unwrap();
let window = sdl_context.window("rust-sdl2 demo: Video", 800, 600)
let window = video_subsystem.window("rust-sdl2 demo: Video", 800, 600)
.position_centered()
.opengl()
.build()
@@ -50,9 +51,10 @@ pub fn main() {
renderer.present();
let mut running = true;
let mut event_pump = sdl_context.event_pump().unwrap();
while running {
for event in sdl_context.event_pump().poll_iter() {
for event in event_pump.poll_iter() {
use sdl2::event::Event;
match event {
+9 -6
View File
@@ -3,9 +3,10 @@ extern crate sdl2;
use sdl2::pixels::Color;
pub fn main() {
let mut sdl_context = sdl2::init().video().unwrap();
let sdl_context = sdl2::init().unwrap();
let video_subsystem = sdl_context.video().unwrap();
let window = sdl_context.window("rust-sdl2 demo: Window", 800, 600)
let window = video_subsystem.window("rust-sdl2 demo: Window", 800, 600)
.resizable()
.build()
.unwrap();
@@ -15,8 +16,10 @@ pub fn main() {
let mut running = true;
let mut tick = 0;
let mut event_pump = sdl_context.event_pump().unwrap();
while running {
for event in sdl_context.event_pump().poll_iter() {
for event in event_pump.poll_iter() {
use sdl2::event::Event;
use sdl2::keyboard::Keycode;
@@ -30,11 +33,11 @@ pub fn main() {
{
// Update the window title.
// &sdl_context is needed to safely access the Window and to ensure that the event loop
// &event_pump is needed to safely access the Window and to ensure that the event loop
// isn't running (which could mutate the Window).
// Note: if you don't use renderer: window.properties(&sdl_context);
let mut props = renderer.window_properties(&sdl_context).unwrap();
// Note: if you don't use renderer: window.properties(&event_pump);
let mut props = renderer.window_properties(&event_pump).unwrap();
let position = props.get_position();
let size = props.get_size();