summaryrefslogtreecommitdiffstats
path: root/kscreensaver/kdesavers/lines.h
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commit8b2aa1b5301ab60368a03e36df4ff5216726e87d (patch)
tree36163d4ee667c23b5cf232df2f3004cd0a76202a /kscreensaver/kdesavers/lines.h
downloadtdeartwork-8b2aa1b5301ab60368a03e36df4ff5216726e87d.tar.gz
tdeartwork-8b2aa1b5301ab60368a03e36df4ff5216726e87d.zip
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/kdeartwork@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kscreensaver/kdesavers/lines.h')
-rw-r--r--kscreensaver/kdesavers/lines.h96
1 files changed, 96 insertions, 0 deletions
diff --git a/kscreensaver/kdesavers/lines.h b/kscreensaver/kdesavers/lines.h
new file mode 100644
index 00000000..d3f1062c
--- /dev/null
+++ b/kscreensaver/kdesavers/lines.h
@@ -0,0 +1,96 @@
+//-----------------------------------------------------------------------------
+//
+// klines 0.1.1 - Basic screen saver for KDE
+// by Dirk Staneker 1997
+// based on kpolygon 0.3 by Martin R. Jones 1996
+//
+
+#ifndef __LINES_H__
+#define __LINES_H__
+
+#include <qtimer.h>
+#include <qptrlist.h>
+
+#include <kdialogbase.h>
+#include <krandomsequence.h>
+#include <kscreensaver.h>
+
+class KColorButton;
+
+class Lines{
+ private:
+ struct Ln{
+ Ln* next;
+ int x1, y1, x2, y2;
+ };
+ Ln *start, *end, *akt;
+ int offx1, offy1, offx2, offy2;
+ uint numLn;
+ public:
+ Lines(int);
+ ~Lines();
+ inline void reset();
+ inline void getKoord(int&, int&, int&, int&);
+ inline void setKoord(const int&, const int&, const int&, const int&);
+ inline void next(void);
+ void turn(const int&, const int&);
+};
+
+class kLinesSaver:public KScreenSaver{
+ Q_OBJECT
+ public:
+ kLinesSaver( WId id );
+ virtual ~kLinesSaver();
+
+ void setLines(int len);
+ void setSpeed(int spd);
+ void setColor(const QColor&, const QColor&, const QColor&);
+
+ private:
+ void readSettings();
+ void blank();
+ void initialiseLines();
+ void initialiseColor();
+
+ protected slots:
+ void slotTimeout();
+
+ protected:
+ KRandomSequence rnd;
+ QTimer timer;
+ unsigned numLines;
+ int colorContext, speed;
+ QColor colors[64];
+ QColor colstart, colmid, colend;
+ double colscale;
+ Lines* lines;
+};
+
+class kLinesSetup : public KDialogBase{
+ Q_OBJECT
+ public:
+ kLinesSetup(QWidget *parent=NULL, const char *name=NULL);
+ ~kLinesSetup();
+
+ protected:
+ void readSettings();
+
+ private slots:
+ void slotLength(int);
+ void slotSpeed(int);
+ void slotColstart(const QColor &);
+ void slotColmid(const QColor &);
+ void slotColend(const QColor &);
+ void slotOk();
+ void slotHelp();
+
+ private:
+ KColorButton *colorPush0, *colorPush1, *colorPush2;
+ QWidget *preview;
+ kLinesSaver *saver;
+ int length, speed;
+ QColor colstart, colmid, colend;
+};
+
+#endif
+