configure_graphics.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. // Copyright 2016 Citra Emulator Project
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #pragma once
  5. #include <memory>
  6. #include <vector>
  7. #include <QString>
  8. #include <QWidget>
  9. #include "core/settings.h"
  10. namespace ConfigurationShared {
  11. enum class CheckState;
  12. }
  13. namespace Ui {
  14. class ConfigureGraphics;
  15. }
  16. class ConfigureGraphics : public QWidget {
  17. Q_OBJECT
  18. public:
  19. explicit ConfigureGraphics(QWidget* parent = nullptr);
  20. ~ConfigureGraphics() override;
  21. void ApplyConfiguration();
  22. private:
  23. void changeEvent(QEvent* event) override;
  24. void RetranslateUI();
  25. void SetConfiguration();
  26. void UpdateBackgroundColorButton(QColor color);
  27. void UpdateDeviceComboBox();
  28. void UpdateDeviceSelection(int device);
  29. void RetrieveVulkanDevices();
  30. void SetupPerGameUI();
  31. Settings::RendererBackend GetCurrentGraphicsBackend() const;
  32. std::unique_ptr<Ui::ConfigureGraphics> ui;
  33. QColor bg_color;
  34. ConfigurationShared::CheckState use_disk_shader_cache;
  35. ConfigurationShared::CheckState use_asynchronous_gpu_emulation;
  36. std::vector<QString> vulkan_devices;
  37. u32 vulkan_device{};
  38. };