You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
100 lines
1.6 KiB
100 lines
1.6 KiB
15 years ago
|
//-----------------------------------------------------------------------------
|
||
|
//
|
||
|
// 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
|
||
|
|