diff options
Diffstat (limited to 'examples/qws/mousecalibration')
-rw-r--r-- | examples/qws/mousecalibration/calibration.cpp | 144 | ||||
-rw-r--r-- | examples/qws/mousecalibration/calibration.h | 67 | ||||
-rw-r--r-- | examples/qws/mousecalibration/main.cpp | 92 | ||||
-rw-r--r-- | examples/qws/mousecalibration/mousecalibration.desktop | 11 | ||||
-rw-r--r-- | examples/qws/mousecalibration/mousecalibration.pro | 15 | ||||
-rw-r--r-- | examples/qws/mousecalibration/scribblewidget.cpp | 92 | ||||
-rw-r--r-- | examples/qws/mousecalibration/scribblewidget.h | 70 |
7 files changed, 0 insertions, 491 deletions
diff --git a/examples/qws/mousecalibration/calibration.cpp b/examples/qws/mousecalibration/calibration.cpp deleted file mode 100644 index 3618bfccc0..0000000000 --- a/examples/qws/mousecalibration/calibration.cpp +++ /dev/null @@ -1,144 +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 "calibration.h" - -#include <QWSPointerCalibrationData> -#include <QPainter> -#include <QFile> -#include <QTimer> -#include <QApplication> -#include <QDesktopWidget> -#include <QMouseEvent> -#include <QScreen> -#include <QWSServer> - -//! [0] -Calibration::Calibration() -{ - QRect desktop = QApplication::desktop()->geometry(); - desktop.moveTo(QPoint(0, 0)); - setGeometry(desktop); - - setFocusPolicy(Qt::StrongFocus); - setFocus(); - setModal(true); -//! [0] - -//! [1] - int width = qt_screen->deviceWidth(); - int height = qt_screen->deviceHeight(); - - int dx = width / 10; - int dy = height / 10; - - QPoint *points = data.screenPoints; - points[QWSPointerCalibrationData::TopLeft] = QPoint(dx, dy); - points[QWSPointerCalibrationData::BottomLeft] = QPoint(dx, height - dy); - points[QWSPointerCalibrationData::BottomRight] = QPoint(width - dx, height - dy); - points[QWSPointerCalibrationData::TopRight] = QPoint(width - dx, dy); - points[QWSPointerCalibrationData::Center] = QPoint(width / 2, height / 2); -//! [1] - -//! [2] - pressCount = 0; -} -//! [2] - -//! [3] -Calibration::~Calibration() -{ -} -//! [3] - -//! [4] -int Calibration::exec() -{ - QWSServer::mouseHandler()->clearCalibration(); - grabMouse(); - activateWindow(); - int ret = QDialog::exec(); - releaseMouse(); - return ret; -} -//! [4] - -//! [5] -void Calibration::paintEvent(QPaintEvent*) -{ - QPainter p(this); - p.fillRect(rect(), Qt::white); - - QPoint point = data.screenPoints[pressCount]; - - // Map to logical coordinates in case the screen is transformed - QSize screenSize(qt_screen->deviceWidth(), qt_screen->deviceHeight()); - point = qt_screen->mapFromDevice(point, screenSize); - - p.fillRect(point.x() - 6, point.y() - 1, 13, 3, Qt::black); - p.fillRect(point.x() - 1, point.y() - 6, 3, 13, Qt::black); -} -//! [5] - -//! [6] -void Calibration::mouseReleaseEvent(QMouseEvent *event) -{ - // Map from device coordinates in case the screen is transformed - QSize screenSize(qt_screen->width(), qt_screen->height()); - QPoint p = qt_screen->mapToDevice(event->pos(), screenSize); - - data.devPoints[pressCount] = p; - - if (++pressCount < 5) - repaint(); - else - accept(); -} -//! [6] - -//! [7] -void Calibration::accept() -{ - Q_ASSERT(pressCount == 5); - QWSServer::mouseHandler()->calibrate(&data); - QDialog::accept(); -} -//! [7] - diff --git a/examples/qws/mousecalibration/calibration.h b/examples/qws/mousecalibration/calibration.h deleted file mode 100644 index 636ed036cf..0000000000 --- a/examples/qws/mousecalibration/calibration.h +++ /dev/null @@ -1,67 +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$ -** -****************************************************************************/ - -#ifndef CALIBRATION_H -#define CALIBRATION_H - -#include <QDialog> -#include <QWSPointerCalibrationData> - -//! [0] -class Calibration : public QDialog -{ -public: - Calibration(); - ~Calibration(); - int exec(); - -protected: - void paintEvent(QPaintEvent*); - void mouseReleaseEvent(QMouseEvent*); - void accept(); - -private: - QWSPointerCalibrationData data; - int pressCount; -}; -//! [0] - - -#endif diff --git a/examples/qws/mousecalibration/main.cpp b/examples/qws/mousecalibration/main.cpp deleted file mode 100644 index f95878dfe5..0000000000 --- a/examples/qws/mousecalibration/main.cpp +++ /dev/null @@ -1,92 +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 <QApplication> -#include <QMessageBox> -#include <QTimer> -#include <QWSServer> - -#include "calibration.h" -#include "scribblewidget.h" - -//! [0] -int main(int argc, char **argv) -{ - QApplication app(argc, argv, QApplication::GuiServer); - - if (!QWSServer::mouseHandler()) - qFatal("No mouse handler installed"); - - { - QMessageBox message; - message.setText("<p>Please press once at each of the marks " - "shown in the next screen.</p>" - "<p>This messagebox will timout after 10 seconds " - "if you are unable to close it.</p>"); - QTimer::singleShot(10 * 1000, &message, SLOT(accept())); - message.exec(); - } - -//! [0] //! [1] - Calibration cal; - cal.exec(); -//! [1] - -//! [2] - { - QMessageBox message; - message.setText("<p>The next screen will let you test the calibration " - "by drawing into a widget.</p><p>This program will " - "automatically close after 20 seconds.<p>"); - QTimer::singleShot(10 * 1000, &message, SLOT(accept())); - message.exec(); - } - - ScribbleWidget scribble; - scribble.showMaximized(); - scribble.show(); - - app.setActiveWindow(&scribble); - QTimer::singleShot(20 * 1000, &app, SLOT(quit())); - - return app.exec(); -} -//! [2] - diff --git a/examples/qws/mousecalibration/mousecalibration.desktop b/examples/qws/mousecalibration/mousecalibration.desktop deleted file mode 100644 index 07c231e97c..0000000000 --- a/examples/qws/mousecalibration/mousecalibration.desktop +++ /dev/null @@ -1,11 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Version=1.0 -Type=Application -Terminal=false -Name=Mouse Calibration -Exec=/opt/usr/bin/mousecalibration -Icon=mousecalibration -X-Window-Icon= -X-HildonDesk-ShowInToolbar=true -X-Osso-Type=application/x-executable diff --git a/examples/qws/mousecalibration/mousecalibration.pro b/examples/qws/mousecalibration/mousecalibration.pro deleted file mode 100644 index fb91216422..0000000000 --- a/examples/qws/mousecalibration/mousecalibration.pro +++ /dev/null @@ -1,15 +0,0 @@ -HEADERS += calibration.h \ - scribblewidget.h -SOURCES += calibration.cpp \ - scribblewidget.cpp \ - main.cpp - -# install -target.path = $$[QT_INSTALL_EXAMPLES]/qtbase/qws/mousecalibration -sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS *.pro -sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/qws/mousecalibration -INSTALLS += target sources -QT += widgets - - -simulator: warning(This example does not work on Simulator platform) diff --git a/examples/qws/mousecalibration/scribblewidget.cpp b/examples/qws/mousecalibration/scribblewidget.cpp deleted file mode 100644 index c217411f64..0000000000 --- a/examples/qws/mousecalibration/scribblewidget.cpp +++ /dev/null @@ -1,92 +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 "scribblewidget.h" - -ScribbleWidget::ScribbleWidget(QWidget *parent) - : QWidget(parent) -{ - scribbling = false; -} - -void ScribbleWidget::resizeEvent(QResizeEvent *e) -{ - image = QImage(e->size(), QImage::Format_RGB32); - image.fill(QColor(Qt::white).rgb()); -} - -void ScribbleWidget::mousePressEvent(QMouseEvent *event) -{ - if (event->button() != Qt::LeftButton) - return; - - lastPoint = event->pos(); - scribbling = true; -} - -void ScribbleWidget::mouseMoveEvent(QMouseEvent *event) -{ - if ((event->buttons() & Qt::LeftButton) && scribbling) - drawLineTo(event->pos()); -} - -void ScribbleWidget::mouseReleaseEvent(QMouseEvent *event) -{ - if (event->button() == Qt::LeftButton && scribbling) { - drawLineTo(event->pos()); - scribbling = false; - } -} - -void ScribbleWidget::paintEvent(QPaintEvent *) -{ - QPainter painter(this); - painter.drawImage(QPoint(0, 0), image); -} - -void ScribbleWidget::drawLineTo(const QPoint &endPoint) -{ - QPainter painter(&image); - painter.setPen(QPen(Qt::blue, 1, Qt::SolidLine, - Qt::RoundCap, Qt::RoundJoin)); - painter.drawLine(lastPoint, endPoint); - update(); - lastPoint = endPoint; -} diff --git a/examples/qws/mousecalibration/scribblewidget.h b/examples/qws/mousecalibration/scribblewidget.h deleted file mode 100644 index fca4139512..0000000000 --- a/examples/qws/mousecalibration/scribblewidget.h +++ /dev/null @@ -1,70 +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$ -** -****************************************************************************/ - -#ifndef SCRIBBLEWIDGET_H -#define SCRIBBLEWIDGET_H - -#include <QLabel> -#include <QMouseEvent> -#include <QResizeEvent> -#include <QImage> -#include <QPainter> - -class ScribbleWidget : public QWidget -{ -public: - ScribbleWidget(QWidget *parent = 0); - - void resizeEvent(QResizeEvent *e); - void mousePressEvent(QMouseEvent *event); - void mouseMoveEvent(QMouseEvent *event); - void mouseReleaseEvent(QMouseEvent *event); - void paintEvent(QPaintEvent *); - -private: - void drawLineTo(const QPoint &endPoint); - -private: - bool scribbling; - QPoint lastPoint; - QImage image; -}; - -#endif // SCRIBBLEWIDGET_H |