Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- extern crate sdl2;
- use sdl2::pixels::Color;
- use sdl2::event::Event;
- use sdl2::keyboard::Keycode;
- use std::time::Duration;
- use sdl2::messagebox::*;
- fn main() -> Result<(), String>{
- let sdl_context = sdl2::init()?;
- let video_subsystem = sdl_context.video()?;
- let window = video_subsystem.window("SOME", 800, 600)
- .position_centered()
- .opengl()
- .build()
- .map_err(|e| e.to_string())?;
- let mut canvas = window.into_canvas().build().map_err(|e| e.to_string())?;
- canvas.set_draw_color(Color::RGB(0, 255, 3));
- canvas.clear();
- canvas.present();
- let mut event_pump = sdl_context.event_pump()?;
- 'running: loop {
- for event in event_pump.poll_iter(){
- match event {
- Event::Quit {..} | Event::KeyDown { keycode: Some(Keycode::Escape), .. } => {
- break 'running
- },
- Event::KeyDown { keycode: Some(Keycode::F), .. } =>{
- let buttons: Vec<_> = vec![
- ButtonData{
- flags: MessageBoxButtonFlag::RETURNKEY_DEFAULT,
- button_id:1,
- text:"Yeh",
- },
- ButtonData{
- flags: MessageBoxButtonFlag::NOTHING,
- button_id:2,
- text:"No",
- },
- ButtonData{
- flags: MessageBoxButtonFlag::ESCAPEKEY_DEFAULT,
- button_id:3,
- text:"Cansel!"
- },
- ];
- let response = show_message_box(MessageBoxFlag::WARNING,
- buttons.as_slice(),
- "Warning?",
- "sss?" ,
- None,
- None);
- },
- _ => {}
- }
- }
- canvas.clear();
- canvas.present();
- std::thread::sleep(Duration::new(0, 1_000_000_000u32 / 30));
- }
- Ok(())
- }
Advertisement
Add Comment
Please, Sign In to add comment