summaryrefslogtreecommitdiffstats
path: root/kscreensaver/kdesavers/kvm.h
diff options
context:
space:
mode:
Diffstat (limited to 'kscreensaver/kdesavers/kvm.h')
-rw-r--r--kscreensaver/kdesavers/kvm.h99
1 files changed, 99 insertions, 0 deletions
diff --git a/kscreensaver/kdesavers/kvm.h b/kscreensaver/kdesavers/kvm.h
new file mode 100644
index 00000000..44c7eeb3
--- /dev/null
+++ b/kscreensaver/kdesavers/kvm.h
@@ -0,0 +1,99 @@
+//-----------------------------------------------------------------------------
+//
+// kvm screensaver
+//
+
+#ifndef __KVM_H__
+#define __KVM_H__
+
+#include <qtimer.h>
+#include <qptrlist.h>
+
+#include <kdialogbase.h>
+#include <kscreensaver.h>
+
+extern "C" {
+#include "vm.h"
+#include "vm_random.h"
+}
+
+#define THREAD_MAX_STACK_SIZE 10
+#define MAX_THREADS_NUM 20
+
+#define MAX_REFRESH_TIMEOUT 40
+
+typedef struct {
+ QWidget *w;
+ int grid_width, grid_height;
+ int grid_margin_x;
+ int grid_margin_y;
+ int char_width, char_height;
+ bool insert_top_p, insert_bottom_p;
+ int density;
+ struct tvm_pool* pool;
+ char* modified;
+ int show_threads;
+
+ QPixmap images;
+ int image_width, image_height;
+ int nglyphs;
+
+} m_state;
+
+
+class kVmSaver : public KScreenSaver
+{
+ Q_OBJECT
+public:
+ kVmSaver( WId id );
+ virtual ~kVmSaver();
+
+ void setSpeed( int spd );
+ void setRefreshTimeout( const int refreshTimeout );
+
+protected:
+ void blank();
+ void readSettings();
+ int getRandom( const int max_value );
+ void modifyArea( const int op );
+
+protected slots:
+ void slotTimeout();
+
+protected:
+ QTimer timer;
+ int colorContext;
+
+ int speed;
+ m_state* pool_state;
+ int refreshStep;
+ int refreshTimeout;
+};
+
+
+class kVmSetup : public KDialogBase
+{
+ Q_OBJECT
+public:
+ kVmSetup( QWidget *parent = NULL, const char *name = NULL );
+ ~kVmSetup();
+protected:
+ void readSettings();
+
+private slots:
+ void slotSpeed( int );
+ void slotRefreshTimeout( int num );
+ void slotOk();
+ void slotHelp();
+
+private:
+ QWidget *preview;
+ kVmSaver *saver;
+
+ int speed;
+ int refreshTimeout;
+};
+
+
+#endif
+