aboutsummaryrefslogtreecommitdiff
path: root/src-qt5/core/libLumina/LuminaRandR.h
diff options
context:
space:
mode:
Diffstat (limited to 'src-qt5/core/libLumina/LuminaRandR.h')
-rw-r--r--src-qt5/core/libLumina/LuminaRandR.h37
1 files changed, 29 insertions, 8 deletions
diff --git a/src-qt5/core/libLumina/LuminaRandR.h b/src-qt5/core/libLumina/LuminaRandR.h
index 3cdff651..bf2ba51a 100644
--- a/src-qt5/core/libLumina/LuminaRandR.h
+++ b/src-qt5/core/libLumina/LuminaRandR.h
@@ -1,35 +1,56 @@
//===========================================
// Lumina-DE source code
-// Copyright (c) 2016, Ken Moore
+// Copyright (c) 2017, Ken Moore
// Available under the 3-clause BSD license
// See the LICENSE file for full details
//===========================================
// This class governs all the xcb/randr interactions
// and provides simpler Qt-based functions for use elsewhere
//===========================================
+#ifndef _LUMINA_LIBRARY_RANDR_MONITORS_H
+#define _LUMINA_LIBRARY_RANDR_MONITORS_H
//Qt includes
#include <QSize>
+#include <QString>
+#include <QPoint>
+#include <QRect>
+#include <QList>
-#include "xcb/randr.h"
-class outputDevice{
+class OutputDevice{
public:
QString id; //output ID
bool enabled;
+ bool isPrimary;
//Monitor Geometry
QPoint geom; //geometry of monitor within session
//Monitor Resolution
QSize cRes; //current resolution of the monitor (could be different from geom.size() if panning is enabled)
QList<QSize> availRes; //available resolutions supported by the monitor
//Refresh Rate
- int cHz; //current refresh rate
- QList<int> availHz; //available refresh rates
+ //int cHz; //current refresh rate
+ //QList<int> availHz; //available refresh rates
//Expand this later to include:
// panning (current/possible)
// rotation (current/possible)
- //FUNCTIONS
-
- //Modification
+ //Global Listing of Devices
+ static QList<OutputDevice> availableMonitors();
+
+ //FUNCTIONS (do not use directly - use the static list function instead)
+ OutputDevice();
+ ~OutputDevice();
+
+ //Modification
+ void setAsPrimary();
+ void setEnabled(bool, QRect geom = QRect());
+ void setResolution(QSize);
+
+ //Now define a simple public_objects class so that each implementation
+ // has a storage container for placing private objects as needed
+ class p_objects;
+ p_objects* p_obj;
};
+
+#endif
bgstack15