239
235
void CanvasMode_Normal::mouseMoveEvent(QMouseEvent *m)
241
237
// qDebug()<<"CanvasMode_Normal::mouseMoveEvent";
242
// const double mouseX = m->globalX();
243
// const double mouseY = m->globalY();
244
238
const FPoint mousePointDoc = m_canvas->globalToCanvas(m->globalPos());
246
240
m_lastPosWasOverGuide = false;
249
243
bool erf = false;
251
245
// qDebug() << "legacy mode move:" << m->x() << m->y() << m_canvas->globalToCanvas(m->globalPos()).x() << m_canvas->globalToCanvas(m->globalPos()).y();
252
// emit MousePos(m->x()/m_canvas->scale(),// + m_doc->minCanvasCoordinate.x(),
253
// m->y()/m_canvas->scale()); // + m_doc->minCanvasCoordinate.y());
255
247
if (commonMouseMove(m))
529
521
if (m_doc->m_Selection->isMultipleSelection())
531
// QRect mpo = QRect(qRound(m->x()/m_canvas->scale())-m_doc->guidesSettings.grabRad, qRound(m->y()/m_canvas->scale())-m_doc->guidesSettings.grabRad, m_doc->guidesSettings.grabRad*2, m_doc->guidesSettings.grabRad*2);
532
// mpo.moveBy(qRound(m_doc->minCanvasCoordinate.x()), qRound(m_doc->minCanvasCoordinate.y()));
533
523
double gx, gy, gh, gw;
534
524
m_doc->m_Selection->getVisualGroupRect(&gx, &gy, &gw, &gh);
535
525
int how = m_canvas->frameHitTest(QPointF(mousePointDoc.x(),mousePointDoc.y()), QRectF(gx, gy, gw, gh));
536
// if ((QRect(static_cast<int>(gx), static_cast<int>(gy), static_cast<int>(gw), static_cast<int>(gh)).intersects(mpo))
560
549
m_canvas->Transform(currItem, p);
561
550
QRect mpo = QRect(m->x()-m_doc->guidesSettings.grabRad, m->y()-m_doc->guidesSettings.grabRad, m_doc->guidesSettings.grabRad*2, m_doc->guidesSettings.grabRad*2);
562
// mpo.moveBy(qRound(m_doc->minCanvasCoordinate.x() * m_canvas->scale()), qRound(m_doc->minCanvasCoordinate.y() * m_canvas->scale()));
563
552
if ((QRegion(p.map(QPolygon(QRect(-3, -3, static_cast<int>(currItem->width()+6), static_cast<int>(currItem->height()+6))))).contains(mpo)))
565
554
QRect tx = p.mapRect(QRect(0, 0, static_cast<int>(currItem->width()), static_cast<int>(currItem->height())));
599
if ((m_canvas->m_viewMode.m_MouseButtonPressed) && (m->buttons() & Qt::LeftButton) && (GyM == -1) && (GxM == -1))
588
if ((m_canvas->m_viewMode.m_MouseButtonPressed) && (m->buttons() & Qt::LeftButton))
601
590
newX = qRound(mousePointDoc.x()); //m_view->translateToDoc(m->x(), m->y()).x());
602
591
newY = qRound(mousePointDoc.y()); //m_view->translateToDoc(m->x(), m->y()).y());
625
614
m_view->HaveSelRect = false;
626
615
m_doc->DragP = false;
627
616
m_doc->leaveDrag = false;
628
MoveGX = MoveGY = false;
630
619
m_view->registerMousePress(m->globalPos());
631
620
QRect mpo(m->x()-m_doc->guidesSettings.grabRad, m->y()-m_doc->guidesSettings.grabRad, m_doc->guidesSettings.grabRad*2, m_doc->guidesSettings.grabRad*2);
632
// mpo.moveBy(qRound(m_doc->minCanvasCoordinate.x() * m_canvas->scale()), qRound(m_doc->minCanvasCoordinate.y() * m_canvas->scale()));
634
621
if (m->button() == Qt::MidButton)
636
623
m_view->MidButt = true;
1043
1031
FPoint mousePointDoc = m_canvas->globalToCanvas(m->globalPos());
1044
1032
m_mouseCurrentPoint = mousePointDoc;
1045
1033
double grabRadius = m_doc->guidesSettings.grabRad / m_canvas->scale();
1046
int MxpS = static_cast<int>(mousePointDoc.x()); //m->x()/m_canvas->scale() + 0*m_doc->minCanvasCoordinate.x());
1047
int MypS = static_cast<int>(mousePointDoc.y()); //m->y()/m_canvas->scale() + 0*m_doc->minCanvasCoordinate.y());
1034
int MxpS = static_cast<int>(mousePointDoc.x());
1035
int MypS = static_cast<int>(mousePointDoc.y());
1048
1036
QRectF mpo(m_mouseCurrentPoint.x()-grabRadius, m_mouseCurrentPoint.y()-grabRadius, grabRadius*2, grabRadius*2);
1049
// mpo.translate(m_doc->minCanvasCoordinate.x() * m_canvas->scale(), m_doc->minCanvasCoordinate.y() * m_canvas->scale());
1050
1037
m_doc->nodeEdit.deselect();
1052
1039
if(!m_doc->guidesSettings.before) // guides are on foreground and want to be processed first
1299
1286
// m_view->startGesture(guideMoveGesture);
1300
1287
guideMoveGesture->mouseSelectGuide(m);
1304
QMap<double, uint> tmpGuidesSel;
1305
Guides tmpGuides = m_doc->currentPage()->guides.horizontals(GuideManagerCore::Standard);
1306
Guides::iterator it;
1309
double lowX = ((m->x() - m_doc->guidesSettings.grabRad) / m_canvas->scale()) + 0*m_doc->minCanvasCoordinate.x();
1310
double highX = ((m->x() + m_doc->guidesSettings.grabRad) / m_canvas->scale()) + 0*m_doc->minCanvasCoordinate.x();
1311
double lowY = ((m->y() - m_doc->guidesSettings.grabRad) / m_canvas->scale()) + 0*m_doc->minCanvasCoordinate.y();
1312
double highY = ((m->y() + m_doc->guidesSettings.grabRad) / m_canvas->scale()) + 0*m_doc->minCanvasCoordinate.y();
1313
for (it = tmpGuides.begin(); it != tmpGuides.end(); ++it, ++yg)
1315
if (((*it) + m_doc->currentPage()->yOffset() < highY) && ((*it)+m_doc->currentPage()->yOffset() > lowY))
1316
tmpGuidesSel.insert(fabs(((*it)+m_doc->currentPage()->yOffset()) - MypS), yg);
1318
if (tmpGuidesSel.count() != 0)
1320
GyM = tmpGuidesSel.begin().value();
1321
QPoint py = m_view->viewport()->mapFromGlobal(m->globalPos());
1322
m_view->DrHY = py.y();
1324
tmpGuidesSel.clear();
1325
tmpGuides = m_doc->currentPage()->guides.verticals(GuideManagerCore::Standard);
1326
for (it = tmpGuides.begin(); it != tmpGuides.end(); ++it, ++xg)
1328
if (((*it) + m_doc->currentPage()->xOffset() < highX) && ((*it)+m_doc->currentPage()->xOffset() > lowX))
1329
tmpGuidesSel.insert(fabs(((*it)+m_doc->currentPage()->xOffset()) - MypS), xg);
1331
if (tmpGuidesSel.count() != 0)
1333
GxM = tmpGuidesSel.begin().value();
1334
QPoint py = m_view->viewport()->mapFromGlobal(m->globalPos());
1335
m_view->DrVX = py.x();
1337
if (GxM!=-1 || GyM!=-1)
1343
//FIXME:av emit signalGuideInformation(0, qRound(m_doc->currentPage()->guides.horizontal(GyM, GuideManagerCore::Standard) * 10000.0) / 10000.0);
1349
//FIXME:av emit signalGuideInformation(1, qRound(m_doc->currentPage()->guides.vertical(GxM, GuideManagerCore::Standard) * 10000.0) / 10000.0);
1354
1290
//m_doc->m_Selection->setIsGUISelection(true);
1355
1291
m_doc->m_Selection->connectItemToGUI();