HRESULT CRetroArchQuickMenu::OnNotifyPress( HXUIOBJ hObjPressed, int & bHandled ) { xdk_d3d_video_t *device_ptr = (xdk_d3d_video_t*)driver.video_data; int current_index; if ( hObjPressed == m_quickmenulist) { current_index = m_quickmenulist.GetCurSel(); switch(current_index) { case MENU_ITEM_LOAD_STATE: if (g_extern.console.emulator_initialized) { rarch_load_state(); rarch_settings_change(S_RETURN_TO_GAME); } break; case MENU_ITEM_SAVE_STATE: if (g_extern.console.emulator_initialized) { rarch_save_state(); rarch_settings_change(S_RETURN_TO_GAME); } break; case MENU_ITEM_KEEP_ASPECT_RATIO: rarch_settings_default(S_DEF_ASPECT_RATIO); driver.video->set_aspect_ratio(driver.video_data, g_settings.video.aspect_ratio_idx); rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_ASPECT_RATIO, sizeof(strw_buffer)); m_quickmenulist.SetText(MENU_ITEM_KEEP_ASPECT_RATIO, strw_buffer); break; case MENU_ITEM_OVERSCAN_AMOUNT: if (g_extern.console.rmenu.state.msg_info.enable) rarch_settings_msg(S_MSG_NOT_IMPLEMENTED, S_DELAY_180); break; case MENU_ITEM_ORIENTATION: rarch_settings_default(S_DEF_ROTATION); rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_ROTATION, sizeof(strw_buffer)); m_quickmenulist.SetText(MENU_ITEM_ORIENTATION, strw_buffer); video_xdk_d3d.set_rotation(driver.video_data, g_extern.console.screen.orientation); break; case MENU_ITEM_RESIZE_MODE: g_extern.console.rmenu.input_loop = INPUT_LOOP_RESIZE_MODE; if (g_extern.console.rmenu.state.msg_info.enable) rarch_settings_msg(S_MSG_RESIZE_SCREEN, S_DELAY_270); break; case MENU_ITEM_FRAME_ADVANCE: if (g_extern.console.emulator_initialized) { g_extern.lifecycle_state |= (1ULL << RARCH_FRAMEADVANCE); rarch_settings_change(S_FRAME_ADVANCE); } break; case MENU_ITEM_SCREENSHOT_MODE: if (g_extern.console.rmenu.state.msg_info.enable) device_ptr->ctx_driver->rmenu_screenshot_dump(NULL); break; case MENU_ITEM_RESET: if (g_extern.console.emulator_initialized) { rarch_settings_change(S_RETURN_TO_GAME); rarch_game_reset(); } break; case MENU_ITEM_RETURN_TO_GAME: if (g_extern.console.emulator_initialized) rarch_settings_change(S_RETURN_TO_GAME); break; case MENU_ITEM_QUIT_RARCH: rarch_settings_change(S_QUIT_RARCH); break; } } bHandled = TRUE; return 0; }
HRESULT CRetroArchQuickMenu::OnNotifyPress( HXUIOBJ hObjPressed, int & bHandled ) { xdk360_video_t *d3d9 = (xdk360_video_t*)driver.video_data; int current_index; if ( hObjPressed == m_quickmenulist) { current_index = m_quickmenulist.GetCurSel(); switch(current_index) { case MENU_ITEM_LOAD_STATE: if (g_console.emulator_initialized) { rarch_load_state(); rarch_settings_change(S_RETURN_TO_GAME); } break; case MENU_ITEM_SAVE_STATE: if (g_console.emulator_initialized) { rarch_save_state(); rarch_settings_change(S_RETURN_TO_GAME); } break; case MENU_ITEM_KEEP_ASPECT_RATIO: { rarch_settings_default(S_DEF_ASPECT_RATIO); gfx_ctx_set_aspect_ratio(d3d9, g_console.aspect_ratio_index); rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_ASPECT_RATIO, sizeof(strw_buffer)); m_quickmenulist.SetText(MENU_ITEM_KEEP_ASPECT_RATIO, strw_buffer); } break; case MENU_ITEM_OVERSCAN_AMOUNT: if(g_console.info_msg_enable) rarch_settings_msg(S_MSG_NOT_IMPLEMENTED, S_DELAY_180); break; case MENU_ITEM_ORIENTATION: rarch_settings_default(S_DEF_ROTATION); rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_ROTATION, sizeof(strw_buffer)); m_quickmenulist.SetText(MENU_ITEM_ORIENTATION, strw_buffer); video_xdk360.set_rotation(driver.video_data, g_console.screen_orientation); break; case MENU_ITEM_RESIZE_MODE: g_console.input_loop = INPUT_LOOP_RESIZE_MODE; if (g_console.info_msg_enable) rarch_settings_msg(S_MSG_RESIZE_SCREEN, S_DELAY_270); break; case MENU_ITEM_FRAME_ADVANCE: if (g_console.emulator_initialized) rarch_settings_change(S_FRAME_ADVANCE); break; case MENU_ITEM_SCREENSHOT_MODE: if (g_console.info_msg_enable) rarch_settings_msg(S_MSG_NOT_IMPLEMENTED, S_DELAY_180); break; case MENU_ITEM_RESET: if (g_console.emulator_initialized) { rarch_settings_change(S_RETURN_TO_GAME); rarch_game_reset(); } break; case MENU_ITEM_RETURN_TO_GAME: if (g_console.emulator_initialized) rarch_settings_change(S_RETURN_TO_GAME); break; case MENU_ITEM_RETURN_TO_DASHBOARD: rarch_settings_change(S_RETURN_TO_DASHBOARD); break; } } bHandled = TRUE; return 0; }