audio_effect_gl.h 916 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #ifndef AVPLAYER2_AUDIO_EFFECT_GL_H
  2. #define AVPLAYER2_AUDIO_EFFECT_GL_H
  3. #pragma once
  4. #include <QImage>
  5. #include <QKeyEvent>
  6. #include <QOpenGLWidget>
  7. #include "audio_effect_helper.h"
  8. #include "audio_play_thread.h"
  9. class AudioEffectGL : public QOpenGLWidget
  10. {
  11. Q_OBJECT
  12. public:
  13. explicit AudioEffectGL(QWidget* parent = nullptr);
  14. virtual ~AudioEffectGL(){};
  15. public:
  16. void paint_data(const AudioData& data);
  17. void paint_clear()
  18. {
  19. m_data.len = 0;
  20. repaint();
  21. }
  22. void set_draw_fmt(const BarHelper::VisualFormat& fmt) { m_helper.set_draw_fmt(fmt); }
  23. signals:
  24. void hiden(bool bSend = false);
  25. protected:
  26. void paintEvent(QPaintEvent* event) override;
  27. void keyPressEvent(QKeyEvent* event) override;
  28. void closeEvent(QCloseEvent* event) override;
  29. private:
  30. QImage m_img;
  31. BarHelper m_helper;
  32. AudioData m_data;
  33. };
  34. #endif // AVPLAYER2_AUDIO_EFFECT_GL_H