void tst_WindowsMobile::testSimpleWidget() { if (qt_wince_is_smartphone()) QSKIP("This test is only for Windows Mobile", SkipAll); QMenuBar menubar; menubar.show(); QWidget maximized; QPalette pal = maximized.palette(); pal.setColor(QPalette::Background, Qt::red); maximized.setPalette(pal); maximized.showMaximized(); QWidget widget; widget.setGeometry(100, 100, 200, 200); widget.setWindowTitle("Widget"); widget.show(); qApp->processEvents(); QTest::qWait(1000); QWidget widget2; widget2.setGeometry(100, 380, 300, 200); widget2.setWindowTitle("Widget 2"); widget2.setWindowFlags(Qt::Popup); widget2.show(); qApp->processEvents(); QTest::qWait(1000); takeScreenShot("testSimpleWidget_current.png"); compareScreenshots("testSimpleWidget_current.png", ":/testSimpleWidget_current.png"); }
void WindowServerLuna::setupDockModeAnimations() { // this function first takes a screen shot of the device out of dockmode and then in dock mode, // irrespective of the direction of animation // take a screen shot of outside dock mode reorderWindowManagersForDockMode(false); m_dockModeMgr->setOpacity(0.0); const HostInfo& hostInfo = HostBase::instance()->getInfo(); int displayWidth = hostInfo.displayWidth; int displayHeight = hostInfo.displayHeight; m_screenShot = takeScreenShot(); m_screenShotObject = new QGraphicsPixmapObject(); m_screenShotObject->setPixmap(m_screenShot); m_screenShotObject->setPos (displayWidth/2,displayHeight/2); m_screenShotObject->setVisible(false); m_screenFade.setTargetObject(NULL); m_screenFade.setTargetObject(m_screenShotObject); m_screenScale.setTargetObject(NULL); m_screenScale.setTargetObject(m_screenShotObject); // take a screen shot of inside dock mode reorderWindowManagersForDockMode(true); m_dockModeMgr->setOpacity(1.0); m_dockImage = takeScreenShot(); m_dockImageObject = new QGraphicsPixmapObject(); m_dockImageObject->setPixmap(m_dockImage); m_dockImageObject->setPos (displayWidth/2,displayHeight/2); m_dockImageObject->setVisible (false); m_dockFade.setTargetObject(NULL); m_dockFade.setTargetObject(m_dockImageObject); m_dockScale.setTargetObject(NULL); m_dockScale.setTargetObject(m_dockImageObject); // adding it to the scene if (m_dockImageObject) scene()->addItem (m_dockImageObject); if (m_screenShotObject) scene()->addItem (m_screenShotObject); }
void Application::tick( float timeStep ) { PROFILE("Total Tick"); updateScene(timeStep); drawScene(); if (movieMode) { takeScreenShot("arfox"); } }
void Application::handleInputKeyPress(const InputKeyPress *input) { switch (input->key) { case SDLK_q: { ActionApplicationQuit action; sendGlobalAction(&action); } break; case SDLK_F11: takeScreenShot("screen"); break; } }
void DialogMenu::exitMenu() { #ifdef TAKE_SCREENSHOTS takeScreenShot(); #endif beep(); if(humidityChanged) { qDebug() << "\nHumidityChanged!" ; qDebug() << "Sand Humidity:" << globals.HumiditySand << "% Fraction Humidity:"<< globals.HumidityFraction ; qDebug() << "New values will take part in next recepie selection.\n"; } this->accept(); }
void tst_WindowsMobile::testMainWindowAndMenuBar() { if (qt_wince_is_smartphone()) QSKIP("This test is only for Windows Mobile", SkipAll); QProcess process; process.start("testQMenuBar.exe"); QCOMPARE(process.state(), QProcess::Running); QTest::qWait(6000); openMenu(); QTest::qWait(1000); takeScreenShot("testQMenuBar_current.png"); process.close(); compareScreenshots("testQMenuBar_current.png", ":/testQMenuBar_current.png"); }
int main(int argc, char *argv[]) { QApplication app(argc, argv); // main window QWidget win; // GL format QGLFormat format; format.setVersion(4,3); format.setProfile(QGLFormat::CoreProfile); MainView *glView = new MainView(format); QVBoxLayout *mainLayout = new QVBoxLayout(&win); mainLayout->addWidget(glView); QWidget *cPanel = new QWidget(&win); QHBoxLayout *cPanelLayout = new QHBoxLayout(); cPanel->setLayout(cPanelLayout); QPushButton *sShotButton = new QPushButton("Screen Shot"); cPanelLayout->addWidget(sShotButton); QObject::connect( sShotButton, SIGNAL(clicked()), glView, SLOT(takeScreenShot()) ); QPushButton *switchButton = new QPushButton("Switch Buffers"); cPanelLayout->addWidget(switchButton); QObject::connect(switchButton, SIGNAL(clicked()), glView, SLOT(switchModel())); QPushButton *animButton = new QPushButton("Start/Stop Animation"); cPanelLayout->addWidget(animButton); QObject::connect(animButton, SIGNAL(clicked()), glView, SLOT(toggleAnimation()) ); mainLayout->addWidget(cPanel); win.setLayout(mainLayout); win.setWindowTitle("Simple Scene"); win.show(); return app.exec(); }
void Gui::notify_key_event(gnash::key::code k, int modifier, bool pressed) { // Handle GUI shortcuts if (pressed) { if (k == gnash::key::ESCAPE) { if (isFullscreen()) { _stage->setStageDisplayState(movie_root::DISPLAYSTATE_NORMAL); } } if (modifier & gnash::key::GNASH_MOD_CONTROL) { switch (k) { case gnash::key::o: case gnash::key::O: takeScreenShot(); break; case gnash::key::r: case gnash::key::R: restart(); break; case gnash::key::p: case gnash::key::P: pause(); break; case gnash::key::l: case gnash::key::L: refreshView(); break; case gnash::key::q: case gnash::key::Q: case gnash::key::w: case gnash::key::W: quit(); break; case gnash::key::f: case gnash::key::F: toggleFullscreen(); break; case gnash::key::h: case gnash::key::H: showUpdatedRegions(!showUpdatedRegions()); break; case gnash::key::MINUS: { // Max interval allowed: 1 second (1FPS) const size_t ni = std::min<size_t>(_interval + 2, 1000u); setInterval(ni); break; } case gnash::key::PLUS: { // Min interval allowed: 1/100 second (100FPS) const size_t ni = std::max<size_t>(_interval - 2, 10u); setInterval(ni); break; } case gnash::key::EQUALS: { if (_stage) { const float fps = _stage->getRootMovie().frameRate(); // Min interval allowed: 1/100 second (100FPS) const size_t ni = 1000.0/fps; setInterval(ni); } break; } default: break; } #ifdef ENABLE_KEYBOARD_MOUSE_MOVEMENTS if ( _keyboardMouseMovements ) { int step = _keyboardMouseMovementsStep; // x5 if SHIFT is pressed if (modifier & gnash::key::GNASH_MOD_SHIFT) step *= 5; switch (k) { case gnash::key::UP: { int newx = _xpointer; int newy = _ypointer-step; if ( newy < 0 ) newy=0; notifyMouseMove(newx, newy); break; } case gnash::key::DOWN: { int newx = _xpointer; int newy = _ypointer+step; if ( newy >= _height ) newy = _height-1; notifyMouseMove(newx, newy); break; } case gnash::key::LEFT: { int newx = _xpointer-step; int newy = _ypointer; if ( newx < 0 ) newx = 0; notifyMouseMove(newx, newy); break; } case gnash::key::RIGHT: { const int newy = _ypointer; int newx = _xpointer + step; if ( newx >= _width ) newx = _width-1; notifyMouseMove(newx, newy); break; } default: break; } } #endif // ENABLE_KEYBOARD_MOUSE_MOVEMENTS } } if (!_started) return; if (_stopped) return; if (_stage->keyEvent(k, pressed)) { // any action triggered by the // event required screen refresh display(_stage); } }
// handles keyboard and mouse input to control the camera and // exit the program void BlocksGame::handleInput(float dT) { sf::Event event; while(m_window->pollEvent(event)) { switch(event.type) { case sf::Event::Closed: quit(); break; case sf::Event::KeyPressed: if(event.key.code == sf::Keyboard::Escape) quit(); if(event.key.code == sf::Keyboard::F2) takeScreenShot(); if(event.key.code == sf::Keyboard::F5) m_world->saveWorld(savesDir); break; } } sf::Vector3<float> angles = m_cam->getAngles(); const float speed = 2000.0; // 10 blocks / sec sf::Vector2i mousePos = sf::Mouse::getPosition(*m_window); float dX = mousePos.x - SCREEN_WIDTH / 2; float dY = mousePos.y - SCREEN_HEIGHT / 2; //dX /= 1-0.5; // sensitivity //dY /= 1-0.5; dX *= RAD_90 * dT; dY *= -RAD_90 * dT; m_cam->rotate(dY, dX, 0); if(sf::Keyboard::isKeyPressed(sf::Keyboard::E)) { std::cout << m_cam->getPosition().y / 200.0 << std::endl; } // forward if(sf::Keyboard::isKeyPressed(sf::Keyboard::W)) { float zspd = speed * dT * sin((angles.y)); float xspd = speed * dT * cos((angles.y)); float yspd = 0;//speed * window.GetFrameTime() * sin(angles.x); m_cam->move(sf::Vector3<float>(xspd, yspd, zspd)); } // backwards if(sf::Keyboard::isKeyPressed(sf::Keyboard::S)) { float zspd = speed * dT * sin((angles.y)); float xspd = speed * dT * cos((angles.y)); float yspd = 0;//-speed * window.GetFrameTime() * sin(angles.x); m_cam->move(sf::Vector3<float>(-xspd, yspd, -zspd)); } // left if(sf::Keyboard::isKeyPressed(sf::Keyboard::A)) { float zspd = -speed * dT * sin(angles.y + RAD_90); float xspd = -speed * dT * cos(angles.y + RAD_90); m_cam->move(sf::Vector3<float>(xspd, 0, zspd)); } // right if(sf::Keyboard::isKeyPressed(sf::Keyboard::D)) { float zspd = -speed * dT * sin(angles.y + RAD_90); float xspd = -speed * dT * cos(angles.y + RAD_90); m_cam->move(sf::Vector3<float>(-xspd, 0, -zspd)); } // up if(sf::Keyboard::isKeyPressed(sf::Keyboard::Space)) m_cam->move(sf::Vector3<float>(0, speed * dT, 0)); // down if(sf::Keyboard::isKeyPressed(sf::Keyboard::LShift)) m_cam->move(sf::Vector3<float>(0, -speed * dT, 0)); sf::Mouse::setPosition(sf::Vector2i(SCREEN_WIDTH/2, SCREEN_HEIGHT/2), *m_window); // mouse clicks static bool leftMouseDown = false; if(sf::Mouse::isButtonPressed(sf::Mouse::Left) && !leftMouseDown) { leftMouseDown = true; sf::Vector3<int> blockPos = getBlockPosFromCam(); sf::Vector3<float> worldPos = getWorldCoordsAtScrenPos(SCREEN_WIDTH/2, SCREEN_HEIGHT/2); if(worldPos.x * worldPos.x + worldPos.y * worldPos.y + worldPos.z * worldPos.z < (1000.0 * 1000.0)) { //std::cout << "Close enough to remove" << std::endl; int id = m_world->getBlockId(blockPos.x, blockPos.y, blockPos.z); if(id != 0) { std::cout << "removing block\n"; m_world->setBlockId(blockPos.x, blockPos.y, blockPos.z, 0); } } }else if(!sf::Mouse::isButtonPressed(sf::Mouse::Left)) leftMouseDown = false; }