summaryrefslogtreecommitdiffstats
path: root/kasteroids/ledmeter.h
diff options
context:
space:
mode:
Diffstat (limited to 'kasteroids/ledmeter.h')
-rw-r--r--kasteroids/ledmeter.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/kasteroids/ledmeter.h b/kasteroids/ledmeter.h
new file mode 100644
index 00000000..ea9b7e96
--- /dev/null
+++ b/kasteroids/ledmeter.h
@@ -0,0 +1,54 @@
+/*
+ * KAsteroids - Copyright (c) Martin R. Jones 1997
+ *
+ * Part of the KDE project
+ */
+
+#ifndef __LEDMETER_H__
+#define __LEDMETER_H__
+
+#include <qframe.h>
+#include <qptrlist.h>
+
+
+class KALedMeter : public QFrame
+{
+ Q_OBJECT
+public:
+ KALedMeter( QWidget *parent );
+
+ int range() const { return mRange; }
+ void setRange( int r );
+
+ int count() const { return mCount; }
+ void setCount( int c );
+
+ int value () const { return mValue; }
+
+ void addColorRange( int pc, const QColor &c );
+
+public slots:
+ void setValue( int v );
+
+protected:
+ virtual void resizeEvent( QResizeEvent * );
+ virtual void drawContents( QPainter * );
+ void calcColorRanges();
+
+protected:
+ struct ColorRange
+ {
+ int mPc;
+ int mValue;
+ QColor mColor;
+ };
+
+ int mRange;
+ int mCount;
+ int mCurrentCount;
+ int mValue;
+ QPtrList<ColorRange> mCRanges;
+};
+
+#endif
+