void PlaneViewer::wheelEvent(QWheelEvent *event) {
  TPointD pos(event->x() * getDevPixRatio(),
              height() - event->y() * getDevPixRatio());
  double zoom_par = 1 + event->delta() * 0.001;

  zoomView(pos.x, pos.y, zoom_par);
}
Exemple #2
0
void GLView::mouseMoveEvent(QMouseEvent* event)
{
	if(!mouseDrag)
		return;

	QPoint current = event->globalPos();
	int dx = current.x()-last.x();
	int dy = current.y()-last.y();
	if(event->buttons() & Qt::LeftButton) {
		rotateX += (GLdouble)dy;
		if(QApplication::keyboardModifiers() & Qt::ShiftModifier) {
			rotateY += (GLdouble)dx;
		} else {
			rotateZ += (GLdouble)dx;
		}
		normalizeAngle(rotateX);
		normalizeAngle(rotateY);
		normalizeAngle(rotateZ);
	} else {
		if(QApplication::keyboardModifiers() & Qt::ShiftModifier) {
			zoomView(-dy);
		} else {
			viewportX += (GLint)dx;
			viewportZ -= (GLint)dy;
		}
	}
	updateGL();

	last = current;
}
void InteractivePointer::update(int posX, int posY, QVector<int> val1, QVector<int> val2, int mode)
{
    // Also update current position.
    updatePosition(posX, posY);

    if (mode == 0)                      // Zoom view
    {
        this->setFixedWidth(pointerSizeX());
        this->setFixedHeight(pointerSizeY());

        zoomView(val1, winSize());
    }
    else if (mode == 1)                 // Difference view
    {
        this->setFixedWidth(pointerSizeX());
        this->setFixedHeight(pointerSizeY());

        diffView(val1, val2, winSize());
    }
    else                                // Text View
    {
        // The reason we are not adjusting the font, and/or window size here, is to help users with poor eyesight
        // to avoid small letters. So let a user find his desired font size, and adjust the pointer accordingly.        
        this->setFixedWidth(winSize() * (m_pixelsWideT + m_pixelsWideS));
        this->setFixedHeight(winSize() * (m_pixelsHighS));

        this->setLineWidth(pointerSizeY());
        textView(val1, winSize());
    }
}
Exemple #4
0
 void mouseMoveEvent( QMouseEvent *e ) {
     if (_leftButtonPressed ) {
        panView( e->pos() ); 
     } else if (_rightButtonPressed) {
         rotateView( e->pos() ); 
     }
     else if (_middleButtonPressed) {
         zoomView( e->pos() ); 
     }
 }
Exemple #5
0
void MapBrowserWidget::deserializeData(const QVariant& serialized)
{
    //kDebug() << "seting new data";
    QString serializedData = serialized.toString();
    //kDebug() << "serializedData:" << serializedData << ";" << serialized;
    QStringList dataList = serializedData.split(';');
    //kDebug() << "splited:" << dataList;
    if (dataList.length()>=3) {
        setCenterLatitude(dataList[0].toDouble());
        setCenterLongitude(dataList[1].toDouble());
        zoomView(dataList[2].toInt());
    }
}
void TwoDimensionalDisplayController::motion( int x, int y ) 
{
    if( m_left_drag ) 
    {
        double dx = x - m_last_x;
        double dy = y - m_last_y;
        m_last_x = x;
        m_last_y = y;
        translateView( dx, dy );
    }
    if( m_right_drag ) 
    {
        double dx = x - m_last_x;
        double dy = y - m_last_y;
        m_last_x = x;
        m_last_y = y;
        zoomView( dx, dy );
    }
}
Exemple #7
0
void GLWidget::zoomView( const QPoint& newPos ) {
    float dy = (float)(newPos.y() - _oldMousePos.y()) / (float)_height;
    _oldMousePos = newPos;
    zoomView( (int)(dy*120*5) );
}
Exemple #8
0
void GLView::wheelEvent(QWheelEvent* event)
{
	zoomView(event->delta()/12);
	updateGL();
}
Exemple #9
0
 void wheelEvent( QWheelEvent *e ) {
     //qDebug() << " mouseWheel delta= " << e->delta() << "\n";
     zoomView( e->delta() );
 }
