From ce4a32fe52ef09d8f5ff1dd22c001110902b60a2 Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdelibs@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kdeui/tests/kcolortest.cpp | 169 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 kdeui/tests/kcolortest.cpp (limited to 'kdeui/tests/kcolortest.cpp') diff --git a/kdeui/tests/kcolortest.cpp b/kdeui/tests/kcolortest.cpp new file mode 100644 index 000000000..c4dd5892b --- /dev/null +++ b/kdeui/tests/kcolortest.cpp @@ -0,0 +1,169 @@ + +#include "kcolortest.h" +#include +#include +#include +#include + +bool fullscreen = false, oldway = false, intvsfade = false; +int max = 20; // how many steps + +KColorWidget::KColorWidget(QWidget *parent, const char *name) + : QWidget(parent, name) +{ + + if (fullscreen || intvsfade) { + QPixmap shot = QPixmap::grabWindow(QApplication::desktop()->winId()); + original = shot.convertToImage(); + } + else + original = QImage("testimage.png"); + resize(original.width(), original.height()); +} + +void KColorWidget::paintEvent(QPaintEvent *) +{ + if(!pixmap.isNull()) + bitBlt(this, 0, 0, &pixmap, 0, 0, pixmap.width(), pixmap.height(), + Qt::CopyROP, true); +} + +void KColorWidget::doIntensityLoop() +{ + int count; + + int start, stop; + QTime t; + + t.start(); + + image = original; image.detach(); + + if (fullscreen){ + start = t.elapsed(); + for(count=0; count < max; ++count){ + if (!oldway) + KImageEffect::intensity(image, -1./max); + else { + uint *qptr=(uint *)image.bits(); + QRgb qrgb; + int size=pixmap.width()*pixmap.height(); + for (int i=0;i 1) { + if (!strcmp(argv[1], "fullscreen")) + { + fullscreen = true; + if (!strcmp(argv[2], "old_way")) + oldway = true; + } + else if (!strcmp(argv[1], "int_vs_fade")) { + intvsfade = fullscreen = true; + oldway = false; + } + else + printf("Usage: %s [int_vs_fade | fullscreen [old_way]]\n ", argv[0]); + } + KApplication *app = new KApplication(argc, argv, "KColorTest"); + KColorWidget w; + app->setMainWidget(&w); + w.show(); + w.doIntensityLoop(); + return(app->exec()); +} -- cgit v1.2.3