00001 /****************************************************************************** 00002 * This file is part of the Gluon Development Platform 00003 * Copyright (C) 2008 Sacha Schutz <istdasklar@free.fr> 00004 * Copyright (C) 2008 Olivier Gueudelot <gueudelotolive@gmail.com> 00005 * Copyright (C) 2008 Charles Huet <packadal@gmail.com> 00006 * Copyright (c) 2010 Arjen Hiemstra <ahiemstra@heimr.nl> 00007 * 00008 * This library is free software; you can redistribute it and/or 00009 * modify it under the terms of the GNU Lesser General Public 00010 * License as published by the Free Software Foundation; either 00011 * version 2.1 of the License, or (at your option) any later version. 00012 * 00013 * This library is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00016 * Lesser General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU Lesser General Public 00019 * License along with this library; if not, write to the Free Software 00020 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 00021 */ 00022 00023 #include <QApplication> 00024 00025 #include <QDebug> 00026 #include <QTimer> 00027 #include <gluon/graphics/glwidget.h> 00028 #include <gluon/graphics/engine.h> 00029 #include <gluon/graphics/item.h> 00030 #include <gluon/graphics/camera.h> 00031 #include "testa.h" 00032 00033 00034 using namespace GluonGraphics; 00035 00036 int main( int argc, char* argv[] ) 00037 { 00038 QApplication app( argc, argv ); 00039 00040 00041 //Create the openGL View 00042 GluonGraphics::GLWidget* view = new GluonGraphics::GLWidget(); 00043 00044 //Create a camera 00045 GluonGraphics::Camera* cam = new GluonGraphics::Camera(); 00046 GluonGraphics::Engine::instance()->setActiveCamera( cam ); 00047 00048 //Use a timer to update frame each 20 ms 00049 QTimer* timer = new QTimer; 00050 timer->start( 20 ); 00051 QObject::connect( timer, SIGNAL( timeout() ), view, SLOT( updateGL() ) ); 00052 00053 00054 //this class add a cube and move it 00055 Testa* test = new Testa; 00056 QObject::connect( timer, SIGNAL( timeout() ), test, SLOT( test() ) ); 00057 00058 00059 00060 view->show(); 00061 00062 return app.exec(); 00063 00064 }