void LvkInputImageWidget::mouseMoveEvent(QMouseEvent *event) { _mouseX = event->x(); _mouseY = event->y(); emit mousePositionChanged(ztor(_mouseX), ztor(_mouseY)); }
bool QDeclarativeMouseArea::setPressed(bool p) { Q_D(QDeclarativeMouseArea); bool dragged = d->drag && d->drag->active(); bool isclick = d->pressed == true && p == false && dragged == false && d->hovered == true; if (d->pressed != p) { d->pressed = p; QDeclarativeMouseEvent me(d->lastPos.x(), d->lastPos.y(), d->lastButton, d->lastButtons, d->lastModifiers, isclick, d->longPress); if (d->pressed) { if (!d->doubleClick) emit pressed(&me); me.setX(d->lastPos.x()); me.setY(d->lastPos.y()); emit mousePositionChanged(&me); emit pressedChanged(); } else { emit released(&me); me.setX(d->lastPos.x()); me.setY(d->lastPos.y()); emit pressedChanged(); if (isclick && !d->longPress && !d->doubleClick) emit clicked(&me); } return me.isAccepted(); } return false; }
void QDeclarativeMouseArea::hoverEnterEvent(QGraphicsSceneHoverEvent *event) { Q_D(QDeclarativeMouseArea); if (!d->absorb) QDeclarativeItem::hoverEnterEvent(event); else { d->lastPos = event->pos(); setHovered(true); QDeclarativeMouseEvent me(d->lastPos.x(), d->lastPos.y(), Qt::NoButton, Qt::NoButton, event->modifiers(), false, false); emit mousePositionChanged(&me); } }
void QDeclarativeMouseArea::hoverMoveEvent(QGraphicsSceneHoverEvent *event) { Q_D(QDeclarativeMouseArea); if (!d->absorb) { QDeclarativeItem::hoverEnterEvent(event); } else { d->lastPos = event->pos(); QDeclarativeMouseEvent me(d->lastPos.x(), d->lastPos.y(), Qt::NoButton, d->lastButtons, d->lastModifiers, false, d->longPress); emit mousePositionChanged(&me); me.setX(d->lastPos.x()); me.setY(d->lastPos.y()); emit positionChanged(&me); } }
bool AsemanMouseEventListener::childMouseEventFilter(QQuickItem *item, QEvent *e) { QMouseEvent *mevent = static_cast<QMouseEvent*>(e); switch(static_cast<int>(e->type())) { case QEvent::MouseMove: { QPointF newP = mapFromItem(item, mevent->pos()); bool xChanged = (newP.x() != p->point.x()); bool yChanged = (newP.y() != p->point.y()); p->point = newP; if(xChanged) Q_EMIT mouseXChanged(); if(yChanged) Q_EMIT mouseYChanged(); Q_EMIT mousePositionChanged(); break; } case QEvent::MouseButtonPress: p->point = mapFromItem(item, mevent->pos()); Q_EMIT mousePressed(); break; case QEvent::MouseButtonRelease: p->point = mapFromItem(item, mevent->pos()); Q_EMIT mouseReleased(); break; default: p->ignoreEvent = false; break; } if(p->ignoreEvent) { p->ignoreEvent = false; return true; } else return QQuickItem::childMouseEventFilter(item, e); }
void QDeclarativeMouseArea::mouseMoveEvent(QGraphicsSceneMouseEvent *event) { Q_D(QDeclarativeMouseArea); if (!d->absorb) { QDeclarativeItem::mouseMoveEvent(event); return; } d->saveEvent(event); // ### we should skip this if these signals aren't used // ### can GV handle this for us? bool contains = boundingRect().contains(d->lastPos); if (d->hovered && !contains) setHovered(false); else if (!d->hovered && contains) setHovered(true); if (d->drag && d->drag->target()) { if (!d->moved) { d->startX = drag()->target()->x(); d->startY = drag()->target()->y(); } QPointF startLocalPos; QPointF curLocalPos; if (drag()->target()->parentItem()) { startLocalPos = drag()->target()->parentItem()->mapFromScene(d->startScene); curLocalPos = drag()->target()->parentItem()->mapFromScene(event->scenePos()); } else { startLocalPos = d->startScene; curLocalPos = event->scenePos(); } const int dragThreshold = QApplication::startDragDistance(); qreal dx = qAbs(curLocalPos.x() - startLocalPos.x()); qreal dy = qAbs(curLocalPos.y() - startLocalPos.y()); if (keepMouseGrab() && d->stealMouse) d->drag->setActive(true); bool dragX = drag()->axis() & QDeclarativeDrag::XAxis; bool dragY = drag()->axis() & QDeclarativeDrag::YAxis; if (dragX && d->drag->active()) { qreal x = (curLocalPos.x() - startLocalPos.x()) + d->startX; if (x < drag()->xmin()) x = drag()->xmin(); else if (x > drag()->xmax()) x = drag()->xmax(); drag()->target()->setX(x); } if (dragY && d->drag->active()) { qreal y = (curLocalPos.y() - startLocalPos.y()) + d->startY; if (y < drag()->ymin()) y = drag()->ymin(); else if (y > drag()->ymax()) y = drag()->ymax(); drag()->target()->setY(y); } if (!keepMouseGrab()) { if ((!dragY && dy < dragThreshold && dragX && dx > dragThreshold) || (!dragX && dx < dragThreshold && dragY && dy > dragThreshold) || (dragX && dragY && (dx > dragThreshold || dy > dragThreshold))) { setKeepMouseGrab(true); d->stealMouse = true; } } d->moved = true; } QDeclarativeMouseEvent me(d->lastPos.x(), d->lastPos.y(), d->lastButton, d->lastButtons, d->lastModifiers, false, d->longPress); emit mousePositionChanged(&me); me.setX(d->lastPos.x()); me.setY(d->lastPos.y()); emit positionChanged(&me); }
void ControlPointsWidget::mouseMoveEvent ( QMouseEvent * evnt ) { QPoint pt = evnt->pos(); if ( !m_bDragging ) { SetMouseCursor( pt ); } else { QRect rcBounds = m_rcChartPlotArea.adjusted(0,0,1,1); if ( !rcBounds.contains(pt) ) { // Cursor trying to move out of area pt = ClipPoint( rcBounds, pt ); } // Invalidate the rectangle that bounds the old point and joining line segments. //int x = ScaleX(m_Points[m_nFocusPoint].lP); //int y = ScaleY(m_Points[m_nFocusPoint].dwLog); //x += m_ptDragOffset.x; //y += m_ptDragOffset.y; //x = SnapScreenX(x); //y = SnapY(y); int x = ScaleX(m_ptDragCPoint.x()); int y = ScaleY(m_ptDragCPoint.y()); QRect rcInvalid; if ( m_nFocusPoint == 0 ) { int x1 = ScaleX(m_Points[1].lP); int y1 = ScaleY(m_Points[1].dwLog); QRect rc1(x-3,y-3,x+3,y+3 ); QRect rc2(x1-3,y1-3,x1+3,y1+3 ); rc1 = rc1.normalized(); rc2 = rc2.normalized(); rc1.adjust(-1,-1,1,1); rc2.adjust(-1,-1,1,1); rcInvalid = rc1.united( rc2 ); } else if ( m_nFocusPoint == (int)m_Points.size()-1 ) { int x1 = ScaleX(m_Points[m_nFocusPoint-1].lP); int y1 = ScaleY(m_Points[m_nFocusPoint-1].dwLog); QRect rc1(x-3,y-3,x+3,y+3 ); QRect rc2(x1-3,y1-3,x1+3,y1+3 ); rc1 = rc1.normalized(); rc2 = rc2.normalized(); rc1.adjust(-1,-1,1,1); rc2.adjust(-1,-1,1,1); rcInvalid = rc1.united( rc2 ); } else { QRect rc1(x-3,y-3,x+3,y+3 ); rc1 = rc1.normalized(); rc1.adjust(-1,-1,1,1); int x1 = ScaleX(m_Points[m_nFocusPoint-1].lP); int y1 = ScaleY(m_Points[m_nFocusPoint-1].dwLog); QRect rc2(x1-3,y1-3,x1+3,y1+3 ); rc2 = rc2.normalized(); rc2.adjust(-1,-1,1,1); x1 = ScaleX(m_Points[m_nFocusPoint+1].lP); y1 = ScaleY(m_Points[m_nFocusPoint+1].dwLog); QRect rc3(x1-3,y1-3,x1+3,y1+3 ); rc3 = rc3.normalized(); rc3.adjust(-1,-1,1,1); QRect temp; temp = rc1.united(rc2); rcInvalid = temp.united( rc3 ); } // Update the drag offset. This will be repainted in the paint routine. //m_ptDragOffset = pt - m_ptDragPickup; m_ptDragCPoint.setX( SnapX(UnscaleX(pt.x())) ); m_ptDragCPoint.setY( SnapY(UnscaleY(pt.y())) ); update( rcInvalid ); } //CRect rcBounds(m_rcChartPlotArea.left, m_rcChartPlotArea.top, m_rcChartPlotArea.right+1, m_rcChartPlotArea.bottom + 1 ); //if ( rcBounds.PtInRect(pt) ) //{ // int x = UnscaleX( SnapScreenX(pt.x )); // int y = UnscaleY( SnapY(pt.y )); // TRACE("%d, %d\n", x, y ); //} if ( m_rcChartPlotArea.contains( pt ) ) emit mousePositionChanged( SnapX(UnscaleX(pt.x())), SnapX(UnscaleY(pt.y())) ); }
void IPImageViewer::updateMousePosition(int x, int y) { emit mousePositionChanged(x, y); }
//protected slot void MapGraphicsView::handleChildMouseMove(QMouseEvent *event) { event->setAccepted(false); emit mousePositionChanged(event->pos(), this->mapToScene(event->pos())); }