GrDapView::GrDapView(QWidget *parent) : QGraphicsView(parent) { scene_space = 4; zoomSlider = 250; rotateSlider = 0; visor_height = 76; visor_mode = QPainter::CompositionMode_Darken; visor_color = QColor(255, 0, 0, 255); visor_img.load(":/img16/sinimg.png"); scene = new QGraphicsScene(this); setAlignment(Qt::AlignCenter); // setAcceptDrops(true); setAutoFillBackground(true); setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform); setBackgroundBrush(Qt::darkGray); setBackgroundRole(QPalette::Dark); setCacheMode(QGraphicsView::CacheBackground); setDragMode(QGraphicsView::ScrollHandDrag); setOptimizationFlags(QGraphicsView::DontSavePainterState); setViewportUpdateMode(QGraphicsView::FullViewportUpdate);//SmartViewportUpdate FullViewportUpdate setTransformationAnchor(QGraphicsView::AnchorUnderMouse); setFrameShape(QFrame::NoFrame); setNewScene(400, 400, true); }
void SceneManager::changeScene(int newSceneNumber) { warning("changeScene(%d)", newSceneNumber); // Fade out the scene ScenePalette scenePalette; uint32 adjustData = 0; _globals->_scenePalette.clearListeners(); scenePalette.getPalette(); for (int percent = 100; percent >= 0; percent -= 5) { scenePalette.fade((byte *)&adjustData, false, percent); g_system->delayMillis(10); } // Stop any objects that were animating SynchronizedList<SceneObject *>::iterator i; for (i = _globals->_sceneObjects->begin(); i != _globals->_sceneObjects->end(); ++i) { SceneObject *sceneObj = *i; Common::Point pt(0, 0); sceneObj->addMover(NULL, &pt); sceneObj->setObjectWrapper(NULL); sceneObj->animate(ANIM_MODE_NONE, 0); sceneObj->_flags &= !OBJFLAG_PANES; } // Blank out the screen _globals->_screenSurface.fillRect(_globals->_screenSurface.getBounds(), 0); // Set the new scene to be loaded setNewScene(newSceneNumber); }