| 
									
										
										
										
											2017-06-16 01:42:12 +02:00
										 |  |  | // Copyright 2017 Dolphin Emulator Project
 | 
					
						
							|  |  |  | // Licensed under GPLv2+
 | 
					
						
							|  |  |  | // Refer to the license.txt file included.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #pragma once
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <QDialog>
 | 
					
						
							|  |  |  | #include <QHash>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-06-16 01:43:14 +02:00
										 |  |  | class AdvancedWidget; | 
					
						
							|  |  |  | class EnhancementsWidget; | 
					
						
							|  |  |  | class HacksWidget; | 
					
						
							|  |  |  | class GeneralWidget; | 
					
						
							| 
									
										
										
										
											2017-06-16 01:42:12 +02:00
										 |  |  | class GraphicsWidget; | 
					
						
							|  |  |  | class MainWindow; | 
					
						
							|  |  |  | class QLabel; | 
					
						
							|  |  |  | class QTabWidget; | 
					
						
							|  |  |  | class QDialogButtonBox; | 
					
						
							| 
									
										
										
										
											2017-06-16 01:43:14 +02:00
										 |  |  | class SoftwareRendererWidget; | 
					
						
							| 
									
										
										
										
											2017-06-16 01:42:12 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | namespace X11Utils | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | class XRRConfiguration; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class GraphicsWindow final : public QDialog | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |   Q_OBJECT | 
					
						
							|  |  |  | public: | 
					
						
							|  |  |  |   explicit GraphicsWindow(X11Utils::XRRConfiguration* xrr_config, MainWindow* parent); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-03 03:33:53 +02:00
										 |  |  |   void Initialize(); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-06-16 01:42:12 +02:00
										 |  |  |   void RegisterWidget(GraphicsWidget* widget); | 
					
						
							|  |  |  |   bool eventFilter(QObject* object, QEvent* event) override; | 
					
						
							|  |  |  | signals: | 
					
						
							|  |  |  |   void BackendChanged(const QString& backend); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | private: | 
					
						
							|  |  |  |   void CreateMainLayout(); | 
					
						
							|  |  |  |   void OnBackendChanged(const QString& backend); | 
					
						
							|  |  |  |   void OnDescriptionAdded(QWidget* widget, const char* description); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-03 03:33:53 +02:00
										 |  |  |   bool m_lazy_initialized = false; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-06-16 01:42:12 +02:00
										 |  |  |   QTabWidget* m_tab_widget; | 
					
						
							|  |  |  |   QLabel* m_description; | 
					
						
							|  |  |  |   QDialogButtonBox* m_button_box; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-06-16 01:43:14 +02:00
										 |  |  |   AdvancedWidget* m_advanced_widget; | 
					
						
							|  |  |  |   EnhancementsWidget* m_enhancements_widget; | 
					
						
							|  |  |  |   HacksWidget* m_hacks_widget; | 
					
						
							|  |  |  |   GeneralWidget* m_general_widget; | 
					
						
							|  |  |  |   SoftwareRendererWidget* m_software_renderer; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-05-08 17:39:03 +02:00
										 |  |  |   QWidget* m_wrapped_advanced; | 
					
						
							|  |  |  |   QWidget* m_wrapped_enhancements; | 
					
						
							|  |  |  |   QWidget* m_wrapped_hacks; | 
					
						
							|  |  |  |   QWidget* m_wrapped_general; | 
					
						
							|  |  |  |   QWidget* m_wrapped_software; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-06-16 01:42:12 +02:00
										 |  |  |   X11Utils::XRRConfiguration* m_xrr_config; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   QHash<QObject*, const char*> m_widget_descriptions; | 
					
						
							|  |  |  | }; |