summaryrefslogtreecommitdiffstats
path: root/examples/painting/painterpaths/window.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/painting/painterpaths/window.cpp')
-rw-r--r--examples/painting/painterpaths/window.cpp289
1 files changed, 0 insertions, 289 deletions
diff --git a/examples/painting/painterpaths/window.cpp b/examples/painting/painterpaths/window.cpp
deleted file mode 100644
index 3d3eef9d2b..0000000000
--- a/examples/painting/painterpaths/window.cpp
+++ /dev/null
@@ -1,289 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtWidgets>
-
-#include <math.h>
-
-#include "renderarea.h"
-#include "window.h"
-
-//! [0]
-const float Pi = 3.14159f;
-//! [0]
-
-//! [1]
-Window::Window()
-{
- QPainterPath rectPath;
- rectPath.moveTo(20.0, 30.0);
- rectPath.lineTo(80.0, 30.0);
- rectPath.lineTo(80.0, 70.0);
- rectPath.lineTo(20.0, 70.0);
- rectPath.closeSubpath();
-//! [1]
-
-//! [2]
- QPainterPath roundRectPath;
- roundRectPath.moveTo(80.0, 35.0);
- roundRectPath.arcTo(70.0, 30.0, 10.0, 10.0, 0.0, 90.0);
- roundRectPath.lineTo(25.0, 30.0);
- roundRectPath.arcTo(20.0, 30.0, 10.0, 10.0, 90.0, 90.0);
- roundRectPath.lineTo(20.0, 65.0);
- roundRectPath.arcTo(20.0, 60.0, 10.0, 10.0, 180.0, 90.0);
- roundRectPath.lineTo(75.0, 70.0);
- roundRectPath.arcTo(70.0, 60.0, 10.0, 10.0, 270.0, 90.0);
- roundRectPath.closeSubpath();
-//! [2]
-
-//! [3]
- QPainterPath ellipsePath;
- ellipsePath.moveTo(80.0, 50.0);
- ellipsePath.arcTo(20.0, 30.0, 60.0, 40.0, 0.0, 360.0);
-//! [3]
-
-//! [4]
- QPainterPath piePath;
- piePath.moveTo(50.0, 50.0);
- piePath.arcTo(20.0, 30.0, 60.0, 40.0, 60.0, 240.0);
- piePath.closeSubpath();
-//! [4]
-
-//! [5]
- QPainterPath polygonPath;
- polygonPath.moveTo(10.0, 80.0);
- polygonPath.lineTo(20.0, 10.0);
- polygonPath.lineTo(80.0, 30.0);
- polygonPath.lineTo(90.0, 70.0);
- polygonPath.closeSubpath();
-//! [5]
-
-//! [6]
- QPainterPath groupPath;
- groupPath.moveTo(60.0, 40.0);
- groupPath.arcTo(20.0, 20.0, 40.0, 40.0, 0.0, 360.0);
- groupPath.moveTo(40.0, 40.0);
- groupPath.lineTo(40.0, 80.0);
- groupPath.lineTo(80.0, 80.0);
- groupPath.lineTo(80.0, 40.0);
- groupPath.closeSubpath();
-//! [6]
-
-//! [7]
- QPainterPath textPath;
- QFont timesFont("Times", 50);
- timesFont.setStyleStrategy(QFont::ForceOutline);
- textPath.addText(10, 70, timesFont, tr("Qt"));
-//! [7]
-
-//! [8]
- QPainterPath bezierPath;
- bezierPath.moveTo(20, 30);
- bezierPath.cubicTo(80, 0, 50, 50, 80, 80);
-//! [8]
-
-//! [9]
- QPainterPath starPath;
- starPath.moveTo(90, 50);
- for (int i = 1; i < 5; ++i) {
- starPath.lineTo(50 + 40 * cos(0.8 * i * Pi),
- 50 + 40 * sin(0.8 * i * Pi));
- }
- starPath.closeSubpath();
-//! [9]
-
-//! [10]
- renderAreas.push_back(new RenderArea(rectPath));
- renderAreas.push_back(new RenderArea(roundRectPath));
- renderAreas.push_back(new RenderArea(ellipsePath));
- renderAreas.push_back(new RenderArea(piePath));
- renderAreas.push_back(new RenderArea(polygonPath));
- renderAreas.push_back(new RenderArea(groupPath));
- renderAreas.push_back(new RenderArea(textPath));
- renderAreas.push_back(new RenderArea(bezierPath));
- renderAreas.push_back(new RenderArea(starPath));
-//! [10]
-
-//! [11]
- fillRuleComboBox = new QComboBox;
- fillRuleComboBox->addItem(tr("Odd Even"), Qt::OddEvenFill);
- fillRuleComboBox->addItem(tr("Winding"), Qt::WindingFill);
-
- fillRuleLabel = new QLabel(tr("Fill &Rule:"));
- fillRuleLabel->setBuddy(fillRuleComboBox);
-//! [11]
-
-//! [12]
- fillColor1ComboBox = new QComboBox;
- populateWithColors(fillColor1ComboBox);
- fillColor1ComboBox->setCurrentIndex(
- fillColor1ComboBox->findText("mediumslateblue"));
-
- fillColor2ComboBox = new QComboBox;
- populateWithColors(fillColor2ComboBox);
- fillColor2ComboBox->setCurrentIndex(
- fillColor2ComboBox->findText("cornsilk"));
-
- fillGradientLabel = new QLabel(tr("&Fill Gradient:"));
- fillGradientLabel->setBuddy(fillColor1ComboBox);
-
- fillToLabel = new QLabel(tr("to"));
- fillToLabel->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
-
- penWidthSpinBox = new QSpinBox;
- penWidthSpinBox->setRange(0, 20);
-
- penWidthLabel = new QLabel(tr("&Pen Width:"));
- penWidthLabel->setBuddy(penWidthSpinBox);
-
- penColorComboBox = new QComboBox;
- populateWithColors(penColorComboBox);
- penColorComboBox->setCurrentIndex(
- penColorComboBox->findText("darkslateblue"));
-
- penColorLabel = new QLabel(tr("Pen &Color:"));
- penColorLabel->setBuddy(penColorComboBox);
-
- rotationAngleSpinBox = new QSpinBox;
- rotationAngleSpinBox->setRange(0, 359);
- rotationAngleSpinBox->setWrapping(true);
- rotationAngleSpinBox->setSuffix(QLatin1String("\xB0"));
-
- rotationAngleLabel = new QLabel(tr("&Rotation Angle:"));
- rotationAngleLabel->setBuddy(rotationAngleSpinBox);
-//! [12]
-
-//! [16]
- connect(fillRuleComboBox, SIGNAL(activated(int)),
- this, SLOT(fillRuleChanged()));
- connect(fillColor1ComboBox, SIGNAL(activated(int)),
- this, SLOT(fillGradientChanged()));
- connect(fillColor2ComboBox, SIGNAL(activated(int)),
- this, SLOT(fillGradientChanged()));
- connect(penColorComboBox, SIGNAL(activated(int)),
- this, SLOT(penColorChanged()));
-
- for(QList<RenderArea*>::iterator it = renderAreas.begin(); it != renderAreas.end(); it++) {
- connect(penWidthSpinBox, SIGNAL(valueChanged(int)),
- *it, SLOT(setPenWidth(int)));
- connect(rotationAngleSpinBox, SIGNAL(valueChanged(int)),
- *it, SLOT(setRotationAngle(int)));
- }
-
-//! [16] //! [17]
- QGridLayout *topLayout = new QGridLayout;
-
- int i=0;
- for(QList<RenderArea*>::iterator it = renderAreas.begin(); it != renderAreas.end(); it++, i++)
- topLayout->addWidget(*it, i / 3, i % 3);
-
- QGridLayout *mainLayout = new QGridLayout;
- mainLayout->addLayout(topLayout, 0, 0, 1, 4);
- mainLayout->addWidget(fillRuleLabel, 1, 0);
- mainLayout->addWidget(fillRuleComboBox, 1, 1, 1, 3);
- mainLayout->addWidget(fillGradientLabel, 2, 0);
- mainLayout->addWidget(fillColor1ComboBox, 2, 1);
- mainLayout->addWidget(fillToLabel, 2, 2);
- mainLayout->addWidget(fillColor2ComboBox, 2, 3);
- mainLayout->addWidget(penWidthLabel, 3, 0);
- mainLayout->addWidget(penWidthSpinBox, 3, 1, 1, 3);
- mainLayout->addWidget(penColorLabel, 4, 0);
- mainLayout->addWidget(penColorComboBox, 4, 1, 1, 3);
- mainLayout->addWidget(rotationAngleLabel, 5, 0);
- mainLayout->addWidget(rotationAngleSpinBox, 5, 1, 1, 3);
- setLayout(mainLayout);
-//! [17]
-
-//! [18]
- fillRuleChanged();
- fillGradientChanged();
- penColorChanged();
- penWidthSpinBox->setValue(2);
-
- setWindowTitle(tr("Painter Paths"));
-}
-//! [18]
-
-//! [19]
-void Window::fillRuleChanged()
-{
- Qt::FillRule rule = (Qt::FillRule)currentItemData(fillRuleComboBox).toInt();
-
- for(QList<RenderArea*>::iterator it = renderAreas.begin(); it != renderAreas.end(); it++)
- (*it)->setFillRule(rule);
-}
-//! [19]
-
-//! [20]
-void Window::fillGradientChanged()
-{
- QColor color1 = qvariant_cast<QColor>(currentItemData(fillColor1ComboBox));
- QColor color2 = qvariant_cast<QColor>(currentItemData(fillColor2ComboBox));
-
- for(QList<RenderArea*>::iterator it = renderAreas.begin(); it != renderAreas.end(); it++)
- (*it)->setFillGradient(color1, color2);
-}
-//! [20]
-
-//! [21]
-void Window::penColorChanged()
-{
- QColor color = qvariant_cast<QColor>(currentItemData(penColorComboBox));
-
- for(QList<RenderArea*>::iterator it = renderAreas.begin(); it != renderAreas.end(); it++)
- (*it)->setPenColor(color);
-}
-//! [21]
-
-//! [22]
-void Window::populateWithColors(QComboBox *comboBox)
-{
- QStringList colorNames = QColor::colorNames();
- foreach (QString name, colorNames)
- comboBox->addItem(name, QColor(name));
-}
-//! [22]
-
-//! [23]
-QVariant Window::currentItemData(QComboBox *comboBox)
-{
- return comboBox->itemData(comboBox->currentIndex());
-}
-//! [23]