summaryrefslogtreecommitdiff
path: root/libsowatch/metawatchpaintengine.h
diff options
context:
space:
mode:
authorJavier S. Pedro <maemo@javispedro.com>2011-09-17 03:03:23 +0200
committerJavier S. Pedro <maemo@javispedro.com>2011-09-17 03:03:23 +0200
commit3a755f46d9cf6e3650d40a960d0d0db8c1ad9fa1 (patch)
treef330f63caec08b6626c808b5ae70c64cab0246a6 /libsowatch/metawatchpaintengine.h
parent0dca79a8c15b76ca53617c0ed3396ab6435f0152 (diff)
downloadsowatch-3a755f46d9cf6e3650d40a960d0d0db8c1ad9fa1.tar.gz
sowatch-3a755f46d9cf6e3650d40a960d0d0db8c1ad9fa1.zip
preparing for library package
Diffstat (limited to 'libsowatch/metawatchpaintengine.h')
-rw-r--r--libsowatch/metawatchpaintengine.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/libsowatch/metawatchpaintengine.h b/libsowatch/metawatchpaintengine.h
new file mode 100644
index 0000000..efc3d6e
--- /dev/null
+++ b/libsowatch/metawatchpaintengine.h
@@ -0,0 +1,34 @@
+#ifndef METAWATCHPAINTENGINE_H
+#define METAWATCHPAINTENGINE_H
+
+#include <QtCore/QRect>
+#include "watchpaintengine.h"
+
+namespace sowatch
+{
+
+class MetaWatch;
+
+/** This WatchPaintEngine accelerates fillRects by using the MetaWatch's template command. */
+class MetaWatchPaintEngine : public WatchPaintEngine
+{
+public:
+ explicit MetaWatchPaintEngine(MetaWatch* watch, QImage* image);
+
+ void drawRects(const QRectF *rects, int rectCount);
+ void drawRects(const QRect *rects, int rectCount);
+
+ void updateState(const QPaintEngineState &state);
+
+protected:
+ bool fillsEntireImage(const QRect& rect);
+
+ MetaWatch* _watch;
+ QRect _imageRect;
+ bool _isBrushBlack;
+ bool _isBrushWhite;
+};
+
+}
+
+#endif // METAWATCHPAINTENGINE_H