allow exiting full screen
This commit is contained in:
parent
86326683bd
commit
39afb26bfc
@ -50,6 +50,7 @@ enum vi_registers
|
||||
VI_REGS_COUNT
|
||||
};
|
||||
|
||||
static bool fullscreen;
|
||||
static void *rdram;
|
||||
static SDL_Window *window;
|
||||
static RDP::CommandProcessor *processor;
|
||||
@ -136,8 +137,9 @@ enum
|
||||
MB_RDRAM_DRAM_ALIGNMENT_REQUIREMENT = 64 * 1024
|
||||
};
|
||||
|
||||
void vk_init(void *mem_base, uint32_t rdram_size)
|
||||
void vk_init(void *mem_base, uint32_t rdram_size, uint8_t _fullscreen)
|
||||
{
|
||||
fullscreen = _fullscreen != 0;
|
||||
rdram = mem_base;
|
||||
bool window_vsync = 0;
|
||||
wsi = new WSI;
|
||||
@ -191,6 +193,17 @@ int sdl_event_filter(void *userdata, SDL_Event *event)
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (fullscreen && event->type == SDL_KEYDOWN)
|
||||
{
|
||||
switch (event->key.keysym.scancode)
|
||||
{
|
||||
case SDL_SCANCODE_ESCAPE:
|
||||
emu_running = 0;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -5,7 +5,7 @@ extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
void vk_init(void *mem_base, uint32_t rdram_size);
|
||||
void vk_init(void *mem_base, uint32_t rdram_size, uint8_t fullscreen);
|
||||
void vk_close();
|
||||
void set_sdl_window(void *_window);
|
||||
void rdp_set_vi_register(uint32_t reg, uint32_t value);
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
use crate::ui;
|
||||
|
||||
extern "C" {
|
||||
pub fn vk_init(rdram_ptr: usize, rdram_size: u32);
|
||||
pub fn vk_init(rdram_ptr: usize, rdram_size: u32, fullscreen: u8);
|
||||
pub fn set_sdl_window(window: usize);
|
||||
pub fn rdp_update_screen() -> u8;
|
||||
pub fn rdp_set_vi_register(reg: u32, value: u32);
|
||||
@ -24,7 +24,7 @@ pub fn init(ui: &mut ui::Ui, rdram_ptr: *mut u8, rdram_size: usize, fullscreen:
|
||||
ui.window = Some(builder.build().unwrap());
|
||||
unsafe {
|
||||
set_sdl_window(ui.window.as_mut().unwrap().raw() as usize);
|
||||
vk_init(rdram_ptr as usize, rdram_size as u32)
|
||||
vk_init(rdram_ptr as usize, rdram_size as u32, fullscreen as u8)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user