mirror of
https://github.com/encounter/rust-sdl2.git
synced 2026-07-10 21:18:41 -07:00
Update examples
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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,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,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 {
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user