void editLevelStateClass::update(sf::RenderWindow& window)
{
    sf::Event event;

    while(window.pollEvent(event))
    {
        if(event.type == sf::Event::Closed)
        {
            window.close();
        }
        else if(event.type == sf::Event::KeyPressed)
        {
            switch(event.key.code)
            {
                case sf::Keyboard::Escape:
                {
                    setNoMode();
                    break;
                }
                case sf::Keyboard::A:
                {
                    drawAllFloor = !drawAllFloor;
                    break;
                }
                case sf::Keyboard::F:
                {
                    setAddFloorMode();
                    break;
                }
                case sf::Keyboard::W:
                {
                    setAddWallMode("WALL");
                    break;
                }
                case sf::Keyboard::X:
                {
                    setAddWallMode("STICKMAN_WALL");
                    break;
                }
                case sf::Keyboard::P:
                {
                    currentMode = PLACE_PLAYER;
                    break;
                }
                case sf::Keyboard::Return:
                {
                    returnPressed();
                    break;
                }
                case sf::Keyboard::BackSpace:
                {
                    backspacePressed();
                    break;
                }
                case sf::Keyboard::Delete:
                {
                    deletePressed();
                    break;
                }
                case sf::Keyboard::LShift:
                {
                    speedFactor = 5;
                    break;
                }
                case sf::Keyboard::O:
                {
                    saveLevel();
                    break;
                }
                case sf::Keyboard::I:
                {
                    loadLevel();
                    break;
                }
                case sf::Keyboard::H:
                {
                    moveAllLevel(-1, 0);
                    break;
                }
                case sf::Keyboard::J:
                {
                    moveAllLevel(0, 1);
                    break;
                }
                case sf::Keyboard::K:
                {
                    moveAllLevel(0, -1);
                    break;
                }
                case sf::Keyboard::L:
                {
                    moveAllLevel(1, 0);
                    break;
                }
                case sf::Keyboard::F10:
                {
                    global::activeGameStateStack->set(new mainMenuStateClass());
                    return;
                }
                case sf::Keyboard::Add:
                {
                    if(static_cast<unsigned int>(currentFloor - 1) < listOfFloor.size())
                    {
                        ++currentFloor;
                    }
                    break;
                }
                case sf::Keyboard::Subtract:
                {
                    if(currentFloor > 0)
                    {
                        --currentFloor;
                    }
                    break;
                }
                case sf::Keyboard::B:
                {
                    if(chooseNameOfLevel == false)
                    {
                        chooseNameOfLevel = true;
                        tmpIndexOfLevel = currentIndexOfLevel;
                    }
                    else
                    {
                        --tmpIndexOfLevel;
                        if(tmpIndexOfLevel < 0)
                        {
                            tmpIndexOfLevel = listOfLevel.size() - 1;
                        }
                    }
                    nameOfLevelTextHasChanged();
                    break;
                }
                case sf::Keyboard::N:
                {
                    if(chooseNameOfLevel == false)
                    {
                        chooseNameOfLevel = true;
                        tmpIndexOfLevel = currentIndexOfLevel;
                    }
                    else
                    {
                        ++tmpIndexOfLevel;
                        if(static_cast<unsigned int>(tmpIndexOfLevel) >= listOfLevel.size())
                        {
                            tmpIndexOfLevel = 0;
                        }
                    }
                    nameOfLevelTextHasChanged();
                    break;
                }
                case sf::Keyboard::M:
                {
                    if(chooseNameOfLevel == true)
                    {
                        chooseNameOfLevel = false;
                        currentIndexOfLevel = tmpIndexOfLevel;
                        loadThisLevel(listOfLevel[currentIndexOfLevel]);
                    }
                    break;
                }
                default:
                {
                    break;
                }
            }
        }
        else if(event.type == sf::Event::KeyReleased)
        {
            if(event.key.code == sf::Keyboard::LShift)
            {
                speedFactor = 1;
            }
        }
        else if(event.type == sf::Event::MouseButtonPressed)
        {
            if(event.mouseButton.button == sf::Mouse::Left)
            {
                leftClick(view.getCenter().x - ((WIDTH_SCREEN / 2) * zoomLevel) + event.mouseButton.x * zoomLevel,
                          view.getCenter().y - ((HEIGHT_SCREEN / 2) * zoomLevel) + event.mouseButton.y * zoomLevel);
            }
            else if(event.mouseButton.button == sf::Mouse::Right)
            {
                rightClick(view.getCenter().x - ((WIDTH_SCREEN / 2) * zoomLevel) + event.mouseButton.x * zoomLevel,
                          view.getCenter().y - ((HEIGHT_SCREEN / 2) * zoomLevel) + event.mouseButton.y * zoomLevel);
            }
        }
        else if(event.type == sf::Event::MouseWheelMoved)
        {
            zoomView(event.mouseWheel.delta);
        }

        if(event.type == sf::Event::TextEntered)
        {
            char character = static_cast<char>(event.text.unicode);

            if(character >= 48 && character <= 57 && currentMode == NO_MODE)
            {
                if(character - 48 < static_cast<char>(listOfFloor.size()))
                {
                    currentFloor = character - 48;
                }
            }
        }
    }

    if(sf::Keyboard::isKeyPressed(sf::Keyboard::Q))
    {
        moveView(-speedView * zoomLevel - 1, 0);
    }
    if(sf::Keyboard::isKeyPressed(sf::Keyboard::D))
    {
        moveView(speedView * zoomLevel + 1, 0);
    }
    if(sf::Keyboard::isKeyPressed(sf::Keyboard::Z))
    {
        moveView(0, -speedView * zoomLevel - 1);
    }
    if(sf::Keyboard::isKeyPressed(sf::Keyboard::S))
    {
        moveView(0, speedView * zoomLevel + 1);
    }

    if(chooseNameOfLevel == true)
    {
        updateNameOfLevelText();
    }
}