aboutsummaryrefslogtreecommitdiff
path: root/simple-visualization/qmppianowidget.hpp
blob: cca643c6ce43056e76ff2ab93aae87fc092c7a7b (plain) (blame)
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
#ifndef QMPPIANOWIDGET_HPP
#define QMPPIANOWIDGET_HPP

#include <QWidget>
#include <bitset>

class qmpPianoWidget : public QWidget
{
		Q_OBJECT
	public:
		explicit qmpPianoWidget(QWidget *parent = nullptr);
		void setKeyState(int key,bool state);
		void reset();
		QSize minimumSizeHint()const override;
		bool hasHeightForWidth()const override;
		int heightForWidth(int w)const override;

	protected:
		void paintEvent(QPaintEvent *event)override;

	private:
		bool keystates[128];
		QRectF getKeyRect(int key);
		void paintKey(QRectF keyrect,QColor keycolor);
};

#endif // QMPPIANOWIDGET_HPP