昨日に引き続き、本日もちょっとした作業としてウィンドウリサイズ時の処理を実装しました。
以下コードの赤字部分です。ウィンドウサイズに合わせてビューポートを変更しています。
for event in event_pump.poll_iter() {
match event {
Event::Quit {..} | Event::KeyDown { keycode: Some(Keycode::Escape), .. } => {
break;
},
Event::Window { timestamp: _timestamp, window_id: _window_id, win_event: sdl2::event::WindowEvent::Resized (resized_w, resized_h) } => {
//println!("リサイズ {} x {}", resized_w, resized_h);
if resized_w as u32 != window_w || resized_h as u32 != window_h {
window_w = resized_w as u32;
window_h = resized_h as u32;
unsafe {
gl::Viewport(0, 0, window_w as i32, window_h as i32);
}
}
},
_ => {}
}
}