示例#1
0
void ArenaController::startDrag(QList<ArenaSceneElement*> sceneElements)
{
    m_activeElements = sceneElements;
    m_lastDragFinished = false;
    m_totalMouseOffset = QPointF(0, 0);

    m_origPositions.clear();
    foreach (ArenaSceneElement *sceneElement, sceneElements)
        m_origPositions[sceneElement] = sceneElement->pos();

    // Only freely movable items require snap to grid to be turned off
    setSnapToGrid(!(sceneElements.count() == 1 &&
                    sceneElements.first()->element()->isItem()));
    // Only auto-rotate walls if we are moving only one wall
    setAutoRotateWalls(sceneElements.count() == 1);
}
示例#2
0
int Tiled::Internal::Preferences::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
    _id = QObject::qt_metacall(_c, _id, _a);
    if (_id < 0)
        return _id;
    if (_c == QMetaObject::InvokeMetaMethod) {
        switch (_id) {
        case 0: showGridChanged((*reinterpret_cast< bool(*)>(_a[1]))); break;
        case 1: snapToGridChanged((*reinterpret_cast< bool(*)>(_a[1]))); break;
        case 2: useOpenGLChanged((*reinterpret_cast< bool(*)>(_a[1]))); break;
        case 3: setShowGrid((*reinterpret_cast< bool(*)>(_a[1]))); break;
        case 4: setSnapToGrid((*reinterpret_cast< bool(*)>(_a[1]))); break;
        default: ;
        }
        _id -= 5;
    }
    return _id;
}