void BitmapTestCase::OverlappingBlit() { m_bmp.SetMask( NULL ); // Clear to white. wxMemoryDC dc(m_bmp); dc.SetBackground( *wxWHITE ); dc.Clear(); // Draw red line across the top. dc.SetPen(*wxRED_PEN); dc.DrawLine(0, 0, 10, 0); // Scroll down one line. dc.Blit( 0, 1, 10, 9, &dc, 0, 0 ); // Now, lines 0 and 1 should be red, lines 2++ should still be white. wxNativePixelData npd( m_bmp ); wxNativePixelData::Iterator it( npd ); ASSERT_EQUAL_RGB( it, 255, 0, 0 ); it.OffsetY( npd, 1 ); ASSERT_EQUAL_RGB( it, 255, 0, 0 ); it.OffsetY( npd, 1 ); ASSERT_EQUAL_RGB( it, 255, 255, 255 ); it.OffsetY( npd, 1 ); ASSERT_EQUAL_RGB( it, 255, 255, 255 ); }
void PogadeMainWindow::newProject() { NewProjectDialog npd(this); npd.setWindowTitle(tr("New Project")); connect(&npd, SIGNAL(newProjectCreated(PogadeProject*)), this, SLOT(setProject(PogadeProject*))); npd.exec(); }
void MainWindow::slotNewProject() { NewProjectDialog npd(this); if (npd.exec() == QDialog::Accepted) { try { Project_sV *project = npd.buildProject(); // Save project XmlProjectRW_sV writer; //qDebug() << "Saving project as " << npd.filename; // check if directory exist ... QFileInfo projfile(npd.projectFilename()); QDir dir(projfile.absoluteDir()); if (!dir.exists()) { dir.mkpath("."); } try { writer.saveProject(project, npd.projectFilename()); statusBar()->showMessage(QString(tr("Saved project as: %1")).arg(npd.projectFilename())); setWindowModified(false); } catch (Error_sV &err) { QMessageBox(QMessageBox::Warning, tr("Error writing project file"), err.message()).exec(); } m_projectPath = npd.projectFilename(); project->preferences()->viewport_secRes() = QPointF(400, 400)/project->frameSource()->framesCount()*project->frameSource()->fps()->fps(); /* add a first (default) node */ Node_sV snode; snode.setX(0.0); snode.setY(0.0); project->nodes()->add(snode); loadProject(project); m_wCanvas->showHelp(true); setWindowModified(true); } catch (FrameSourceError &err) { QMessageBox(QMessageBox::Warning, "Frame source error", err.message()).exec(); } } }