qreal StaffType::chordRestStemPosY(const ChordRest *chordRest) const { if (stemThrough()) // does not make sense for "stems through staves" setting; just return top line vert. position return 0.0; // if stems beside staff, position are fixed, but take into account delta for half notes qreal delta = // displacement for half note stems (if used) // if half notes have not a short stem OR not a half note => 0 (minimStyle() != TablatureMinimStyle::SHORTER || chordRest->durationType().type() != TDuration::DurationType::V_HALF) ? 0.0 : // if stem is up, displace of half stem length down (positive) // if stem is down, displace of half stem length up (negative) (chordRest->up() ? -STAFFTYPE_TAB_DEFAULTSTEMLEN_UP : STAFFTYPE_TAB_DEFAULTSTEMLEN_DN) * 0.5; // if fret marks above lines and chordRest is up, move half a line distance up if (!onLines() && chordRest->up()) delta -= _lineDistance.val() *0.5; qreal y = (chordRest->up() ? STAFFTYPE_TAB_DEFAULTSTEMPOSY_UP : (_lines-1)*_lineDistance.val() + STAFFTYPE_TAB_DEFAULTSTEMPOSY_DN) + delta; return y; }
QObject::connect(this, SIGNAL(evTetrominoMove(Tetromino*, int)), this, SLOT(onTetrominoMove(Tetromino*, int))); QObject::connect(this, SIGNAL(evTetrominoMoveFail(Tetromino*)), this, SLOT(onTetrominoMoveFail(Tetromino*))); QObject::connect(this, SIGNAL(evTetrominoTurn(Tetromino*, int)), this, SLOT(onTetrominoTurn(Tetromino*, int))); QObject::connect(this, SIGNAL(evTetrominoTurnFail(Tetromino*)), this, SLOT(onTetrominoTurnFail(Tetromino*))); QObject::connect(this, SIGNAL(evTetrominoFall(Tetromino*, int)), this, SLOT(onTetrominoFall(Tetromino*, int))); QObject::connect(this, SIGNAL(evTetrominoDrop(Tetromino*, int)), this, SLOT(onTetrominoDrop(Tetromino*, int))); QObject::connect(this, SIGNAL(evTetrominoLand(Tetromino*)), this, SLOT(onTetrominoLand(Tetromino*))); QObject::connect(this, SIGNAL(evTetrominoLock(Tetromino*)), this, SLOT(onTetrominoLock(Tetromino*))); QObject::connect(this, SIGNAL(evTetrominoHold(Tetromino*)), this, SLOT(onTetrominoHold(Tetromino*))); QObject::connect(this, SIGNAL(evTetrominoHoldFail(Tetromino*)), this, SLOT(onTetrominoHoldFail(Tetromino*))); QObject::connect(this, SIGNAL(evGhost(Tetromino*)), this, SLOT(onGhost(Tetromino*))); QObject::connect(this, SIGNAL(evGhostMove(Tetromino*)), this, SLOT(onGhostMove(Tetromino*))); QObject::connect(this, SIGNAL(evGhostTurn(Tetromino*)), this, SLOT(onGhostTurn(Tetromino*))); QObject::connect(this, SIGNAL(evLines(QVector<bool>)), this, SLOT(onLines(QVector<bool>))); QObject::connect(this, SIGNAL(evLevel(int)), this, SLOT(onLevel(int))); QObject::connect(this, SIGNAL(evScore(int)), this, SLOT(onScore(int))); QObject::connect(this, SIGNAL(evTopOut()), this, SLOT(onTopOut())); QObject::connect(this, SIGNAL(evTetrominoLock(Tetromino*)), this, SLOT(onFirstLock(Tetromino*))); } void VisualMatrix::initStats() { setLines(); setLevel(); setScore(); } void VisualMatrix::initState()