/**************************************************************************** ** ** Copyright (C) 2005-2005 Trolltech AS. All rights reserved. ** ** This file is part of the example classes of the Qt Toolkit. ** ** This file may be distributed under the terms of the Q Public License ** as defined by Trolltech AS of Norway and appearing in the file ** LICENSE.QPL included in the packaging of this file. ** ** This file may be distributed and/or modified under the terms of the ** GNU General Public License version 2 as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL included in the ** packaging of this file. ** ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for ** information about Qt Commercial License Agreements. ** See http://www.trolltech.com/qpl/ for QPL licensing information. ** See http://www.trolltech.com/gpl/ for GPL licensing information. ** ** Contact info@trolltech.com if any conditions of this licensing are ** not clear to you. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #include <QtGui> #include "glwidget.hh" #include "window.h" Window::Window() { QGridLayout *mainLayout = new QGridLayout; glWidgets[0][0] = 0; for (int i = 0; i < NumRows; ++i) { for (int j = 0; j < NumColumns; ++j) { QColor clearColor; clearColor.setHsv(((i * NumColumns) + j) * 255 / (NumRows * NumColumns - 1), 255, 63); glWidgets[i][j] = new GLWidget(this, glWidgets[0][0]); glWidgets[i][j]->setClearColor(clearColor); glWidgets[i][j]->rotateBy(+42 * 16, +42 * 16, -21 * 16); mainLayout->addWidget(glWidgets[i][j], i, j); connect(glWidgets[i][j], SIGNAL(clicked()), this, SLOT(setCurrentGlWidget())); } } setLayout(mainLayout); currentGlWidget = glWidgets[0][0]; QTimer *timer = new QTimer(this); connect(timer, SIGNAL(timeout()), this, SLOT(rotateOneStep())); timer->start(20); setWindowTitle(tr("Textures")); } void Window::setCurrentGlWidget() { currentGlWidget = qobject_cast<GLWidget *>(sender()); } void Window::rotateOneStep() { if (currentGlWidget) currentGlWidget->rotateBy(+2 * 16, +2 * 16, -1 * 16); } #ifdef WAF #include "window.moc" #endif