1
0

EscapeTimeVisualWidget.h 860 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #ifndef ESCAPETIMEVISUALWIDGET_H
  2. #define ESCAPETIMEVISUALWIDGET_H
  3. #include <QOpenGLWidget>
  4. class QOpenGLShaderProgram;
  5. class EscapeTimeVisualWidget;
  6. class ETVImage
  7. {
  8. GLuint textureId;
  9. EscapeTimeVisualWidget& owner;
  10. public:
  11. ETVImage(EscapeTimeVisualWidget& owner);
  12. ~ETVImage(void);
  13. void draw(float x, float y, float w, float h,
  14. float tx = 0.0f, float ty = 0.0f,
  15. float tw = 1.0f, float th = 1.0f);
  16. };
  17. class EscapeTimeVisualWidget :
  18. public QOpenGLWidget
  19. {
  20. Q_OBJECT
  21. friend class ETVImage;
  22. QOpenGLShaderProgram* program;
  23. GLuint gradientTextureId;
  24. public:
  25. EscapeTimeVisualWidget(QWidget* parent = nullptr);
  26. virtual void initializeGL(void) override;
  27. virtual void resizeGL(int w, int h) override;
  28. virtual void paintGL(void) override;
  29. };
  30. #endif // ESCAPETIMEVISUALWIDGET_H