void PenTool::mousePressEvent( QMouseEvent *event ) { if ( event->button() == Qt::LeftButton ) { mEditor->backup( typeName() ); mScribbleArea->setAllDirty(); } startStroke(); }
void BrushTool::mousePressEvent( QMouseEvent *event ) { if ( event->button() == Qt::LeftButton ) { mEditor->backup( typeName() ); mScribbleArea->setAllDirty(); } startStroke(); lastBrushPoint = getCurrentPoint(); }
void SmudgeTool::mousePressEvent(QMouseEvent *event) { //qDebug() << "smudgetool: mousePressEvent"; Layer *layer = m_pEditor->getCurrentLayer(); if (layer == NULL) { return; } if (event->button() == Qt::LeftButton) { if (layer->type == Layer::BITMAP) { m_pEditor->backup(typeName()); m_pScribbleArea->setAllDirty(); startStroke(); lastBrushPoint = getCurrentPoint(); } else if (layer->type == Layer::VECTOR) { m_pScribbleArea->closestCurves = ((LayerVector *)layer)->getLastVectorImageAtFrame(m_pEditor->m_nCurrentFrameIndex, 0) ->getCurvesCloseTo(getCurrentPoint(), m_pScribbleArea->tol / m_pScribbleArea->getTempViewScaleX()); m_pScribbleArea->closestVertices = ((LayerVector *)layer)->getLastVectorImageAtFrame(m_pEditor->m_nCurrentFrameIndex, 0) ->getVerticesCloseTo(getCurrentPoint(), m_pScribbleArea->tol / m_pScribbleArea->getTempViewScaleX()); if (m_pScribbleArea->closestVertices.size() > 0 || m_pScribbleArea->closestCurves.size() > 0) // the user clicks near a vertex or a curve { //qDebug() << "closestCurves:" << closestCurves << " | closestVertices" << closestVertices; m_pEditor->backup(typeName()); VectorImage *vectorImage = ((LayerVector *)layer)->getLastVectorImageAtFrame(m_pEditor->m_nCurrentFrameIndex, 0); if (event->modifiers() != Qt::ShiftModifier && !vectorImage->isSelected(m_pScribbleArea->closestVertices)) { m_pScribbleArea->paintTransformedSelection(); m_pScribbleArea->deselectAll(); } vectorImage->setSelected(m_pScribbleArea->closestVertices, true); m_pScribbleArea->vectorSelection.add(m_pScribbleArea->closestCurves); m_pScribbleArea->vectorSelection.add(m_pScribbleArea->closestVertices); m_pScribbleArea->update(); } else { m_pScribbleArea->deselectAll(); } } } }
void PencilTool::pointerPressEvent(PointerEvent*) { mScribbleArea->setAllDirty(); mMouseDownPoint = getCurrentPoint(); mLastBrushPoint = getCurrentPoint(); startStroke(); // note: why are we doing this on device press event? if ( !mEditor->preference()->isOn(SETTING::INVISIBLE_LINES) ) { mScribbleArea->toggleThinLines(); } }
static void startDrawCommand() { if( s_renderer.currentCommand >= s_renderer.strokeBuffer.commandCount ) { return; } const StrokeCommand* pCurrentCommand = &s_renderer.strokeBuffer.commands[ s_renderer.currentCommand ]; switch( pCurrentCommand->type ) { case StrokeCommandType_Draw: startStroke( pCurrentCommand->data.draw.pointIndex, pCurrentCommand->data.draw.pointCount ); break; case StrokeCommandType_Delay: break; default: break; } }