From 81043dcb550a57ce6088e9dabba32f2096a94b6d Mon Sep 17 00:00:00 2001 From: Donald Carr Date: Fri, 9 Mar 2012 01:07:26 +0000 Subject: Remove all QWS centric examples MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I1bd9c40c7cc70e088a23283d1c3e89d12c1c5f7d Reviewed-by: Donald Carr Reviewed-by: Oswald Buddenhagen Reviewed-by: Jørgen Lind Reviewed-by: Girish Ramakrishnan --- examples/examples.pro | 1 - examples/qws/README | 7 - examples/qws/dbscreen/dbscreen.cpp | 95 ---- examples/qws/dbscreen/dbscreen.desktop | 11 - examples/qws/dbscreen/dbscreen.h | 66 --- examples/qws/dbscreen/dbscreen.pro | 13 - examples/qws/dbscreen/dbscreendriverplugin.cpp | 76 --- examples/qws/framebuffer/framebuffer.desktop | 11 - examples/qws/framebuffer/framebuffer.pro | 15 - examples/qws/framebuffer/main.c | 585 --------------------- examples/qws/mousecalibration/calibration.cpp | 144 ----- examples/qws/mousecalibration/calibration.h | 67 --- examples/qws/mousecalibration/main.cpp | 92 ---- .../qws/mousecalibration/mousecalibration.desktop | 11 - examples/qws/mousecalibration/mousecalibration.pro | 15 - examples/qws/mousecalibration/scribblewidget.cpp | 92 ---- examples/qws/mousecalibration/scribblewidget.h | 70 --- examples/qws/qws.pro | 10 - examples/qws/simpledecoration/analogclock.cpp | 110 ---- examples/qws/simpledecoration/analogclock.h | 57 -- examples/qws/simpledecoration/main.cpp | 59 --- examples/qws/simpledecoration/mydecoration.cpp | 374 ------------- examples/qws/simpledecoration/mydecoration.h | 72 --- .../qws/simpledecoration/simpledecoration.desktop | 11 - examples/qws/simpledecoration/simpledecoration.pro | 16 - examples/qws/svgalib/README | 9 - examples/qws/svgalib/svgalib.desktop | 11 - examples/qws/svgalib/svgalib.pro | 22 - examples/qws/svgalib/svgalibpaintdevice.cpp | 66 --- examples/qws/svgalib/svgalibpaintdevice.h | 65 --- examples/qws/svgalib/svgalibpaintengine.cpp | 190 ------- examples/qws/svgalib/svgalibpaintengine.h | 78 --- examples/qws/svgalib/svgalibplugin.cpp | 74 --- examples/qws/svgalib/svgalibscreen.cpp | 353 ------------- examples/qws/svgalib/svgalibscreen.h | 83 --- examples/qws/svgalib/svgalibsurface.cpp | 86 --- examples/qws/svgalib/svgalibsurface.h | 75 --- 37 files changed, 3192 deletions(-) delete mode 100644 examples/qws/README delete mode 100644 examples/qws/dbscreen/dbscreen.cpp delete mode 100644 examples/qws/dbscreen/dbscreen.desktop delete mode 100644 examples/qws/dbscreen/dbscreen.h delete mode 100644 examples/qws/dbscreen/dbscreen.pro delete mode 100644 examples/qws/dbscreen/dbscreendriverplugin.cpp delete mode 100644 examples/qws/framebuffer/framebuffer.desktop delete mode 100644 examples/qws/framebuffer/framebuffer.pro delete mode 100644 examples/qws/framebuffer/main.c delete mode 100644 examples/qws/mousecalibration/calibration.cpp delete mode 100644 examples/qws/mousecalibration/calibration.h delete mode 100644 examples/qws/mousecalibration/main.cpp delete mode 100644 examples/qws/mousecalibration/mousecalibration.desktop delete mode 100644 examples/qws/mousecalibration/mousecalibration.pro delete mode 100644 examples/qws/mousecalibration/scribblewidget.cpp delete mode 100644 examples/qws/mousecalibration/scribblewidget.h delete mode 100644 examples/qws/qws.pro delete mode 100644 examples/qws/simpledecoration/analogclock.cpp delete mode 100644 examples/qws/simpledecoration/analogclock.h delete mode 100644 examples/qws/simpledecoration/main.cpp delete mode 100644 examples/qws/simpledecoration/mydecoration.cpp delete mode 100644 examples/qws/simpledecoration/mydecoration.h delete mode 100644 examples/qws/simpledecoration/simpledecoration.desktop delete mode 100644 examples/qws/simpledecoration/simpledecoration.pro delete mode 100644 examples/qws/svgalib/README delete mode 100644 examples/qws/svgalib/svgalib.desktop delete mode 100644 examples/qws/svgalib/svgalib.pro delete mode 100644 examples/qws/svgalib/svgalibpaintdevice.cpp delete mode 100644 examples/qws/svgalib/svgalibpaintdevice.h delete mode 100644 examples/qws/svgalib/svgalibpaintengine.cpp delete mode 100644 examples/qws/svgalib/svgalibpaintengine.h delete mode 100644 examples/qws/svgalib/svgalibplugin.cpp delete mode 100644 examples/qws/svgalib/svgalibscreen.cpp delete mode 100644 examples/qws/svgalib/svgalibscreen.h delete mode 100644 examples/qws/svgalib/svgalibsurface.cpp delete mode 100644 examples/qws/svgalib/svgalibsurface.h (limited to 'examples') diff --git a/examples/examples.pro b/examples/examples.pro index 2e2f606e85..e402f29c98 100644 --- a/examples/examples.pro +++ b/examples/examples.pro @@ -31,7 +31,6 @@ SUBDIRS = \ } wince*|embedded|x11:!contains(QT_CONFIG, no-gui): SUBDIRS += embedded -embedded:SUBDIRS += qws contains(QT_BUILD_PARTS, tools):!contains(QT_CONFIG, no-gui):SUBDIRS += qtestlib contains(QT_CONFIG, opengl): SUBDIRS += opengl contains(QT_CONFIG, dbus): SUBDIRS += dbus diff --git a/examples/qws/README b/examples/qws/README deleted file mode 100644 index d24fa59a35..0000000000 --- a/examples/qws/README +++ /dev/null @@ -1,7 +0,0 @@ -These examples show how to take advantage of features specifically designed -for use on systems with limited resources, specialized hardware, and small -screens. - - -Documentation for these examples can be found via the Examples -link in the main Qt documentation. diff --git a/examples/qws/dbscreen/dbscreen.cpp b/examples/qws/dbscreen/dbscreen.cpp deleted file mode 100644 index 0049fb4a62..0000000000 --- a/examples/qws/dbscreen/dbscreen.cpp +++ /dev/null @@ -1,95 +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 "dbscreen.h" -#include - -//! [0] -bool DBScreen::initDevice() -{ - if (!QLinuxFbScreen::initDevice()) - return false; - - QScreenCursor::initSoftwareCursor(); - image = new QImage(deviceWidth(), deviceHeight(), pixelFormat()); - painter = new QPainter(image); - - return true; -} -//! [0] - -//! [1] -void DBScreen::shutdownDevice() -{ - QLinuxFbScreen::shutdownDevice(); - delete painter; - delete image; -} -//! [1] - -//! [2] -void DBScreen::solidFill(const QColor &color, const QRegion ®ion) -{ - QVector rects = region.rects(); - for (int i = 0; i < rects.size(); i++) - painter->fillRect(rects.at(i), color); -} -//! [2] - -//! [3] -void DBScreen::blit(const QImage &image, const QPoint &topLeft, const QRegion ®ion) -{ - QVector rects = region.rects(); - for (int i = 0; i < rects.size(); i++) { - QRect destRect = rects.at(i); - QRect srcRect(destRect.x()-topLeft.x(), destRect.y()-topLeft.y(), destRect.width(), destRect.height()); - painter->drawImage(destRect.topLeft(), image, srcRect); - } -} -//! [3] - -//! [4] -void DBScreen::exposeRegion(QRegion region, int changing) -{ - QLinuxFbScreen::exposeRegion(region, changing); - QLinuxFbScreen::blit(*image, QPoint(0, 0), region); -} -//! [4] - diff --git a/examples/qws/dbscreen/dbscreen.desktop b/examples/qws/dbscreen/dbscreen.desktop deleted file mode 100644 index 1726e6cb8d..0000000000 --- a/examples/qws/dbscreen/dbscreen.desktop +++ /dev/null @@ -1,11 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Version=1.0 -Type=Application -Terminal=false -Name=Double Buffered Graphics Driver -Exec=/opt/usr/bin/dbscreen -Icon=dbscreen -X-Window-Icon= -X-HildonDesk-ShowInToolbar=true -X-Osso-Type=application/x-executable diff --git a/examples/qws/dbscreen/dbscreen.h b/examples/qws/dbscreen/dbscreen.h deleted file mode 100644 index f52fa04365..0000000000 --- a/examples/qws/dbscreen/dbscreen.h +++ /dev/null @@ -1,66 +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 DBSCREEN_H -#define DBSCREEN_H - -#include -#include - -//! [0] -class DBScreen : public QLinuxFbScreen -{ -public: - DBScreen(int displayId) : QLinuxFbScreen(displayId) {}; - ~DBScreen() {} - bool initDevice(); - void shutdownDevice(); - void blit(const QImage &image, const QPoint &topLeft, const QRegion ®ion); - void solidFill(const QColor &color, const QRegion ®ion); - void exposeRegion(QRegion region, int changing); - -private: - QPainter *painter; - QImage *image; -}; -//! [0] - -#endif // DBSCREEN_H - diff --git a/examples/qws/dbscreen/dbscreen.pro b/examples/qws/dbscreen/dbscreen.pro deleted file mode 100644 index e20e3e1b55..0000000000 --- a/examples/qws/dbscreen/dbscreen.pro +++ /dev/null @@ -1,13 +0,0 @@ -TEMPLATE = lib -CONFIG += plugin - -TARGET = dbscreen -target.path += $$[QT_INSTALL_PLUGINS]/gfxdrivers -INSTALLS += target - -HEADERS = dbscreen.h -SOURCES = dbscreendriverplugin.cpp \ - dbscreen.cpp - -QT += widgets -simulator: warning(This example does not work on Simulator platform) diff --git a/examples/qws/dbscreen/dbscreendriverplugin.cpp b/examples/qws/dbscreen/dbscreendriverplugin.cpp deleted file mode 100644 index 4a4645d374..0000000000 --- a/examples/qws/dbscreen/dbscreendriverplugin.cpp +++ /dev/null @@ -1,76 +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 -#include "dbscreen.h" - -//! [0] -class DBScreenDriverPlugin : public QScreenDriverPlugin -{ -public: - DBScreenDriverPlugin(); - QScreen* create(const QString& key, int displayId); - QStringList keys () const; -}; -//! [0] - -DBScreenDriverPlugin::DBScreenDriverPlugin() : QScreenDriverPlugin() -{ -} - -//! [1] -QScreen* DBScreenDriverPlugin::create(const QString& key, int displayId) -{ - if (key.toLower() != "dbscreen") - return 0; - - return new DBScreen(displayId); -} -//! [1] - -//! [2] -QStringList DBScreenDriverPlugin::keys() const -{ - return QStringList() << "dbscreen"; -} -//! [2] //! [3] - -Q_EXPORT_PLUGIN2(dbscreen, DBScreenDriverPlugin) -//! [3] diff --git a/examples/qws/framebuffer/framebuffer.desktop b/examples/qws/framebuffer/framebuffer.desktop deleted file mode 100644 index 030f264cad..0000000000 --- a/examples/qws/framebuffer/framebuffer.desktop +++ /dev/null @@ -1,11 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Version=1.0 -Type=Application -Terminal=false -Name=Linux Framebuffer -Exec=/opt/usr/bin/framebuffer -Icon=framebuffer -X-Window-Icon= -X-HildonDesk-ShowInToolbar=true -X-Osso-Type=application/x-executable diff --git a/examples/qws/framebuffer/framebuffer.pro b/examples/qws/framebuffer/framebuffer.pro deleted file mode 100644 index 1043917a68..0000000000 --- a/examples/qws/framebuffer/framebuffer.pro +++ /dev/null @@ -1,15 +0,0 @@ -TEMPLATE = app -TARGET = framebuffer -CONFIG -= qt - -SOURCES += main.c - -# install -target.path = $$[QT_INSTALL_EXAMPLES]/qtbase/qws/framebuffer -sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS framebuffer.pro -sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/qws/framebuffer -INSTALLS += target sources -QT += widgets - - -simulator: warning(This example does not work on Simulator platform) diff --git a/examples/qws/framebuffer/main.c b/examples/qws/framebuffer/main.c deleted file mode 100644 index da11d516a6..0000000000 --- a/examples/qws/framebuffer/main.c +++ /dev/null @@ -1,585 +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 -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -struct fb_var_screeninfo vinfo; -struct fb_fix_screeninfo finfo; -char *frameBuffer = 0; -int fbFd = 0; -int ttyFd = 0; - -void printFixedInfo() -{ - printf("Fixed screen info:\n" - "\tid: %s\n" - "\tsmem_start: 0x%lx\n" - "\tsmem_len: %d\n" - "\ttype: %d\n" - "\ttype_aux: %d\n" - "\tvisual: %d\n" - "\txpanstep: %d\n" - "\typanstep: %d\n" - "\tywrapstep: %d\n" - "\tline_length: %d\n" - "\tmmio_start: 0x%lx\n" - "\tmmio_len: %d\n" - "\taccel: %d\n" - "\n", - finfo.id, finfo.smem_start, finfo.smem_len, finfo.type, - finfo.type_aux, finfo.visual, finfo.xpanstep, finfo.ypanstep, - finfo.ywrapstep, finfo.line_length, finfo.mmio_start, - finfo.mmio_len, finfo.accel); -} - -void printVariableInfo() -{ - printf("Variable screen info:\n" - "\txres: %d\n" - "\tyres: %d\n" - "\txres_virtual: %d\n" - "\tyres_virtual: %d\n" - "\tyoffset: %d\n" - "\txoffset: %d\n" - "\tbits_per_pixel: %d\n" - "\tgrayscale: %d\n" - "\tred: offset: %2d, length: %2d, msb_right: %2d\n" - "\tgreen: offset: %2d, length: %2d, msb_right: %2d\n" - "\tblue: offset: %2d, length: %2d, msb_right: %2d\n" - "\ttransp: offset: %2d, length: %2d, msb_right: %2d\n" - "\tnonstd: %d\n" - "\tactivate: %d\n" - "\theight: %d\n" - "\twidth: %d\n" - "\taccel_flags: 0x%x\n" - "\tpixclock: %d\n" - "\tleft_margin: %d\n" - "\tright_margin: %d\n" - "\tupper_margin: %d\n" - "\tlower_margin: %d\n" - "\thsync_len: %d\n" - "\tvsync_len: %d\n" - "\tsync: %d\n" - "\tvmode: %d\n" - "\n", - vinfo.xres, vinfo.yres, vinfo.xres_virtual, vinfo.yres_virtual, - vinfo.xoffset, vinfo.yoffset, vinfo.bits_per_pixel, vinfo.grayscale, - vinfo.red.offset, vinfo.red.length, vinfo.red.msb_right, - vinfo.green.offset, vinfo.green.length, vinfo.green.msb_right, - vinfo.blue.offset, vinfo.blue.length, vinfo.blue.msb_right, - vinfo.transp.offset, vinfo.transp.length, vinfo.transp.msb_right, - vinfo.nonstd, vinfo.activate, vinfo.height, vinfo.width, - vinfo.accel_flags, vinfo.pixclock, vinfo.left_margin, - vinfo.right_margin, vinfo.upper_margin, vinfo.lower_margin, - vinfo.hsync_len, vinfo.vsync_len, vinfo.sync, vinfo.vmode); -} - -long switchToGraphicsMode() -{ - const char *const devs[] = {"/dev/tty0", "/dev/tty", "/dev/console", 0}; - const char * const *dev; - long oldMode = KD_TEXT; - - for (dev = devs; *dev; ++dev) { - ttyFd = open(*dev, O_RDWR); - if (ttyFd != -1) - break; - printf("Opening tty device %s failed: %s\n", *dev, strerror(errno)); - } - - ioctl(ttyFd, KDGETMODE, &oldMode); - if (oldMode == KD_GRAPHICS) { - printf("Was in graphics mode already. Skipping\n"); - return oldMode; - } - int ret = ioctl(ttyFd, KDSETMODE, KD_GRAPHICS); - if (ret == -1) { - printf("Switch to graphics mode failed: %s\n", strerror(errno)); - return oldMode; - } - - printf("Successfully switched to graphics mode.\n\n"); - - return oldMode; -} - -void restoreTextMode(long oldMode) -{ - if (ttyFd == -1) - return; - - ioctl(ttyFd, KDSETMODE, oldMode); - close(ttyFd); -} - -struct fb_cmap oldPalette; -struct fb_cmap palette; -int paletteSize = 0; - -void initPalette_16() -{ - if (finfo.type == FB_TYPE_PACKED_PIXELS) { - // We'll setup a grayscale map for 4bpp linear - int val = 0; - int i; - for (i = 0; i < 16; ++i) { - palette.red[i] = (val << 8) | val; - palette.green[i] = (val << 8) | val; - palette.blue[i] = (val << 8) | val; - val += 17; - } - return; - } - - // Default 16 colour palette - unsigned char reds[16] = { 0x00, 0x7F, 0xBF, 0xFF, 0xFF, 0xA2, - 0x00, 0xFF, 0xFF, 0x00, 0x7F, 0x7F, - 0x00, 0x00, 0x00, 0x82 }; - unsigned char greens[16] = { 0x00, 0x7F, 0xBF, 0xFF, 0x00, 0xC5, - 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, - 0x00, 0x7F, 0x7F, 0x7F }; - unsigned char blues[16] = { 0x00, 0x7F, 0xBF, 0xFF, 0x00, 0x11, - 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x7F, - 0x7F, 0x7F, 0x00, 0x00 }; - - int i; - for (i = 0; i < 16; ++i) { - palette.red[i] = ((reds[i]) << 8) | reds[i]; - palette.green[i] = ((greens[i]) << 8) | greens[i]; - palette.blue[i] = ((blues[i]) << 8) | blues[i]; - palette.transp[i] = 0; - } -} - -void initPalette_256() -{ - if (vinfo.grayscale) { - int i; - for (i = 0; i < 256; ++i) { - unsigned short c = (i << 8) | i; - palette.red[i] = c; - palette.green[i] = c; - palette.blue[i] = c; - palette.transp[i] = 0; - } - return; - } - - // 6x6x6 216 color cube - int i = 0; - int ir, ig, ib; - for (ir = 0x0; ir <= 0xff; ir += 0x33) { - for (ig = 0x0; ig <= 0xff; ig += 0x33) { - for (ib = 0x0; ib <= 0xff; ib += 0x33) { - palette.red[i] = (ir << 8)|ir; - palette.green[i] = (ig << 8)|ig; - palette.blue[i] = (ib << 8)|ib; - palette.transp[i] = 0; - ++i; - } - } - } -} - -void initPalette() -{ - switch (vinfo.bits_per_pixel) { - case 8: paletteSize = 256; break; - case 4: paletteSize = 16; break; - default: break; - } - - if (!paletteSize) - return; /* not using a palette */ - - /* read old palette */ - oldPalette.start = 0; - oldPalette.len = paletteSize; - oldPalette.red = (unsigned short*)malloc(sizeof(unsigned short)*paletteSize); - oldPalette.green = (unsigned short*)malloc(sizeof(unsigned short)*paletteSize); - oldPalette.blue=(unsigned short*)malloc(sizeof(unsigned short)*paletteSize); - oldPalette.transp=(unsigned short*)malloc(sizeof(unsigned short)*paletteSize); - if (ioctl(ttyFd, FBIOGETCMAP, &oldPalette) == -1) - perror("initPalette: error reading palette"); - - /* create new palette */ - palette.start = 0; - palette.len = paletteSize; - palette.red = (unsigned short*)malloc(sizeof(unsigned short)*paletteSize); - palette.green = (unsigned short*)malloc(sizeof(unsigned short)*paletteSize); - palette.blue = (unsigned short*)malloc(sizeof(unsigned short)*paletteSize); - palette.transp = (unsigned short*)malloc(sizeof(unsigned short)*paletteSize); - switch (paletteSize) { - case 16: initPalette_16(); break; - case 256: initPalette_256(); break; - default: break; - } - - /* set new palette */ - if (ioctl(ttyFd, FBIOPUTCMAP, &palette) == -1) - perror("initPalette: error setting palette"); -} - -void resetPalette() -{ - if (paletteSize == 0) - return; - - if (ioctl(ttyFd, FBIOPUTCMAP, &oldPalette) == -1) - perror("resetPalette"); - - free(oldPalette.red); - free(oldPalette.green); - free(oldPalette.blue); - free(oldPalette.transp); - - free(palette.red); - free(palette.green); - free(palette.blue); - free(palette.transp); -} - -void drawRect_rgb32(int x0, int y0, int width, int height, int color) -{ - const int bytesPerPixel = 4; - const int stride = finfo.line_length / bytesPerPixel; - - int *dest = (int*)(frameBuffer) - + (y0 + vinfo.yoffset) * stride - + (x0 + vinfo.xoffset); - - int x, y; - for (y = 0; y < height; ++y) { - for (x = 0; x < width; ++x) { - dest[x] = color; - } - dest += stride; - } -} - -void drawRect_rgb18(int x0, int y0, int width, int height, int color) -{ - const int bytesPerPixel = 3; - const int stride = finfo.line_length - width * bytesPerPixel; - const int red = (color & 0xff0000) >> 16; - const int green = (color & 0xff00) >> 8; - const int blue = (color & 0xff); - const unsigned int packed = (blue >> 2) | - ((green >> 2) << 6) | - ((red >> 2) << 12); - const char color18[3] = { packed & 0xff, - (packed & 0xff00) >> 8, - (packed & 0xff0000) >> 16 }; - - char *dest = (char*)(frameBuffer) - + (y0 + vinfo.yoffset) * stride - + (x0 + vinfo.xoffset); - - int x, y; - for (y = 0; y < height; ++y) { - for (x = 0; x < width; ++x) { - *dest++ = color18[0]; - *dest++ = color18[1]; - *dest++ = color18[2]; - } - dest += stride; - } -} - -void drawRect_rgb16(int x0, int y0, int width, int height, int color) -{ - const int bytesPerPixel = 2; - const int stride = finfo.line_length / bytesPerPixel; - const int red = (color & 0xff0000) >> (16 + 3); - const int green = (color & 0xff00) >> (8 + 2); - const int blue = (color & 0xff) >> 3; - const short color16 = blue | (green << 5) | (red << (5 + 6)); - - short *dest = (short*)(frameBuffer) - + (y0 + vinfo.yoffset) * stride - + (x0 + vinfo.xoffset); - - int x, y; - for (y = 0; y < height; ++y) { - for (x = 0; x < width; ++x) { - dest[x] = color16; - } - dest += stride; - } -} - -void drawRect_rgb15(int x0, int y0, int width, int height, int color) -{ - const int bytesPerPixel = 2; - const int stride = finfo.line_length / bytesPerPixel; - const int red = (color & 0xff0000) >> (16 + 3); - const int green = (color & 0xff00) >> (8 + 3); - const int blue = (color & 0xff) >> 3; - const short color15 = blue | (green << 5) | (red << (5 + 5)); - - short *dest = (short*)(frameBuffer) - + (y0 + vinfo.yoffset) * stride - + (x0 + vinfo.xoffset); - - int x, y; - for (y = 0; y < height; ++y) { - for (x = 0; x < width; ++x) { - dest[x] = color15; - } - dest += stride; - } -} - -void drawRect_palette(int x0, int y0, int width, int height, int color) -{ - const int bytesPerPixel = 1; - const int stride = finfo.line_length / bytesPerPixel; - const unsigned char color8 = color; - - unsigned char *dest = (unsigned char*)(frameBuffer) - + (y0 + vinfo.yoffset) * stride - + (x0 + vinfo.xoffset); - - int x, y; - for (y = 0; y < height; ++y) { - for (x = 0; x < width; ++x) { - dest[x] = color8; - } - dest += stride; - } -} - -void drawRect(int x0, int y0, int width, int height, int color) -{ - switch (vinfo.bits_per_pixel) { - case 32: - drawRect_rgb32(x0, y0, width, height, color); - break; - case 18: - drawRect_rgb18(x0, y0, width, height, color); - break; - case 16: - drawRect_rgb16(x0, y0, width, height, color); - break; - case 15: - drawRect_rgb15(x0, y0, width, height, color); - break; - case 8: - drawRect_palette(x0, y0, width, height, color); - break; - case 4: - drawRect_palette(x0, y0, width, height, color); - break; - default: - printf("Warning: drawRect() not implemented for color depth %i\n", - vinfo.bits_per_pixel); - break; - } -} - -#define PERFORMANCE_RUN_COUNT 5 -void performSpeedTest(void* fb, int fbSize) -{ - int i, j, run; - - struct timeval startTime, endTime; - unsigned long long results[PERFORMANCE_RUN_COUNT]; - unsigned long long average; - - unsigned int* testImage; - - unsigned int randData[17] = { - 0x3A428472, 0x724B84D3, 0x26B898AB, 0x7D980E3C, 0x5345A084, - 0x6779B66B, 0x791EE4B4, 0x6E8EE3CC, 0x63AF504A, 0x18A21B33, - 0x0E26EB73, 0x022F708E, 0x1740F3B0, 0x7E2C699D, 0x0E8A570B, - 0x5F2C22FB, 0x6A742130 - }; - - printf("Frame Buffer Performance test...\n"); - - for (run=0; run= 17) - j = 0; - } - - gettimeofday(&startTime, NULL); - memcpy(fb, testImage, fbSize); - gettimeofday(&endTime, NULL); - - long secsDiff = endTime.tv_sec - startTime.tv_sec; - results[run] = secsDiff * 1000000 + (endTime.tv_usec - startTime.tv_usec); - - free(testImage); - } - - - average = 0; - for (i=0; i -#include -#include -#include -#include -#include -#include -#include -#include - -//! [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 -#include - -//! [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 -#include -#include -#include - -#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("

