Files
openpilot-evo/selfdrive/ui/qt/window.hpp
T
Willem Melching d7ab2ec365 Qt ui: turn off screen after inactivity (#2583)
* qt ui: turn off screen after inactivity

* handle touch events globally

* whitespace
old-commit-hash: 7f3bf2093f8a1766743a37782bb5c0105e70e2f9
2020-11-20 13:21:18 +01:00

78 lines
1.4 KiB
C++

#pragma once
#include <QWidget>
#include <QTimer>
#include <QOpenGLWidget>
#include <QOpenGLFunctions>
#include <QStackedLayout>
#include "qt/qt_sound.hpp"
#include "ui/ui.hpp"
#include "offroad/settings.hpp"
#include "offroad/onboarding.hpp"
#ifdef QCOM2
const int vwp_w = 2160;
#else
const int vwp_w = 1920;
#endif
const int vwp_h = 1080;
class GLWindow : public QOpenGLWidget, protected QOpenGLFunctions {
Q_OBJECT
public:
using QOpenGLWidget::QOpenGLWidget;
explicit GLWindow(QWidget *parent = 0);
void wake();
~GLWindow();
protected:
void mousePressEvent(QMouseEvent *e) override;
void initializeGL() override;
void resizeGL(int w, int h) override;
void paintGL() override;
private:
QTimer * timer;
QTimer * backlight_timer;
UIState * ui_state;
QtSound sound;
bool onroad = true;
// TODO: this shouldn't be here
float brightness_b = 0;
float brightness_m = 0;
float smooth_brightness = 0;
public slots:
void timerUpdate();
void backlightUpdate();
signals:
void openSettings();
};
class MainWindow : public QWidget {
Q_OBJECT
protected:
bool eventFilter(QObject *obj, QEvent *event) override;
public:
explicit MainWindow(QWidget *parent = 0);
private:
QStackedLayout *main_layout;
GLWindow *glWindow;
SettingsWindow *settingsWindow;
OnboardingWindow *onboardingWindow;
public slots:
void openSettings();
void closeSettings();
};