summaryrefslogtreecommitdiffstats
path: root/blinken/src/counter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'blinken/src/counter.cpp')
-rw-r--r--blinken/src/counter.cpp57
1 files changed, 57 insertions, 0 deletions
diff --git a/blinken/src/counter.cpp b/blinken/src/counter.cpp
new file mode 100644
index 00000000..6d5ec217
--- /dev/null
+++ b/blinken/src/counter.cpp
@@ -0,0 +1,57 @@
+/***************************************************************************
+ * Copyright (C) 2005 by Albert Astals Cid <tsdgeos@terra.es> *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ ***************************************************************************/
+
+#include <qcolor.h>
+#include <qpainter.h>
+
+#include "counter.h"
+#include "number.h"
+
+void counter::paint(QPainter &p, bool drawScore, int score, bool drawTimer, const QColor &c1, const QColor &c2, const QColor &c3)
+{
+ p.save();
+ p.translate(45, 15);
+ p.setPen(QPen(Qt::black, 3));
+ p.setBrush(QColor(40, 40, 40));
+ if (drawTimer)
+ {
+ p.fillRect(-44, -13, 98, 48, p.brush());
+ p.drawRoundRect(-45, -15, 100, 50, 15, 15);
+ }
+ else
+ {
+ p.fillRect(-44, -13, 70, 48, p.brush());
+ p.drawRoundRect(-45, -15, 73, 50, 15, 15);
+ }
+
+ if (drawScore)
+ {
+ number n(score);
+ n.paint(p, 2);
+ }
+
+ if (drawTimer)
+ {
+ p.fillRect(35, -6, 11, 9, c1);
+ p.fillRect(35, 6, 11, 9, c2);
+ p.fillRect(35, 18, 11, 9, c3);
+ }
+ p.restore();
+}
+
+int counter::width(bool drawTimer)
+{
+ if (drawTimer) return 100;
+ else return 73;
+}
+
+int counter::height()
+{
+ return 50;
+}