mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu.git
				synced 2025-05-12 00:45:25 +00:00 
			
		
		
		
	Add default hotkey to swap primary screens.
Also minor style changes
This commit is contained in:
		
							parent
							
								
									5f72aade77
								
							
						
					
					
						commit
						d9305b0a07
					
				@ -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…
	
		Reference in New Issue
	
	Block a user