Please press once at each of the marks " - "shown in the next screen.

" - "

This messagebox will timout after 10 seconds " - "if you are unable to close it.

"); - QTimer::singleShot(10 * 1000, &message, SLOT(accept())); - message.exec(); - } - -//! [0] //! [1] - Calibration cal; - cal.exec(); -//! [1] - -//! [2] - { - QMessageBox message; - message.setText("

The next screen will let you test the calibration " - "by drawing into a widget.

This program will " - "automatically close after 20 seconds.

"); - 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 -#include -#include -#include -#include - -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 diff --git a/examples/qws/qws.pro b/examples/qws/qws.pro deleted file mode 100644 index 06e3aa8eba..0000000000 --- a/examples/qws/qws.pro +++ /dev/null @@ -1,10 +0,0 @@ -TEMPLATE = subdirs -# no /dev/fbX -!qnx:!vxworks:SUBDIRS = framebuffer -SUBDIRS += mousecalibration simpledecoration - -# install -sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS README *.pro -sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/qws -INSTALLS += sources -QT += widgets diff --git a/examples/qws/simpledecoration/analogclock.cpp b/examples/qws/simpledecoration/analogclock.cpp deleted file mode 100644 index 67d74c4781..0000000000 --- a/examples/qws/simpledecoration/analogclock.cpp +++ /dev/null @@ -1,110 +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 - -#include "analogclock.h" - -AnalogClock::AnalogClock(QWidget *parent) - : QWidget(parent) -{ - QTimer *timer = new QTimer(this); - connect(timer, SIGNAL(timeout()), this, SLOT(update())); - timer->start(1000); - - setWindowTitle(tr("Analog Clock")); - resize(200, 200); -} - -void AnalogClock::paintEvent(QPaintEvent *) -{ - static const QPoint hourHand[3] = { - QPoint(7, 8), - QPoint(-7, 8), - QPoint(0, -40) - }; - static const QPoint minuteHand[3] = { - QPoint(7, 8), - QPoint(-7, 8), - QPoint(0, -70) - }; - - QColor hourColor(127, 0, 127); - QColor minuteColor(0, 127, 127, 191); - - int side = qMin(width(), height()); - QTime time = QTime::currentTime(); - - QPainter painter(this); - painter.setRenderHint(QPainter::Antialiasing); - painter.translate(width() / 2, height() / 2); - painter.scale(side / 200.0, side / 200.0); - - painter.setPen(Qt::NoPen); - painter.setBrush(hourColor); - - painter.save(); - painter.rotate(30.0 * ((time.hour() + time.minute() / 60.0))); - painter.drawConvexPolygon(hourHand, 3); - painter.restore(); - - painter.setPen(hourColor); - - for (int i = 0; i < 12; ++i) { - painter.drawLine(88, 0, 96, 0); - painter.rotate(30.0); - } - - painter.setPen(Qt::NoPen); - painter.setBrush(minuteColor); - - painter.save(); - painter.rotate(6.0 * (time.minute() + time.second() / 60.0)); - painter.drawConvexPolygon(minuteHand, 3); - painter.restore(); - - painter.setPen(minuteColor); - - for (int j = 0; j < 60; ++j) { - if ((j % 5) != 0) - painter.drawLine(92, 0, 96, 0); - painter.rotate(6.0); - } -} diff --git a/examples/qws/simpledecoration/analogclock.h b/examples/qws/simpledecoration/analogclock.h deleted file mode 100644 index 2fe91c7dbc..0000000000 --- a/examples/qws/simpledecoration/analogclock.h +++ /dev/null @@ -1,57 +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 ANALOGCLOCK_H -#define ANALOGCLOCK_H - -#include - -class AnalogClock : public QWidget -{ - Q_OBJECT - -public: - AnalogClock(QWidget *parent = 0); - -protected: - void paintEvent(QPaintEvent *event); -}; - -#endif diff --git a/examples/qws/simpledecoration/main.cpp b/examples/qws/simpledecoration/main.cpp deleted file mode 100644 index 1f0d367bc6..0000000000 --- a/examples/qws/simpledecoration/main.cpp +++ /dev/null @@ -1,59 +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 -#include "analogclock.h" -#include "mydecoration.h" - -//! [create application] -int main(int argc, char *argv[]) -{ - QApplication app(argc, argv); - MyDecoration *decoration = new MyDecoration(); - app.qwsSetDecoration(decoration); -//! [create application] - -//! [start application] - AnalogClock clock; - clock.show(); - - return app.exec(); -} -//! [start application] diff --git a/examples/qws/simpledecoration/mydecoration.cpp b/examples/qws/simpledecoration/mydecoration.cpp deleted file mode 100644 index 7b324e18c1..0000000000 --- a/examples/qws/simpledecoration/mydecoration.cpp +++ /dev/null @@ -1,374 +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 -#include "mydecoration.h" - -/* XPM */ -static const char * const _close_button[] = { -"16 16 3 1", -" c none", -". c #ffafaf", -"x c #000000", -" ", -" xxxxxxxxxxxxxx ", -" x............x ", -" x.x........x.x ", -" x..x......x..x ", -" x...x....x...x ", -" x....x..x....x ", -" x.....xx.....x ", -" x.....xx.....x ", -" x....x..x....x ", -" x...x....x...x ", -" x..x......x..x ", -" x.x........x.x ", -" x............x ", -" xxxxxxxxxxxxxx ", -" "}; - -static const char * const _normalize_button[] = { -"16 16 4 1", -" c none", -". c #dfdfff", -"o c #7f7f7f", -"x c #000000", -" ", -" xxxxxxxxxxxxxx ", -" xx...........x ", -" x.x..........x ", -" x..x..x......x ", -" x...xxx......x ", -" x...xxx......x ", -" x..xxxx......x ", -" x............x ", -" x.......xxxx.x ", -" x.......x..x.x ", -" x.......x..x.x ", -" x.......xxxx.x ", -" x............x ", -" xxxxxxxxxxxxxx ", -" "}; - -static const char * const _maximize_button[] = { -"16 16 4 1", -" c none", -". c #dfdfff", -"o c #7f7f7f", -"x c #000000", -" ", -" xxxxxxxxxxxxxx ", -" x............x ", -" x.......xxxx.x ", -" x........xxx.x ", -" x........xxx.x ", -" x.......x..x.x ", -" x......x.....x ", -" x.....x......x ", -" x.oooo.......x ", -" x.o..o.......x ", -" x.o..o.......x ", -" x.oooo.......x ", -" x............x ", -" xxxxxxxxxxxxxx ", -" "}; - -static const char * const _help_button[] = { -"16 16 3 1", -" c none", -". c #afffdf", -"x c #000000", -" ", -" xxxxxxxxxxxxxx ", -" x............x ", -" x....xxxx....x ", -" x..xx....xx..x ", -" x.xx......xx.x ", -" x.xx......xx.x ", -" x........xx..x ", -" x......xx....x ", -" x.....xx.....x ", -" x.....xx.....x ", -" x............x ", -" x.....xx.....x ", -" x............x ", -" xxxxxxxxxxxxxx ", -" "}; - -//! [constructor start] -MyDecoration::MyDecoration() - : QDecorationDefault() -{ - border = 4; - titleHeight = 24; - buttonWidth = 20; - buttonHeight = 20; - buttonMargin = 2; - buttonHints << Qt::Window - << Qt::WindowMaximizeButtonHint - << Qt::WindowContextHelpButtonHint; - //! [constructor start] - - //! [map window flags to decoration regions] - buttonHintMap[Qt::Window] = Close; - buttonHintMap[Qt::WindowMaximizeButtonHint] = Maximize; - buttonHintMap[Qt::WindowContextHelpButtonHint] = Help; - //! [map window flags to decoration regions] - - //! [map decoration regions to pixmaps] - normalButtonPixmaps[Close] = QPixmap(_close_button); - normalButtonPixmaps[Maximize] = QPixmap(_maximize_button); - normalButtonPixmaps[Normalize] = QPixmap(_normalize_button); - normalButtonPixmaps[Help] = QPixmap(_help_button); - - maximizedButtonPixmaps[Close] = QPixmap(_close_button); - maximizedButtonPixmaps[Maximize] = QPixmap(_normalize_button); - maximizedButtonPixmaps[Normalize] = QPixmap(_normalize_button); - maximizedButtonPixmaps[Help] = QPixmap(_help_button); - //! [map decoration regions to pixmaps] - - //! [constructor end] - stateRegions << Close << Maximize << Help; -} -//! [constructor end] - -//! [region start] -QRegion MyDecoration::region(const QWidget *widget, const QRect &insideRect, - int decorationRegion) -{ - //! [region start] - //! [calculate the positions of buttons based on the window flags used] - QHash buttons; - Qt::WindowFlags flags = widget->windowFlags(); - int dx = -buttonMargin - buttonWidth; - - foreach (Qt::WindowType button, buttonHints) { - if (flags & button) { - int x = (buttons.size() + 1) * dx; - buttons[buttonHintMap[button]] = x; - } - } - //! [calculate the positions of buttons based on the window flags used] - - //! [calculate the extent of the title] - int titleRightMargin = buttons.size() * dx; - - QRect outsideRect(insideRect.left() - border, - insideRect.top() - titleHeight - border, - insideRect.width() + 2 * border, - insideRect.height() + titleHeight + 2 * border); - //! [calculate the extent of the title] - - //! [check for all regions] - QRegion region; - - if (decorationRegion == All) { - region += QRegion(outsideRect) - QRegion(insideRect); - return region; - } - //! [check for all regions] - - //! [compose a region based on the decorations specified] - if (decorationRegion & Title) { - QRect rect = outsideRect.adjusted(border, border, -border, 0); - rect.setHeight(titleHeight); - - // Adjust the width to accommodate buttons. - rect.setWidth(qMax(0, rect.width() + titleRightMargin)); - region += rect; - } - if (decorationRegion & Top) { - QRect rect = outsideRect.adjusted(border, 0, -border, 0); - rect.setHeight(border); - region += rect; - } - if (decorationRegion & Left) { - QRect rect = outsideRect.adjusted(0, border, 0, -border); - rect.setWidth(border); - region += rect; - } - if (decorationRegion & Right) { - QRect rect = outsideRect.adjusted(0, border, 0, -border); - rect.setLeft(rect.right() + 1 - border); - region += rect; - } - if (decorationRegion & Bottom) { - QRect rect = outsideRect.adjusted(border, 0, -border, 0); - rect.setTop(rect.bottom() + 1 - border); - region += rect; - } - if (decorationRegion & TopLeft) { - QRect rect = outsideRect; - rect.setWidth(border); - rect.setHeight(border); - region += rect; - } - if (decorationRegion & TopRight) { - QRect rect = outsideRect; - rect.setLeft(rect.right() + 1 - border); - rect.setHeight(border); - region += rect; - } - if (decorationRegion & BottomLeft) { - QRect rect = outsideRect; - rect.setWidth(border); - rect.setTop(rect.bottom() + 1 - border); - region += rect; - } - if (decorationRegion & BottomRight) { - QRect rect = outsideRect; - rect.setLeft(rect.right() + 1 - border); - rect.setTop(rect.bottom() + 1 - border); - region += rect; - } - //! [compose a region based on the decorations specified] - - //! [add a region for each button only if it is present] - foreach (QDecoration::DecorationRegion testRegion, stateRegions) { - if (decorationRegion & testRegion and buttons.contains(testRegion)) { - // Inside the title rectangle - QRect rect = outsideRect.adjusted(border, border, -border, 0); - rect.setHeight(titleHeight); - - dx = buttons[testRegion]; - rect.setLeft(rect.right() + 1 + dx); - rect.setWidth(buttonWidth + buttonMargin); - region += rect; - } - } - //! [add a region for each button only if it is present] - - //! [region end] - return region; -} -//! [region end] - -//! [paint start] -bool MyDecoration::paint(QPainter *painter, const QWidget *widget, - int decorationRegion, DecorationState state) -{ - if (decorationRegion == None) - return false; - //! [paint start] - - //! [paint different regions] - bool handled = false; - - QPalette palette = QApplication::palette(); - QHash buttonPixmaps; - - if (widget->windowState() == Qt::WindowMaximized) - buttonPixmaps = maximizedButtonPixmaps; - else - buttonPixmaps = normalButtonPixmaps; - - if (decorationRegion & Title) { - QRect rect = QDecoration::region(widget, Title).boundingRect(); - painter->fillRect(rect, palette.brush(QPalette::Base)); - painter->save(); - painter->setPen(QPen(palette.color(QPalette::Text))); - painter->drawText(rect, Qt::AlignCenter, widget->windowTitle()); - painter->restore(); - handled = true; - } - if (decorationRegion & Top) { - QRect rect = QDecoration::region(widget, Top).boundingRect(); - painter->fillRect(rect, palette.brush(QPalette::Dark)); - handled = true; - } - if (decorationRegion & Left) { - QRect rect = QDecoration::region(widget, Left).boundingRect(); - painter->fillRect(rect, palette.brush(QPalette::Dark)); - handled = true; - } - if (decorationRegion & Right) { - QRect rect = QDecoration::region(widget, Right).boundingRect(); - painter->fillRect(rect, palette.brush(QPalette::Dark)); - handled = true; - } - if (decorationRegion & Bottom) { - QRect rect = QDecoration::region(widget, Bottom).boundingRect(); - painter->fillRect(rect, palette.brush(QPalette::Dark)); - handled = true; - } - if (decorationRegion & TopLeft) { - QRect rect = QDecoration::region(widget, TopLeft).boundingRect(); - painter->fillRect(rect, palette.brush(QPalette::Dark)); - handled = true; - } - if (decorationRegion & TopRight) { - QRect rect = QDecoration::region(widget, TopRight).boundingRect(); - painter->fillRect(rect, palette.brush(QPalette::Dark)); - handled = true; - } - if (decorationRegion & BottomLeft) { - QRect rect = QDecoration::region(widget, BottomLeft).boundingRect(); - painter->fillRect(rect, palette.brush(QPalette::Dark)); - handled = true; - } - if (decorationRegion & BottomRight) { - QRect rect = QDecoration::region(widget, BottomRight).boundingRect(); - painter->fillRect(rect, palette.brush(QPalette::Dark)); - handled = true; - } - //! [paint different regions] - - //! [paint buttons] - int margin = (titleHeight - 16) / 2; - Qt::WindowFlags flags = widget->windowFlags(); - - foreach (DecorationRegion testRegion, stateRegions) { - if (decorationRegion & testRegion && flags & buttonHintMap.key(testRegion)) { - QRect rect = QDecoration::region( - widget, testRegion).boundingRect(); - painter->fillRect(rect, palette.brush(QPalette::Base)); - - QRect buttonRect = rect.adjusted(0, margin, -buttonMargin - margin, - -buttonMargin); - painter->drawPixmap(buttonRect.topLeft(), buttonPixmaps[testRegion]); - handled = true; - } - } - //! [paint buttons] - - //! [paint end] - return handled; -} -//! [paint end] diff --git a/examples/qws/simpledecoration/mydecoration.h b/examples/qws/simpledecoration/mydecoration.h deleted file mode 100644 index 6758f69449..0000000000 --- a/examples/qws/simpledecoration/mydecoration.h +++ /dev/null @@ -1,72 +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 MYDECORATION_H -#define MYDECORATION_H - -#include -#include -#include -#include -#include - -//! [decoration class definition] -class MyDecoration : public QDecorationDefault -{ -public: - MyDecoration(); - QRegion region(const QWidget *widget, const QRect &insideRect, int decorationRegion); - bool paint(QPainter *painter, const QWidget *widget, int decorationRegion, DecorationState state); - -private: - int border; - int buttonHeight; - int buttonMargin; - int buttonWidth; - int titleHeight; - QHash buttonHintMap; - QHash normalButtonPixmaps; - QHash maximizedButtonPixmaps; - QVector buttonHints; - QVector stateRegions; -}; -//! [decoration class definition] - -#endif diff --git a/examples/qws/simpledecoration/simpledecoration.desktop b/examples/qws/simpledecoration/simpledecoration.desktop deleted file mode 100644 index 9cd588eb1d..0000000000 --- a/examples/qws/simpledecoration/simpledecoration.desktop +++ /dev/null @@ -1,11 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Version=1.0 -Type=Application -Terminal=false -Name=Simple Decoration -Exec=/opt/usr/bin/simpledecoration -Icon=simpledecoration -X-Window-Icon= -X-HildonDesk-ShowInToolbar=true -X-Osso-Type=application/x-executable diff --git a/examples/qws/simpledecoration/simpledecoration.pro b/examples/qws/simpledecoration/simpledecoration.pro deleted file mode 100644 index 274b87af2b..0000000000 --- a/examples/qws/simpledecoration/simpledecoration.pro +++ /dev/null @@ -1,16 +0,0 @@ -TEMPLATE = app -HEADERS = analogclock.h \ - mydecoration.h -SOURCES = analogclock.cpp \ - main.cpp \ - mydecoration.cpp - -# install -target.path = $$[QT_INSTALL_EXAMPLES]/qtbase/qws/simpledecoration -sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS *.pro -sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/qws/simpledecoration -INSTALLS += target sources -QT += widgets - - -simulator: warning(This example does not work on Simulator platform) diff --git a/examples/qws/svgalib/README b/examples/qws/svgalib/README deleted file mode 100644 index 227c066f01..0000000000 --- a/examples/qws/svgalib/README +++ /dev/null @@ -1,9 +0,0 @@ -This is the SVGA screen driver plugin example for QWS. - -You may need to set the SVGALIB_DEFAULT_MODE environment -variable. These values have been confirmed to work on one specific -machine using svgalib 1.4.3: 18, 24, 34, 35, 36 - -There is a bug in the example causing missing updates in 8-bit mode -(e.g. modes 10 and 12). Fixing this bug is left as an exercise for the -reader. diff --git a/examples/qws/svgalib/svgalib.desktop b/examples/qws/svgalib/svgalib.desktop deleted file mode 100644 index 94ea92fd52..0000000000 --- a/examples/qws/svgalib/svgalib.desktop +++ /dev/null @@ -1,11 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Version=1.0 -Type=Application -Terminal=false -Name=Accelerated Graphics Driver -Exec=/opt/usr/bin/svgalib -Icon=svgalib -X-Window-Icon= -X-HildonDesk-ShowInToolbar=true -X-Osso-Type=application/x-executable diff --git a/examples/qws/svgalib/svgalib.pro b/examples/qws/svgalib/svgalib.pro deleted file mode 100644 index 7058750bb3..0000000000 --- a/examples/qws/svgalib/svgalib.pro +++ /dev/null @@ -1,22 +0,0 @@ -TEMPLATE = lib -CONFIG += plugin - -LIBS += -lvgagl -lvga - -TARGET = svgalibscreen -target.path = $$[QT_INSTALL_PLUGINS]/gfxdrivers -INSTALLS += target - -HEADERS = svgalibscreen.h \ - svgalibpaintengine.h \ - svgalibsurface.h \ - svgalibpaintdevice.h -SOURCES = svgalibscreen.cpp \ - svgalibpaintengine.cpp \ - svgalibsurface.cpp \ - svgalibpaintdevice.cpp \ - svgalibplugin.cpp - -QT += widgets - -simulator: warning(This example does not work on Simulator platform) diff --git a/examples/qws/svgalib/svgalibpaintdevice.cpp b/examples/qws/svgalib/svgalibpaintdevice.cpp deleted file mode 100644 index 6a6063d35a..0000000000 --- a/examples/qws/svgalib/svgalibpaintdevice.cpp +++ /dev/null @@ -1,66 +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 "svgalibpaintdevice.h" -#include "svgalibpaintengine.h" - -#include -#include - -SvgalibPaintDevice::SvgalibPaintDevice(QWidget *w) - : QCustomRasterPaintDevice(w) -{ - pengine = new SvgalibPaintEngine(this); -} - -SvgalibPaintDevice::~SvgalibPaintDevice() -{ - delete pengine; -} - -int SvgalibPaintDevice::metric(PaintDeviceMetric m) const -{ - if (m == PdmWidth) - return QApplication::desktop()->screenGeometry().width(); - else if (m == PdmHeight) - return QApplication::desktop()->screenGeometry().height(); - return QCustomRasterPaintDevice::metric(m); -} - diff --git a/examples/qws/svgalib/svgalibpaintdevice.h b/examples/qws/svgalib/svgalibpaintdevice.h deleted file mode 100644 index 736a003cfd..0000000000 --- a/examples/qws/svgalib/svgalibpaintdevice.h +++ /dev/null @@ -1,65 +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 SVGALIBPAINTDEVICE_H -#define SVGALIBPAINTDEVICE_H - -#include "svgalibpaintengine.h" -#include -#include - -//! [0] -class SvgalibPaintDevice : public QCustomRasterPaintDevice -{ -public: - SvgalibPaintDevice(QWidget *w); - ~SvgalibPaintDevice(); - - void* memory() const { return QScreen::instance()->base(); } - - QPaintEngine *paintEngine() const { return pengine; } - int metric(PaintDeviceMetric m) const; - -private: - SvgalibPaintEngine *pengine; -}; -//! [0] - -#endif // SVGALIBPAINTDEVICE_H diff --git a/examples/qws/svgalib/svgalibpaintengine.cpp b/examples/qws/svgalib/svgalibpaintengine.cpp deleted file mode 100644 index 1f109f585c..0000000000 --- a/examples/qws/svgalib/svgalibpaintengine.cpp +++ /dev/null @@ -1,190 +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 "svgalibpaintengine.h" - -#include -#include -#include - -SvgalibPaintEngine::SvgalibPaintEngine(QPaintDevice *device) - : QRasterPaintEngine(device) -{ -} - -SvgalibPaintEngine::~SvgalibPaintEngine() -{ -} - -//! [0] -bool SvgalibPaintEngine::begin(QPaintDevice *dev) -{ - device = dev; - pen = Qt::NoPen; - simplePen = true; - brush = Qt::NoBrush; - simpleBrush = true; - matrix = QTransform(); - simpleMatrix = true; - setClip(QRect(0, 0, device->width(), device->height())); - opaque = true; - aliased = true; - sourceOver = true; - - return QRasterPaintEngine::begin(dev); -} -//! [0] - -//! [1] -bool SvgalibPaintEngine::end() -{ - gl_setclippingwindow(0, 0, device->width() - 1, device->height() - 1); - return QRasterPaintEngine::end(); -} -//! [1] - -//! [2] -void SvgalibPaintEngine::updateState() -{ - QRasterPaintEngineState *s = state(); - - if (s->dirty & DirtyTransform) { - matrix = s->matrix; - simpleMatrix = (matrix.m12() == 0 && matrix.m21() == 0); - } - - if (s->dirty & DirtyPen) { - pen = s->pen; - simplePen = (pen.width() == 0 || pen.widthF() <= 1) - && (pen.style() == Qt::NoPen || pen.style() == Qt::SolidLine) - && (pen.color().alpha() == 255); - } - - if (s->dirty & DirtyBrush) { - brush = s->brush; - simpleBrush = (brush.style() == Qt::SolidPattern - || brush.style() == Qt::NoBrush) - && (brush.color().alpha() == 255); - } - - if (s->dirty & DirtyClipRegion) - setClip(s->clipRegion); - - if (s->dirty & DirtyClipEnabled) { - clipEnabled = s->isClipEnabled(); - updateClip(); - } - - if (s->dirty & DirtyClipPath) { - setClip(QRegion()); - simpleClip = false; - } - - if (s->dirty & DirtyCompositionMode) { - const QPainter::CompositionMode m = s->composition_mode; - sourceOver = (m == QPainter::CompositionMode_SourceOver); - } - - if (s->dirty & DirtyOpacity) - opaque = (s->opacity == 256); - - if (s->dirty & DirtyHints) - aliased = !(s->flags.antialiased); -} -//! [2] - -//! [3] -void SvgalibPaintEngine::setClip(const QRegion ®ion) -{ - if (region.isEmpty()) - clip = QRect(0, 0, device->width(), device->height()); - else - clip = matrix.map(region) & QRect(0, 0, device->width(), device->height()); - clipEnabled = true; - updateClip(); -} -//! [3] - -//! [4] -void SvgalibPaintEngine::updateClip() -{ - QRegion clipRegion = QRect(0, 0, device->width(), device->height()); - - if (!systemClip().isEmpty()) - clipRegion &= systemClip(); - if (clipEnabled) - clipRegion &= clip; - - simpleClip = (clipRegion.rects().size() <= 1); - - const QRect r = clipRegion.boundingRect(); - gl_setclippingwindow(r.left(), r.top(), - r.x() + r.width(), - r.y() + r.height()); -} -//! [4] - -//! [5] -void SvgalibPaintEngine::drawRects(const QRect *rects, int rectCount) -{ - const bool canAccelerate = simplePen && simpleBrush && simpleMatrix - && simpleClip && opaque && aliased - && sourceOver; - if (!canAccelerate) { - QRasterPaintEngine::drawRects(rects, rectCount); - return; - } - - for (int i = 0; i < rectCount; ++i) { - const QRect r = matrix.mapRect(rects[i]); - if (brush != Qt::NoBrush) { - gl_fillbox(r.left(), r.top(), r.width(), r.height(), - brush.color().rgba()); - } - if (pen != Qt::NoPen) { - const int c = pen.color().rgba(); - gl_hline(r.left(), r.top(), r.right(), c); - gl_hline(r.left(), r.bottom(), r.right(), c); - gl_line(r.left(), r.top(), r.left(), r.bottom(), c); - gl_line(r.right(), r.top(), r.right(), r.bottom(), c); - } - } -} -//! [5] diff --git a/examples/qws/svgalib/svgalibpaintengine.h b/examples/qws/svgalib/svgalibpaintengine.h deleted file mode 100644 index 2bbbb0c942..0000000000 --- a/examples/qws/svgalib/svgalibpaintengine.h +++ /dev/null @@ -1,78 +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 SVGALIBPAINTENGINE_H -#define SVGALIBPAINTENGINE_H - -//! [0] -#include - -class SvgalibPaintEngine : public QRasterPaintEngine -{ -public: - SvgalibPaintEngine(QPaintDevice *device); - ~SvgalibPaintEngine(); - - bool begin(QPaintDevice *device); - bool end(); - void updateState(); - void drawRects(const QRect *rects, int rectCount); - -private: - void setClip(const QRegion ®ion); - void updateClip(); - - QPen pen; - bool simplePen; - QBrush brush; - bool simpleBrush; - QTransform matrix; - bool simpleMatrix; - QRegion clip; - bool clipEnabled; - bool simpleClip; - bool opaque; - bool aliased; - bool sourceOver; - QPaintDevice *device; -}; -//! [0] - -#endif // SVGALIBPAINTENGINE_H diff --git a/examples/qws/svgalib/svgalibplugin.cpp b/examples/qws/svgalib/svgalibplugin.cpp deleted file mode 100644 index 993e0ed0a1..0000000000 --- a/examples/qws/svgalib/svgalibplugin.cpp +++ /dev/null @@ -1,74 +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 "svgalibscreen.h" - -#include -#include - -class SvgalibPlugin : public QScreenDriverPlugin -{ -public: - SvgalibPlugin(); - - QStringList keys() const; - QScreen *create(const QString&, int displayId); -}; - -SvgalibPlugin::SvgalibPlugin() - : QScreenDriverPlugin() -{ -} - -QStringList SvgalibPlugin::keys() const -{ - return (QStringList() << "svgalib"); -} - -QScreen* SvgalibPlugin::create(const QString& driver, int displayId) -{ - if (driver.toLower() != "svgalib") - return 0; - - return new SvgalibScreen(displayId); -} - -Q_EXPORT_STATIC_PLUGIN(Svgalib) -Q_EXPORT_PLUGIN2(svgalibscreendriver, SvgalibPlugin) diff --git a/examples/qws/svgalib/svgalibscreen.cpp b/examples/qws/svgalib/svgalibscreen.cpp deleted file mode 100644 index 689568d045..0000000000 --- a/examples/qws/svgalib/svgalibscreen.cpp +++ /dev/null @@ -1,353 +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 "svgalibscreen.h" -#include "svgalibsurface.h" - -#include -#include -#include -#include - -#include - -static int getModeDepth(vga_modeinfo *mode) -{ - const int bits = int(log2(mode->colors)); - if (bits == 24 && mode->bytesperpixel == 4) - return 32; - return bits; -} - -//! [0] -bool SvgalibScreen::connect(const QString &displaySpec) -{ - int mode = vga_getdefaultmode(); - if (mode <= 0) { - qCritical("SvgalibScreen::connect(): invalid vga mode"); - return false; - } - - vga_modeinfo *modeinfo = vga_getmodeinfo(mode); - - QScreen::lstep = modeinfo->linewidth; - QScreen::dw = QScreen::w = modeinfo->width; - QScreen::dh = QScreen::h = modeinfo->height; - QScreen::d = getModeDepth(modeinfo); - QScreen::size = QScreen::lstep * dh; - QScreen::data = 0; - - switch (depth()) { - case 32: - setPixelFormat(QImage::Format_ARGB32_Premultiplied); - break; - case 24: - setPixelFormat(QImage::Format_RGB888); - break; - case 16: - setPixelFormat(QImage::Format_RGB16); - break; - case 15: - setPixelFormat(QImage::Format_RGB555); - break; - default: - break; - } - - const int dpi = 72; - QScreen::physWidth = qRound(QScreen::dw * 25.4 / dpi); - QScreen::physHeight = qRound(QScreen::dh * 25.4 / dpi); - - const QStringList args = displaySpec.split(QLatin1Char(':'), - QString::SkipEmptyParts); - grayscale = args.contains(QLatin1String("grayscale"), Qt::CaseInsensitive); - - return true; -} -//! [0] - -void SvgalibScreen::initColorMap() -{ - const int numColors = vga_getcolors(); - if (numColors == 2 || numColors > 256) { - screencols = 0; - return; // not a palette based mode - } - - if (numColors == 16) { - if (grayscale) { - for (int i = 0; i < 256; ++i) { - const int c = i * 16 / 256; - vga_setpalette(i, c, c, c); - } - screencols = 256; // XXX: takes advantage of optimization in alloc() - } else { // read in EGA palette - int r, g, b; - for (int i = 0; i < 16; ++i) { - vga_getpalette(i, &r, &g, &b); - screenclut[i] = qRgb(r, g, b); - } - screencols = 16; - } - - return; - } - - Q_ASSERT(numColors == 256); - - if (grayscale) { - for (int i = 0; i < 256; ++i) { - const int c = i * 64 / 256; - vga_setpalette(i, c, c, c); - } - } else { - int i = 0; - -#if 0 - // read in EGA palette - while (i < 16) { - int r, g, b; - vga_getpalette(i, &r, &g, &b); - screenclut[i] = qRgb(r, g, b); - ++i; - } - screencols = 16; -#endif - - // 6 * 6 * 6 color cube - for (int r = 0; r < 6; ++r) { - for (int g = 0; g < 6; ++g) { - for (int b = 0; b < 6; ++b) { - vga_setpalette(i, r * 64/6, g * 64/6, b * 64/6); - screenclut[i] = qRgb(r * 256/6, g * 256/6, b * 256/6); - ++i; - } - } - } - screencols = i; - - while (i < 256) { - screenclut[i] = qRgb(0, 0, 0); - ++i; - } - } -} - -//! [1] -bool SvgalibScreen::initDevice() -{ - if (vga_init() != 0) { - qCritical("SvgalibScreen::initDevice(): unable to initialize svgalib"); - return false; - } - - int mode = vga_getdefaultmode(); - if (vga_setmode(mode) == -1) { - qCritical("SvgalibScreen::initialize(): unable to set graphics mode"); - return false; - } - - if (gl_setcontextvga(mode) != 0) { - qCritical("SvgalibScreen::initDevice(): unable to set vga context"); - return false; - } - context = gl_allocatecontext(); - gl_getcontext(context); - - vga_modeinfo *modeinfo = vga_getmodeinfo(mode); - if (modeinfo->flags & IS_LINEAR) - QScreen::data = vga_getgraphmem(); - - initColorMap(); - - QScreenCursor::initSoftwareCursor(); - return true; -} -//! [1] - -//! [2] -void SvgalibScreen::shutdownDevice() -{ - gl_freecontext(context); - vga_setmode(TEXT); -} -//! [2] - -//! [3] -void SvgalibScreen::disconnect() -{ -} -//! [3] - -//! [4] -void SvgalibScreen::solidFill(const QColor &color, const QRegion ®) -{ - int c; - if (depth() == 4 || depth() == 8) - c = alloc(color.red(), color.green(), color.blue()); - else - c = gl_rgbcolor(color.red(), color.green(), color.blue()); - - const QVector rects = (reg & region()).rects(); - for (int i = 0; i < rects.size(); ++i) { - const QRect r = rects.at(i); - gl_fillbox(r.left(), r.top(), r.width(), r.height(), c); - } -} -//! [4] - -void SvgalibScreen::blit16To8(const QImage &image, - const QPoint &topLeft, const QRegion ®ion) -{ - const int imageStride = image.bytesPerLine() / 2; - const QVector rects = region.rects(); - - for (int i = 0; i < rects.size(); ++i) { - const QRect r = rects.at(i).translated(-topLeft); - int y = r.y(); - const quint16 *s = reinterpret_cast(image.scanLine(y)); - - while (y <= r.bottom()) { - int x1 = r.x(); - while (x1 <= r.right()) { - const quint16 c = s[x1]; - int x2 = x1; - // find span length - while ((x2+1 < r.right()) && (s[x2+1] == c)) - ++x2; - gl_hline(x1 + topLeft.x(), y + topLeft.y(), x2 + topLeft.x(), - qt_colorConvert(c, 0)); - x1 = x2 + 1; - } - s += imageStride; - ++y; - } - } -} - -void SvgalibScreen::blit32To8(const QImage &image, - const QPoint &topLeft, const QRegion ®ion) -{ - const int imageStride = image.bytesPerLine() / 4; - const QVector rects = region.rects(); - - for (int i = 0; i < rects.size(); ++i) { - const QRect r = rects.at(i).translated(-topLeft); - int y = r.y(); - const quint32 *s = reinterpret_cast(image.scanLine(y)); - - while (y <= r.bottom()) { - int x1 = r.x(); - while (x1 <= r.right()) { - const quint32 c = s[x1]; - int x2 = x1; - // find span length - while ((x2+1 < r.right()) && (s[x2+1] == c)) - ++x2; - gl_hline(x1 + topLeft.x(), y + topLeft.y(), x2 + topLeft.x(), - qt_colorConvert(c, 0)); - x1 = x2 + 1; - } - s += imageStride; - ++y; - } - } -} - -//! [5] -void SvgalibScreen::blit(const QImage &img, const QPoint &topLeft, - const QRegion ®) -{ - if (depth() == 8) { - switch (img.format()) { - case QImage::Format_RGB16: - blit16To8(img, topLeft, reg); - return; - case QImage::Format_RGB32: - case QImage::Format_ARGB32: - case QImage::Format_ARGB32_Premultiplied: - blit32To8(img, topLeft, reg); - return; - default: - break; - } - } - - if (img.format() != pixelFormat()) { - if (base()) - QScreen::blit(img, topLeft, reg); - return; - } - - const QVector rects = (reg & region()).rects(); - - for (int i = 0; i < rects.size(); ++i) { - const QRect r = rects.at(i); - gl_putboxpart(r.x(), r.y(), r.width(), r.height(), - img.width(), img.height(), - static_cast(const_cast(img.bits())), - r.x() - topLeft.x(), r.y() - topLeft.y()); - } -} -//! [5] - -//! [7] -QWSWindowSurface* SvgalibScreen::createSurface(QWidget *widget) const -{ - if (base()) { - static int onScreenPaint = -1; - if (onScreenPaint == -1) - onScreenPaint = qgetenv("QT_ONSCREEN_PAINT").toInt(); - - if (onScreenPaint > 0 || widget->testAttribute(Qt::WA_PaintOnScreen)) - return new SvgalibSurface(widget); - } - return QScreen::createSurface(widget); -} -//! [7] - -//! [8] -QWSWindowSurface* SvgalibScreen::createSurface(const QString &key) const -{ - if (key == QLatin1String("svgalib")) - return new SvgalibSurface; - return QScreen::createSurface(key); -} -//! [8] diff --git a/examples/qws/svgalib/svgalibscreen.h b/examples/qws/svgalib/svgalibscreen.h deleted file mode 100644 index 244375ed18..0000000000 --- a/examples/qws/svgalib/svgalibscreen.h +++ /dev/null @@ -1,83 +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 SVGALIBSCREEN_H -#define SVGALIBSCREEN_H - -#include - -#include -#include - -//! [0] -class SvgalibScreen : public QScreen -{ -public: - SvgalibScreen(int displayId) : QScreen(displayId) {} - ~SvgalibScreen() {} - - bool connect(const QString &displaySpec); - bool initDevice(); - void shutdownDevice(); - void disconnect(); - - void setMode(int, int, int) {} - void blank(bool) {} - - void blit(const QImage &img, const QPoint &topLeft, const QRegion ®ion); - void solidFill(const QColor &color, const QRegion ®ion); -//! [0] - - QWSWindowSurface* createSurface(QWidget *widget) const; - QWSWindowSurface* createSurface(const QString &key) const; - -//! [1] -private: - void initColorMap(); - void blit16To8(const QImage &image, - const QPoint &topLeft, const QRegion ®ion); - void blit32To8(const QImage &image, - const QPoint &topLeft, const QRegion ®ion); - - GraphicsContext *context; -}; -//! [1] - -#endif // SVGALIBSCREEN_H diff --git a/examples/qws/svgalib/svgalibsurface.cpp b/examples/qws/svgalib/svgalibsurface.cpp deleted file mode 100644 index 35f80cbb61..0000000000 --- a/examples/qws/svgalib/svgalibsurface.cpp +++ /dev/null @@ -1,86 +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 "svgalibsurface.h" -#include "svgalibpaintdevice.h" - -#include - -SvgalibSurface::SvgalibSurface() : QWSWindowSurface(), pdevice(0) -{ - setSurfaceFlags(Opaque); -} - -SvgalibSurface::SvgalibSurface(QWidget *w) - : QWSWindowSurface(w) -{ - setSurfaceFlags(Opaque); - pdevice = new SvgalibPaintDevice(w); -} - -SvgalibSurface::~SvgalibSurface() -{ - delete pdevice; -} - -void SvgalibSurface::setGeometry(const QRect &rect) -{ - QWSWindowSurface::setGeometry(rect); -} - -QPoint SvgalibSurface::painterOffset() const -{ - return geometry().topLeft() + QWSWindowSurface::painterOffset(); -} - -//! [0] -bool SvgalibSurface::scroll(const QRegion ®ion, int dx, int dy) -{ - const QVector rects = region.rects(); - for (int i = 0; i < rects.size(); ++i) { - const QRect r = rects.at(i); - gl_copybox(r.left(), r.top(), r.width(), r.height(), - r.left() + dx, r.top() + dy); - } - - return true; -} -//! [0] - diff --git a/examples/qws/svgalib/svgalibsurface.h b/examples/qws/svgalib/svgalibsurface.h deleted file mode 100644 index fd4fd8e26e..0000000000 --- a/examples/qws/svgalib/svgalibsurface.h +++ /dev/null @@ -1,75 +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 SVGALIBSURFACE_H -#define SVGALIBSURFACE_H - -#include "svgalibpaintengine.h" -#include "svgalibpaintdevice.h" -#include - -class SvgalibPaintDevice; - -//! [0] -class SvgalibSurface : public QWSWindowSurface -{ -public: - SvgalibSurface(); - SvgalibSurface(QWidget *w); - ~SvgalibSurface(); - - void setGeometry(const QRect &rect); - bool isValid() const { return true; } - bool scroll(const QRegion ®ion, int dx, int dy); - QString key() const { return QLatin1String("svgalib"); } - - bool attach(const QByteArray &) { return true; } - void detach() {} - - QImage image() const { return QImage(); } - QPaintDevice *paintDevice() { return pdevice; } - QPoint painterOffset() const; - -private: - SvgalibPaintDevice *pdevice; -}; -//! [0] - -#endif // SVGALIBSURFACE_H -- cgit v1.2.3