blob: 99d93d5b7be4786a4d710eb3fe25ca03a36efe56 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#pragma once
#include <QOpenGLTexture>
#include <memory>
#include "shaders/textureshader.h"
#include "widget/wpixmapstore.h"
#include "widget/wvumeterbase.h"
#include "widget/wwidget.h"
class WVuMeterGLSL : public WVuMeterBase {
Q_OBJECT
public:
explicit WVuMeterGLSL(QWidget* pParent = nullptr);
~WVuMeterGLSL() override;
private:
std::unique_ptr<QOpenGLTexture> m_pTextureBack;
std::unique_ptr<QOpenGLTexture> m_pTextureVu;
mixxx::TextureShader m_textureShader;
void draw() override;
void initializeGL() override;
void cleanupGL();
void paintGL() override;
void drawTexture(QOpenGLTexture* texture, const QRectF& sourceRect, const QRectF& targetRect);
};
|