pineapple/src/yuzu/configuration/configure_graphics_advanced.h

48 lines
1.2 KiB
C
Raw Normal View History

2022-11-05 13:58:44 +01:00
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include <memory>
2023-07-22 09:33:03 +02:00
#include <vector>
2022-11-05 13:58:44 +01:00
#include <QWidget>
2023-07-22 02:54:19 +02:00
#include "yuzu/configuration/configuration_shared.h"
2022-11-05 13:58:44 +01:00
namespace Core {
class System;
}
namespace Ui {
class ConfigureGraphicsAdvanced;
}
2023-07-22 02:54:19 +02:00
namespace ConfigurationShared {
class Builder;
}
2022-11-05 13:58:44 +01:00
2023-07-22 02:54:19 +02:00
class ConfigureGraphicsAdvanced : public ConfigurationShared::Tab {
2022-11-05 13:58:44 +01:00
public:
2023-07-22 02:54:19 +02:00
explicit ConfigureGraphicsAdvanced(
2023-07-22 09:33:03 +02:00
const Core::System& system_, std::shared_ptr<std::vector<ConfigurationShared::Tab*>> group,
2023-07-22 02:54:19 +02:00
const ConfigurationShared::Builder& builder, QWidget* parent = nullptr);
2022-11-05 13:58:44 +01:00
~ConfigureGraphicsAdvanced() override;
2023-07-22 02:54:19 +02:00
void ApplyConfiguration() override;
void SetConfiguration() override;
2022-11-05 13:58:44 +01:00
2023-05-08 00:52:13 +02:00
void ExposeComputeOption();
2022-11-05 13:58:44 +01:00
private:
2023-07-22 02:54:19 +02:00
void Setup(const ConfigurationShared::Builder& builder);
2022-11-05 13:58:44 +01:00
void changeEvent(QEvent* event) override;
void RetranslateUI();
std::unique_ptr<Ui::ConfigureGraphicsAdvanced> ui;
const Core::System& system;
2023-07-22 02:54:19 +02:00
2023-07-22 09:33:03 +02:00
std::vector<std::function<void(bool)>> apply_funcs;
2023-07-22 02:54:19 +02:00
QWidget* checkbox_enable_compute_pipelines{};
2022-11-05 13:58:44 +01:00
};