configure_graphics.h 990 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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 Ui {
  11. class ConfigureGraphics;
  12. }
  13. class ConfigureGraphics : public QWidget {
  14. Q_OBJECT
  15. public:
  16. explicit ConfigureGraphics(QWidget* parent = nullptr);
  17. ~ConfigureGraphics() override;
  18. void ApplyConfiguration();
  19. private:
  20. void changeEvent(QEvent* event) override;
  21. void RetranslateUI();
  22. void SetConfiguration();
  23. void UpdateBackgroundColorButton(QColor color);
  24. void UpdateDeviceComboBox();
  25. void UpdateDeviceSelection(int device);
  26. void RetrieveVulkanDevices();
  27. void SetupPerGameUI();
  28. Settings::RendererBackend GetCurrentGraphicsBackend() const;
  29. std::unique_ptr<Ui::ConfigureGraphics> ui;
  30. QColor bg_color;
  31. std::vector<QString> vulkan_devices;
  32. u32 vulkan_device{};
  33. };