summaryrefslogtreecommitdiffstats
path: root/kdejava/koala/test/kblend/KBlendTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'kdejava/koala/test/kblend/KBlendTest.java')
-rw-r--r--kdejava/koala/test/kblend/KBlendTest.java130
1 files changed, 130 insertions, 0 deletions
diff --git a/kdejava/koala/test/kblend/KBlendTest.java b/kdejava/koala/test/kblend/KBlendTest.java
new file mode 100644
index 00000000..6e4e4109
--- /dev/null
+++ b/kdejava/koala/test/kblend/KBlendTest.java
@@ -0,0 +1,130 @@
+import org.kde.qt.*;
+import org.kde.koala.*;
+
+//
+// Simple little hack to show off blending effects.
+//
+// (C) KDE Artistic Cristian Tibirna <tibirna@kde.org>
+//
+
+/**
+ * Class to test KImageEffect blending effects.
+ *
+ * This is a translation to java from kblendtest.cpp in the tests library
+ * of kdeui source.
+ *
+ * @see KApplication
+ * @see KImageEffect
+ *
+ * @author Cristian Tibirna <tibirna@kde.org>, java translation Kenneth J. Pouncey, kjpou@hotmail.com
+ * @version 0.1
+ */
+
+public class KBlendTest {
+
+ public static void main(String[] args) {
+ KCmdLineArgs.init(args, "kblendtest", "KBlendTest", "It blends!", "0.1");
+ KApplication app = new KApplication();
+ KBlendWidget w = new KBlendWidget(null,"KBlendTest");
+ w.setCaption(app.name());
+ app.setMainWidget(w);
+ w.show();
+ app.exec();
+ return;
+ }
+
+
+ public static class KBlendWidget extends QWidget {
+
+ QImage image;
+ QColor bgnd;
+
+ String testImage = "testimage.png";
+
+ public KBlendWidget (QWidget parent, String name) {
+
+ // change the colors to see the effects.
+// bgnd = new QColor(QColor.qRgb(255, 255, 255));
+ bgnd = Qt.blue();
+// bgnd = Qt.red();
+
+ image = new QImage(testImage);
+
+ resize(image.width()*2+60, image.height()*3+80);
+ setBackgroundColor(bgnd);
+ }
+
+ protected void paintEvent(QPaintEvent pe ) {
+
+ long it, ft;
+ String say = "";
+
+ image = new QImage(testImage);
+
+ QPainter p = new QPainter(this);
+
+ p.setPen(Qt.black());
+
+ // you see here use of anti_dir param (blend from down to up, here)
+ it = System.currentTimeMillis();
+ KImageEffect.blend(image, 0.2f, bgnd, KImageEffect.VerticalGradient,true);
+ ft = System.currentTimeMillis();
+ say = (ft - it) + " ms, Vertical";
+ p.drawImage(20, 20, image);
+ p.drawText(5 , 15, say);
+
+ image = new QImage(testImage);
+
+ // here a negative initial intensity is used (1/2 of image is unaffected)
+ it = System.currentTimeMillis();
+ KImageEffect.blend(image, -0.5f, bgnd, KImageEffect.HorizontalGradient);
+ ft = System.currentTimeMillis();
+ say = (ft - it) + " ms, Horizontal";
+ p.drawImage(40+image.width(), 20, image);
+ p.drawText(15+image.width() , 15, say);
+
+ image = new QImage(testImage);
+
+ it = System.currentTimeMillis();
+ KImageEffect.blend(image, 0.0f, bgnd, KImageEffect.DiagonalGradient,true);
+ ft = System.currentTimeMillis();
+ say = (ft - it) + " ms, Diagonal";
+ p.drawImage(20, 40+image.height(), image);
+ p.drawText(5 , 35+image.height(), say);
+
+ image = new QImage(testImage);
+
+ it = System.currentTimeMillis();
+ KImageEffect.blend(image, 0.1f, bgnd, KImageEffect.CrossDiagonalGradient);
+ ft = System.currentTimeMillis();
+ say = (ft - it) + " ms, CrossDiagonal";
+ p.drawImage(40+image.width(), 40+image.height(), image);
+ p.drawText(25+image.width() , 35 + image.height(), say);
+
+ image = new QImage(testImage);
+
+ it = System.currentTimeMillis();
+ KImageEffect.blend(image, -0.6f, bgnd, KImageEffect.RectangleGradient);
+ ft = System.currentTimeMillis();
+ say = (ft - it) + " ms, Rectangle";
+ p.drawImage(20, 60+2*image.height(), image);
+ p.drawText(5 , 55+2*image.height(), say);
+
+ image = new QImage(testImage);
+
+ it = System.currentTimeMillis();
+ KImageEffect.blend(image, 0.2f, bgnd, KImageEffect.EllipticGradient);
+ ft = System.currentTimeMillis();
+ say = (ft - it) + " ms, Elliptic";
+ p.drawImage(40+image.width(), 60+2*image.height(), image);
+ p.drawText(25+image.width(), 55+2*image.height(), say);
+ p.end();
+ }
+ }
+
+ static {
+ qtjava.initialize();
+ kdejava.initialize();
+ }
+
+}