void QWSManager::mousePressEvent(QMouseEvent *e) { Q_D(QWSManager); d->mousePos = e->globalPos(); d->activeRegion = QApplication::qwsDecoration().regionAt(d->managed, d->mousePos); if(d->cached_region.regionType) d->previousRegionRepainted |= repaintRegion(d->cached_region.regionType, QDecoration::Pressed); if (d->activeRegion == QDecoration::Menu) { QPoint pos = (QApplication::layoutDirection() == Qt::LeftToRight ? d->managed->geometry().topLeft() : d->managed->geometry().topRight()); menu(pos); } if (d->activeRegion != QDecoration::None && d->activeRegion != QDecoration::Menu) { d->active = d->managed; d->managed->grabMouse(); } if (d->activeRegion != QDecoration::None && d->activeRegion != QDecoration::Close && d->activeRegion != QDecoration::Minimize && d->activeRegion != QDecoration::Menu) { d->managed->raise(); } if (e->button() == Qt::RightButton) { menu(e->globalPos()); } }
int Tiled::Internal::MapScene::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QGraphicsScene::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: setGridVisible((*reinterpret_cast< bool(*)>(_a[1]))); break; case 1: refreshScene(); break; case 2: repaintRegion((*reinterpret_cast< const QRegion(*)>(_a[1]))); break; case 3: currentLayerIndexChanged(); break; case 4: mapChanged(); break; case 5: tilesetChanged((*reinterpret_cast< Tileset*(*)>(_a[1]))); break; case 6: layerAdded((*reinterpret_cast< int(*)>(_a[1]))); break; case 7: layerRemoved((*reinterpret_cast< int(*)>(_a[1]))); break; case 8: layerChanged((*reinterpret_cast< int(*)>(_a[1]))); break; case 9: objectsAdded((*reinterpret_cast< const QList<MapObject*>(*)>(_a[1]))); break; case 10: objectsRemoved((*reinterpret_cast< const QList<MapObject*>(*)>(_a[1]))); break; case 11: objectsChanged((*reinterpret_cast< const QList<MapObject*>(*)>(_a[1]))); break; case 12: updateSelectedObjectItems(); break; default: ; } _id -= 13; } return _id; }
void QWSManager::mouseMoveEvent(QMouseEvent *e) { Q_D(QWSManager); if (d->newCachedRegion(e->globalPos())) { if(d->previousRegionType && d->previousRegionRepainted) repaintRegion(d->previousRegionType, QDecoration::Normal); if(d->cached_region.regionType) { d->previousRegionRepainted = repaintRegion(d->cached_region.regionType, QDecoration::Hover); } } #ifndef QT_NO_CURSOR QWSDisplay *qwsd = QApplication::desktop()->qwsDisplay(); qwsd->selectCursor(d->managed, regionToShape(d->cachedRegionAt())); #endif //QT_NO_CURSOR if (d->activeRegion) handleMove(e->globalPos()); }
void QWSManager::mouseReleaseEvent(QMouseEvent *e) { Q_D(QWSManager); d->managed->releaseMouse(); if (d->cached_region.regionType && d->previousRegionRepainted && QApplication::mouseButtons() == 0) { bool doesHover = repaintRegion(d->cached_region.regionType, QDecoration::Hover); if (!doesHover) { repaintRegion(d->cached_region.regionType, QDecoration::Normal); d->previousRegionRepainted = false; } } if (e->button() == Qt::LeftButton) { //handleMove(); int itm = QApplication::qwsDecoration().regionAt(d->managed, e->globalPos()); int activatedItem = d->activeRegion; d->activeRegion = QDecoration::None; d->active = 0; if (activatedItem == itm) QApplication::qwsDecoration().regionClicked(d->managed, itm); } else if (d->activeRegion == QDecoration::None) { d->active = 0; } }
void GDrawingSurface::conditionalRepaintRegion(const GRectangle& bounds) { if (isAutoRepaint()) { repaintRegion(bounds); } }
void GDrawingSurface::conditionalRepaintRegion(int x, int y, int width, int height) { if (isAutoRepaint()) { repaintRegion(x, y, width, height); } }
void GDrawingSurface::repaintRegion(const GRectangle& bounds) { repaintRegion((int) bounds.getX(), (int) bounds.getY(), (int) bounds.getWidth(), (int) bounds.getHeight()); }