int main(int argc, char **argv) { QApplication app(argc, argv); if ((QGLFormat::openGLVersionFlags() & QGLFormat::OpenGL_Version_1_5) == 0) { QMessageBox::critical(0, "OpenGL features missing", "OpenGL version 1.5 or higher is required to run this demo.\n" "The program will now exit."); return -1; } int maxTextureSize = 1024; QGLWidget *widget = new QGLWidget(QGLFormat(QGL::SampleBuffers)); widget->makeCurrent(); if (!necessaryExtensionsSupported()) { QMessageBox::critical(0, "OpenGL features missing", "The OpenGL extensions required to run this demo are missing.\n" "The program will now exit."); delete widget; return -2; } // Check if all the necessary functions are resolved. if (!getGLExtensionFunctions().resolve(widget->context())) { QMessageBox::critical(0, "OpenGL features missing", "Failed to resolve OpenGL functions required to run this demo.\n" "The program will now exit."); delete widget; return -3; } // TODO: Make conditional for final release QMessageBox::information(0, "For your information", "This demo can be GPU and CPU intensive and may\n" "work poorly or not at all on your system."); widget->makeCurrent(); // The current context must be set before calling Scene's constructor Scene scene(1024, 768, maxTextureSize); GraphicsView view; view.setViewport(widget); view.setViewportUpdateMode(QGraphicsView::FullViewportUpdate); view.setScene(&scene); view.show(); return app.exec(); }
int emscriptenQtSDLMain(int argc, char *argv[]) #endif { QApplication *app = new QApplication(argc, argv); qsrand(QTime(0,0,0).secsTo(QTime::currentTime())); //! [0] //! [1] QGraphicsScene *scene = new QGraphicsScene(-200, -200, 400, 400); for (int i = 0; i < 10; ++i) { ColorItem *item = new ColorItem; item->setPos(::sin((i * 6.28) / 10.0) * 150, ::cos((i * 6.28) / 10.0) * 150); scene->addItem(item); } Robot *robot = new Robot; robot->scale(1.2, 1.2); robot->setPos(0, -20); scene->addItem(robot); //! [1] //! [2] GraphicsView *view = new GraphicsView(scene); view->setRenderHint(QPainter::Antialiasing); view->setViewportUpdateMode(QGraphicsView::BoundingRectViewportUpdate); view->setBackgroundBrush(QColor(230, 200, 167)); view->setWindowTitle("Drag and Drop Robot"); #if defined(Q_OS_SYMBIAN) view->showMaximized(); #else view->show(); #endif return app->exec(); }