summaryrefslogtreecommitdiffstats
path: root/kscreensaver/xsavers/swarm.h
diff options
context:
space:
mode:
Diffstat (limited to 'kscreensaver/xsavers/swarm.h')
-rw-r--r--kscreensaver/xsavers/swarm.h65
1 files changed, 65 insertions, 0 deletions
diff --git a/kscreensaver/xsavers/swarm.h b/kscreensaver/xsavers/swarm.h
new file mode 100644
index 00000000..dd4b2f6d
--- /dev/null
+++ b/kscreensaver/xsavers/swarm.h
@@ -0,0 +1,65 @@
+//-----------------------------------------------------------------------------
+//
+// kswarm - port of "swarm" from xlock
+//
+
+#ifndef __SWARM_H__
+#define __SWARM_H__
+
+#include <qtimer.h>
+
+#include <kdialogbase.h>
+#include "saver.h"
+
+
+class kSwarmSaver : public kScreenSaver
+{
+ Q_OBJECT
+public:
+ kSwarmSaver( Drawable drawable );
+ virtual ~kSwarmSaver();
+
+ void setSpeed( int spd );
+ void setLevels( int l );
+
+protected:
+ void readSettings();
+
+protected slots:
+ void slotTimeout();
+
+protected:
+ KRandomSequence rnd;
+ QTimer timer;
+ int colorContext;
+
+ int speed;
+ int maxLevels;
+};
+
+class kSwarmSetup : public KDialogBase
+{
+ Q_OBJECT
+public:
+ kSwarmSetup( QWidget *parent = NULL, const char *name = NULL );
+
+protected:
+ void readSettings();
+
+private slots:
+ void slotSpeed( int );
+ void slotLevels( int );
+
+ void slotOk();
+ void slotHelp();
+
+private:
+ QWidget *preview;
+ kSwarmSaver *saver;
+
+ int speed;
+ int maxLevels;
+};
+
+#endif
+