aboutsummaryrefslogtreecommitdiff
path: root/simple-visualization/qmppianowidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'simple-visualization/qmppianowidget.cpp')
-rw-r--r--simple-visualization/qmppianowidget.cpp105
1 files changed, 53 insertions, 52 deletions
diff --git a/simple-visualization/qmppianowidget.cpp b/simple-visualization/qmppianowidget.cpp
index daeff25..05a84ed 100644
--- a/simple-visualization/qmppianowidget.cpp
+++ b/simple-visualization/qmppianowidget.cpp
@@ -4,82 +4,83 @@
qmpPianoWidget::qmpPianoWidget(QWidget *parent) : QWidget(parent)
{
- memset(keystates,0,sizeof(keystates));
- QPalette p=palette();
- p.setColor(QPalette::ColorRole::Highlight,0xff66cc);
- p.setColor(QPalette::ColorRole::Base,0x66ccff);
- setPalette(p);
+ memset(keystates, 0, sizeof(keystates));
+ QPalette p = palette();
+ p.setColor(QPalette::ColorRole::Highlight, 0xff66cc);
+ p.setColor(QPalette::ColorRole::Base, 0x66ccff);
+ setPalette(p);
}
-void qmpPianoWidget::setKeyState(int key,bool state)
+void qmpPianoWidget::setKeyState(int key, bool state)
{
- keystates[key]=state;
- update();
+ keystates[key] = state;
+ update();
}
void qmpPianoWidget::reset()
{
- memset(keystates,0,sizeof(keystates));
- update();
+ memset(keystates, 0, sizeof(keystates));
+ update();
}
QSize qmpPianoWidget::minimumSizeHint()const
{
- return QSize(320,22);
+ return QSize(320, 22);
}
bool qmpPianoWidget::hasHeightForWidth()const
{
- return true;
+ return true;
}
int qmpPianoWidget::heightForWidth(int w)const
{
- return w*22/320;
+ return w * 22 / 320;
}
void qmpPianoWidget::paintEvent(QPaintEvent *event)
{
- Q_UNUSED(event)
- for(int i=0;i<128;++i)
- {
- QRectF r=getKeyRect(i);
- QColor activeColor=palette().color(QPalette::ColorRole::Highlight);
- QColor inactiveColor=palette().color(QPalette::ColorRole::Base);
- if(i/12%2)
- {
- if(inactiveColor.valueF()>0.5)
- inactiveColor=inactiveColor.darker(112);
- else
- inactiveColor=inactiveColor.lighter(112);
- }
- paintKey(r,keystates[i]?activeColor:inactiveColor);
- }
+ Q_UNUSED(event)
+ for (int i = 0; i < 128; ++i)
+ {
+ QRectF r = getKeyRect(i);
+ QColor activeColor = palette().color(QPalette::ColorRole::Highlight);
+ QColor inactiveColor = palette().color(QPalette::ColorRole::Base);
+ if (i / 12 % 2)
+ {
+ if (inactiveColor.valueF() > 0.5)
+ inactiveColor = inactiveColor.darker(112);
+ else
+ inactiveColor = inactiveColor.lighter(112);
+ }
+ paintKey(r, keystates[i] ? activeColor : inactiveColor);
+ }
}
QRectF qmpPianoWidget::getKeyRect(int key)
{
- int octave=key/12;key%=12;
- bool is_black=(key<5&&(key&1))||(key>5&&((key&1)^1));
- double key_width=width()/75.;
- QRectF ret(0,0,key_width,height()/2.);
- if(!is_black)
- {
- ret.moveTop(height()/2.);
- int shift=(key+(key>=5))>>1;
- ret.moveLeft((octave*7+shift)*key_width);
- }
- else
- ret.moveLeft((octave*7+(key+(key>=5))/2.)*key_width);
- return ret;
+ int octave = key / 12;
+ key %= 12;
+ bool is_black = (key < 5 && (key & 1)) || (key > 5 && ((key & 1) ^ 1));
+ double key_width = width() / 75.;
+ QRectF ret(0, 0, key_width, height() / 2.);
+ if (!is_black)
+ {
+ ret.moveTop(height() / 2.);
+ int shift = (key + (key >= 5)) >> 1;
+ ret.moveLeft((octave * 7 + shift)*key_width);
+ }
+ else
+ ret.moveLeft((octave * 7 + (key + (key >= 5)) / 2.)*key_width);
+ return ret;
}
-void qmpPianoWidget::paintKey(QRectF keyrect,QColor keycolor)
+void qmpPianoWidget::paintKey(QRectF keyrect, QColor keycolor)
{
- QColor bordercolor(keycolor);
- if(keycolor.valueF()>0.5)
- bordercolor=bordercolor.darker(150);
- else
- bordercolor=bordercolor.lighter(150);
- QPainter *p=new QPainter(this);
- p->setPen(bordercolor);
- p->setBrush(QBrush(keycolor));
- p->drawRect(keyrect.adjusted(1,1,-1,-1));
- delete p;
+ QColor bordercolor(keycolor);
+ if (keycolor.valueF() > 0.5)
+ bordercolor = bordercolor.darker(150);
+ else
+ bordercolor = bordercolor.lighter(150);
+ QPainter *p = new QPainter(this);
+ p->setPen(bordercolor);
+ p->setBrush(QBrush(keycolor));
+ p->drawRect(keyrect.adjusted(1, 1, -1, -1));
+ delete p;
}