blob: 55caa637a04b687bbaf26bf0633669b045e1b260 (
plain) (
tree)
|
|
// Copyright 2013, University of Freiburg,
// Author: Manuel Schneider <ms1144>
#ifndef WIDGET_H
#define WIDGET_H
#include <QtWidgets> // for Qt5
#include <QDebug>
#include <X11/Xlib.h>
#include <X11/extensions/Xrandr.h>
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
typedef QSet<RRMode> ModeSet;
typedef QSet<RRCrtc> CrtcSet;
typedef QSet<RROutput> OutputSet;
typedef QList<RRMode> ModeList;
typedef QList<RRCrtc> CrtcList;
typedef QList<RROutput> OutputList;
typedef QMap<RRMode, XRRModeInfo*> ModeMap;
typedef QMap<RRCrtc, XRRCrtcInfo*> CrtcMap;
typedef QMap<RROutput, XRROutputInfo*> OutputMap;
Q_OBJECT
public:
explicit Widget(QWidget *parent = 0);
~Widget();
private slots:
void handleButton();
void bringToTopTimer();
private:
void timeout();
void updateScreenResources();
bool cloneMode();
Ui::Widget * _ui;
Display* _display;
XRRScreenResources* _screenResources;
ModeMap _modeMap;
CrtcMap _crtcMap;
OutputMap _outputMap;
OutputList _connectedOutputList;
RROutput _beamer, _monitor;
};
#endif // WIDGET_H
|