// Export: void AboutOpera::generateData( URL& url ) { writePreamble( url ); // <html><body> surplus // <require> each of these should close exactly the HTML tags it opens: writeVersion( url ); writeUA( url ); writeRegInfo( url ); writePaths( url ); writeSound( url ); writeCredits( url ); // </require> url.WriteDocumentData(UNI_L("\n\n <address>")); #ifdef GEIR_MEMORIAL OP_STATUS rc; OpString span; TRAP(rc, g_languageManager->GetStringL(Str::S_DEDICATED_TO, span)); if (OpStatus::IsSuccess(rc)) { url.WriteDocumentData(UNI_L("<span>")); // In memory of Geir Ivarsøy. url.WriteDocumentData(span); url.WriteDocumentData(UNI_L("</span> ")); } #endif outASCII(url, "Copyright © 1995-"); outASCII(url, __DATE__ + 7); // "Mmm dd Year" + 7 == "Year" outASCII(url, " Opera Software ASA.\n" "All rights reserved.</address>\n" "</body>\n</html>\n"); url.WriteDocumentDataFinished(); }
void CodeGenerator::writeCoreHelperClasses(const QString &fileName, ClassComponent component) const { if (!m_parser) return; QFile file(fileName); if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) return; QTextStream stream(&file); // Write the preamble writePreamble(fileName, stream); // Iterate over each OpenGL version. For each version output a private class for // core functions and a private class for deprecated functions. const QString privateRootClass = QStringLiteral("QOpenGLVersionFunctionsBackend"); Q_FOREACH (const VersionProfile &versionProfile, m_parser->versionProfiles()) { switch (component) { case Declaration: writeBackendClassDeclaration(stream, versionProfile, privateRootClass); break; case Definition: writeBackendClassImplementation(stream, versionProfile, privateRootClass); break; } } // Write the postamble writePostamble(fileName, stream); }
void CodeGenerator::writeCoreFactoryHeader(const QString &fileName) const { if (!m_parser) return; QFile file(fileName); if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) return; QTextStream stream(&file); // Write the preamble writePreamble(fileName, stream); // Write the postamble writePostamble(fileName, stream); }
void CodeGenerator::writeCoreFactoryImplementation(const QString &fileName) const { if (!m_parser) return; QFile file(fileName); if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) return; QTextStream stream(&file); // Write the preamble writePreamble(fileName, stream); // Get the set of version functions classes we need to create QList<Version> versions = m_parser->versions(); qSort(versions.begin(), versions.end(), qGreater<Version>()); // Outout the #include statements stream << QStringLiteral("#if !defined(QT_OPENGL_ES_2)") << endl; Q_FOREACH (const Version &classVersion, versions) { if (!versionHasProfiles(classVersion)) { stream << QString(QStringLiteral("#include \"qopenglfunctions_%1_%2.h\"")) .arg(classVersion.major) .arg(classVersion.minor) << endl; } else { const QList<VersionProfile::OpenGLProfile> profiles = (QList<VersionProfile::OpenGLProfile>() << VersionProfile::CoreProfile << VersionProfile::CompatibilityProfile); Q_FOREACH (const VersionProfile::OpenGLProfile profile, profiles) { const QString profileSuffix = profile == VersionProfile::CoreProfile ? QStringLiteral("core") : QStringLiteral("compatibility"); stream << QString(QStringLiteral("#include \"qopenglfunctions_%1_%2_%3.h\"")) .arg(classVersion.major) .arg(classVersion.minor) .arg(profileSuffix) << endl; } } } stream << QStringLiteral("#else") << endl; stream << QStringLiteral("#include \"qopenglfunctions_es2.h\"") << endl; stream << QStringLiteral("#endif") << endl; stream << endl; stream << QStringLiteral("QT_BEGIN_NAMESPACE") << endl << endl; stream << QStringLiteral("QAbstractOpenGLFunctions *QOpenGLVersionFunctionsFactory::create(const QOpenGLVersionProfile &versionProfile)") << endl; stream << QStringLiteral("{") << endl; stream << QStringLiteral("#if !defined(QT_OPENGL_ES_2)") << endl; stream << QStringLiteral(" const int major = versionProfile.version().first;") << endl; stream << QStringLiteral(" const int minor = versionProfile.version().second;") << endl << endl; // Iterate over classes with profiles stream << QStringLiteral(" if (versionProfile.hasProfiles()) {") << endl; stream << QStringLiteral(" switch (versionProfile.profile()) {") << endl; const QList<VersionProfile::OpenGLProfile> profiles = (QList<VersionProfile::OpenGLProfile>() << VersionProfile::CoreProfile << VersionProfile::CompatibilityProfile); Q_FOREACH (const VersionProfile::OpenGLProfile profile, profiles) { const QString caseLabel = profile == VersionProfile::CoreProfile ? QStringLiteral("QSurfaceFormat::CoreProfile") : QStringLiteral("QSurfaceFormat::CompatibilityProfile"); stream << QString(QStringLiteral(" case %1:")).arg(caseLabel) << endl; int i = 0; Q_FOREACH (const Version &classVersion, versions) { if (!versionHasProfiles(classVersion)) continue; const QString ifString = (i++ == 0) ? QStringLiteral("if") : QStringLiteral("else if"); stream << QString(QStringLiteral(" %1 (major == %2 && minor == %3)")) .arg(ifString) .arg(classVersion.major) .arg(classVersion.minor) << endl; VersionProfile v; v.version = classVersion; v.profile = profile; stream << QString(QStringLiteral(" return new %1;")) .arg(generateClassName(v)) << endl; } stream << QStringLiteral(" break;") << endl << endl; } stream << QStringLiteral(" case QSurfaceFormat::NoProfile:") << endl; stream << QStringLiteral(" default:") << endl; stream << QStringLiteral(" break;") << endl; stream << QStringLiteral(" };") << endl; stream << QStringLiteral(" } else {") << endl; // Iterate over the legacy classes (no profiles) int i = 0; Q_FOREACH (const Version &classVersion, versions) { if (versionHasProfiles(classVersion)) continue; const QString ifString = (i++ == 0) ? QStringLiteral("if") : QStringLiteral("else if"); stream << QString(QStringLiteral(" %1 (major == %2 && minor == %3)")) .arg(ifString) .arg(classVersion.major) .arg(classVersion.minor) << endl; VersionProfile v; v.version = classVersion; stream << QString(QStringLiteral(" return new %1;")) .arg(generateClassName(v)) << endl; } stream << QStringLiteral(" }") << endl; stream << QStringLiteral(" return 0;") << endl; stream << QStringLiteral("#else") << endl; stream << QStringLiteral(" Q_UNUSED(versionProfile);") << endl; stream << QStringLiteral(" return new QOpenGLFunctions_ES2;") << endl; stream << QStringLiteral("#endif") << endl; stream << QStringLiteral("}") << endl; // Write the postamble writePostamble(fileName, stream); }
void CuboidVTKout3D<double>::write(SuperLatticeF3D<double,descriptors::D3Q19Descriptor>& f, int iT, int offset ) { CuboidGeometry3D<double> const& cGeometry = f.getSuperLattice3D().get_cGeometry(); loadBalancer& load = f.getSuperLattice3D().get_load(); int rank = 0; int size = 1; #ifdef PARALLEL_MODE_MPI rank = singleton::mpi().getRank(); size = singleton::mpi().getSize(); #endif std::string fullName = singleton::directories().getVtkOutDir() + graphics::createFileName(f.name(), iT, 7) + ".vti"; int nx = cGeometry.get_motherC().get_nX()-1; int ny = cGeometry.get_motherC().get_nY()-1; int nz = cGeometry.get_motherC().get_nZ()-1; double delta = cGeometry.get_motherC().get_delta(); double originX = cGeometry.get_motherC().get_globPosX(); double originY = cGeometry.get_motherC().get_globPosY(); double originZ = cGeometry.get_motherC().get_globPosZ(); if(rank==0) { writePreamble(fullName, nx/offset, ny/offset, nz/offset, originX, originY, originZ, delta*offset); } #ifdef PARALLEL_MODE_MPI singleton::mpi().barrier(); #endif for (int iRank=0; iRank<size; iRank++) { if(rank==iRank) { for (int iC=0; iC<load.size(); iC++) { double globX = cGeometry.get_cuboid(load.glob(iC)).get_globPosX(); double globY = cGeometry.get_cuboid(load.glob(iC)).get_globPosY(); double globZ = cGeometry.get_cuboid(load.glob(iC)).get_globPosZ(); int nx2 = cGeometry.get_cuboid(load.glob(iC)).get_nX(); int ny2 = cGeometry.get_cuboid(load.glob(iC)).get_nY(); int nz2 = cGeometry.get_cuboid(load.glob(iC)).get_nZ(); double deltaX = cGeometry.get_cuboid(load.glob(iC)).get_delta(); /*int originX; int originY; int originZ; if(!cGeometry.get_motherC().checkPoint(globX, globY, globZ, originX, originY, originZ)) { std::cerr << "The grid is not uniform! Cant write vtk file " << fullName << std::endl; return; }*/ writePiece(fullName, f.name(), f, load.glob(iC), nx2, ny2, nz2, deltaX, 1, offset, globX, globY, globZ); } } #ifdef PARALLEL_MODE_MPI singleton::mpi().barrier(); #endif } if(rank==0) { writePostScript(fullName); } return; }