forked from eden-emu/eden
		
	Add default hotkey to swap primary screens.
Also minor style changes
This commit is contained in:
		
							parent
							
								
									8e64c6c170
								
							
						
					
					
						commit
						72786d410e
					
				
					 10 changed files with 27 additions and 13 deletions
				
			
		|  | @ -73,7 +73,8 @@ void Config::ReadValues() { | |||
|     Settings::values.bg_blue = (float)sdl2_config->GetReal("Renderer", "bg_blue", 1.0); | ||||
| 
 | ||||
|     // Layout
 | ||||
|     Settings::values.layout_option = static_cast<Settings::LayoutOption>(sdl2_config->GetInteger("Layout", "layout_option", 0)); | ||||
|     Settings::values.layout_option = | ||||
|         static_cast<Settings::LayoutOption>(sdl2_config->GetInteger("Layout", "layout_option", 0)); | ||||
|     Settings::values.swap_screen = sdl2_config->GetBoolean("Layout", "swap_screen", false); | ||||
| 
 | ||||
|     // Audio
 | ||||
|  |  | |||
|  | @ -55,7 +55,8 @@ void Config::ReadValues() { | |||
|     qt_config->endGroup(); | ||||
| 
 | ||||
|     qt_config->beginGroup("Layout"); | ||||
|     Settings::values.layout_option = static_cast<Settings::LayoutOption>(qt_config->value("layout_option").toInt()); | ||||
|     Settings::values.layout_option = | ||||
|         static_cast<Settings::LayoutOption>(qt_config->value("layout_option").toInt()); | ||||
|     Settings::values.swap_screen = qt_config->value("swap_screen", false).toBool(); | ||||
|     qt_config->endGroup(); | ||||
| 
 | ||||
|  |  | |||
|  | @ -32,7 +32,8 @@ void ConfigureGraphics::applyConfiguration() { | |||
|     Settings::values.use_shader_jit = ui->toggle_shader_jit->isChecked(); | ||||
|     Settings::values.use_scaled_resolution = ui->toggle_scaled_resolution->isChecked(); | ||||
|     Settings::values.use_vsync = ui->toggle_vsync->isChecked(); | ||||
|     Settings::values.layout_option = static_cast<Settings::LayoutOption>(ui->layout_combobox->currentIndex()); | ||||
|     Settings::values.layout_option = | ||||
|         static_cast<Settings::LayoutOption>(ui->layout_combobox->currentIndex()); | ||||
|     Settings::values.swap_screen = ui->swap_screen->isChecked(); | ||||
|     Settings::Apply(); | ||||
| } | ||||
|  |  | |||
|  | @ -196,6 +196,7 @@ GMainWindow::GMainWindow() : config(new Config()), emu_thread(nullptr) { | |||
| 
 | ||||
|     // Setup hotkeys
 | ||||
|     RegisterHotkey("Main Window", "Load File", QKeySequence::Open); | ||||
|     RegisterHotkey("Main Window", "Swap Screens", QKeySequence::NextChild); | ||||
|     RegisterHotkey("Main Window", "Start Emulation"); | ||||
|     LoadHotkeys(); | ||||
| 
 | ||||
|  | @ -203,6 +204,8 @@ GMainWindow::GMainWindow() : config(new Config()), emu_thread(nullptr) { | |||
|             SLOT(OnMenuLoadFile())); | ||||
|     connect(GetHotkey("Main Window", "Start Emulation", this), SIGNAL(activated()), this, | ||||
|             SLOT(OnStartGame())); | ||||
|     connect(GetHotkey("Main Window", "Swap Screens", this), SIGNAL(activated()), this, | ||||
|             SLOT(OnSwapScreens())); | ||||
| 
 | ||||
|     std::string window_title = | ||||
|         Common::StringFromFormat("Citra | %s-%s", Common::g_scm_branch, Common::g_scm_desc); | ||||
|  | @ -550,6 +553,11 @@ void GMainWindow::OnConfigure() { | |||
|     } | ||||
| } | ||||
| 
 | ||||
| void GMainWindow::OnSwapScreens() { | ||||
|     Settings::values.swap_screen = !Settings::values.swap_screen; | ||||
|     Settings::Apply(); | ||||
| } | ||||
| 
 | ||||
| void GMainWindow::OnCreateGraphicsSurfaceViewer() { | ||||
|     auto graphicsSurfaceViewerWidget = new GraphicsSurfaceWidget(Pica::g_debug_context, this); | ||||
|     addDockWidget(Qt::RightDockWidgetArea, graphicsSurfaceViewerWidget); | ||||
|  |  | |||
|  | @ -105,6 +105,7 @@ private slots: | |||
|     /// Called whenever a user selects the "File->Select Game List Root" menu item
 | ||||
|     void OnMenuSelectGameListRoot(); | ||||
|     void OnMenuRecentFile(); | ||||
|     void OnSwapScreens(); | ||||
|     void OnConfigure(); | ||||
|     void OnDisplayTitleBars(bool); | ||||
|     void ToggleWindowMode(); | ||||
|  |  | |||
|  | @ -200,7 +200,7 @@ public: | |||
|     } | ||||
| 
 | ||||
|     /**
 | ||||
|      * Convenience method to update the VideoCore EmuWindow | ||||
|      * Convenience method to update the current frame layout | ||||
|      * Read from the current settings to determine which layout to use. | ||||
|      */ | ||||
|     void UpdateCurrentFramebufferLayout(unsigned width, unsigned height); | ||||
|  |  | |||
|  | @ -51,11 +51,15 @@ FramebufferLayout DefaultFrameLayout(unsigned width, unsigned height, bool swapp | |||
|             bot_screen.TranslateX((screen_window_area.GetWidth() - bot_screen.GetWidth()) / 2); | ||||
|     } else { | ||||
|         // Window is narrower than the emulation content => apply borders to the top and bottom
 | ||||
|         top_screen = top_screen.TranslateY(height / 2 - top_screen.GetHeight()); | ||||
|         // Recalculate the bottom screen to account for the width difference between top and bottom
 | ||||
|         screen_window_area = {0, 0, width, top_screen.GetHeight()}; | ||||
|         bot_screen = maxRectangle(screen_window_area, BOT_SCREEN_ASPECT_RATIO); | ||||
|         bot_screen = bot_screen.TranslateX((top_screen.GetWidth() - bot_screen.GetWidth()) / 2); | ||||
|         if (swapped) { | ||||
|             bot_screen = bot_screen.TranslateY(height / 2 - bot_screen.GetHeight()); | ||||
|         } else { | ||||
|             top_screen = top_screen.TranslateY(height / 2 - top_screen.GetHeight()); | ||||
|         } | ||||
|     } | ||||
|     // Move the top screen to the bottom if we are swapped.
 | ||||
|     res.top_screen = swapped ? top_screen.TranslateY(height / 2) : top_screen; | ||||
|  |  | |||
|  | @ -33,7 +33,8 @@ FramebufferLayout DefaultFrameLayout(unsigned width, unsigned height, bool is_sw | |||
| FramebufferLayout SingleFrameLayout(unsigned width, unsigned height, bool is_swapped); | ||||
| 
 | ||||
| /**
 | ||||
|  * Factory method for constructing a Frame with the a 4x size Top screen with a 1x size bottom screen on the right | ||||
|  * Factory method for constructing a Frame with the a 4x size Top screen with a 1x size bottom | ||||
|  * screen on the right | ||||
|  * This is useful in particular because it matches well with a 1920x1080 resolution monitor | ||||
|  * @param width Window framebuffer width in pixels | ||||
|  * @param height Window framebuffer height in pixels | ||||
|  |  | |||
|  | @ -45,10 +45,8 @@ struct Rectangle { | |||
|         return Rectangle{left, top + y, right, bottom + y}; | ||||
|     } | ||||
|     Rectangle<T> Scale(const float s) const { | ||||
|         ASSERT(s > 0); | ||||
|         return Rectangle { | ||||
|             left, top, static_cast<T>((right + left) * s), static_cast<T>((top + bottom) * s) | ||||
|         }; | ||||
|         return Rectangle{left, top, static_cast<T>((right + left) * s), | ||||
|                          static_cast<T>((top + bottom) * s)}; | ||||
|     } | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -406,9 +406,8 @@ void RendererOpenGL::DrawScreens() { | |||
|     glUniform1i(uniform_color_texture, 0); | ||||
| 
 | ||||
|     if (layout.top_screen_enabled) { | ||||
|         DrawSingleScreenRotated(screen_infos[0], (float)top_screen.left, | ||||
|                                 (float)top_screen.top, (float)top_screen.GetWidth(), | ||||
|                                 (float)top_screen.GetHeight()); | ||||
|         DrawSingleScreenRotated(screen_infos[0], (float)top_screen.left, (float)top_screen.top, | ||||
|                                 (float)top_screen.GetWidth(), (float)top_screen.GetHeight()); | ||||
|     } | ||||
|     if (layout.bottom_screen_enabled) { | ||||
|         DrawSingleScreenRotated(screen_infos[1], (float)bottom_screen.left, | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 James Rowe
						James Rowe