custom buttons
[colorflood] / colorflood / src / colorbutton.cpp
diff --git a/colorflood/src/colorbutton.cpp b/colorflood/src/colorbutton.cpp
new file mode 100644 (file)
index 0000000..81a69fd
--- /dev/null
@@ -0,0 +1,34 @@
+/*
+  Copyright 2010 Serge Ziryukin <ftrvxmtrx@gmail.com>
+
+  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; version 2 of the License.
+
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+*/
+
+#include <QPainter>
+#include "colorbutton.hpp"
+#include "colorscheme.hpp"
+
+ColorButton::ColorButton (QWidget *parent, int brush)
+    : QPushButton(parent),
+      brush(brush)
+{
+    setFixedSize(64, 64);
+}
+
+void ColorButton::paintEvent (QPaintEvent * /* event */)
+{
+    QPainter painter;
+    painter.begin(this);
+
+    const QVector<QBrush> &scheme = ColorScheme::instance().getScheme();
+    painter.fillRect(0, 0, 64, 64, scheme.at(brush));
+
+    painter.end();
+}