summaryrefslogtreecommitdiff
path: root/metawatch/metawatchpaintengine.h
diff options
context:
space:
mode:
authorJavier S. Pedro <maemo@javispedro.com>2011-09-17 03:58:13 +0200
committerJavier S. Pedro <maemo@javispedro.com>2011-09-17 03:58:13 +0200
commitf225345d4de3b198a557fe3566f9630163e76d51 (patch)
treecca7ba40e560226c138a1d4fc44b032f8fd6c808 /metawatch/metawatchpaintengine.h
parentb0771d893865ca249bbf191636fad593901cce03 (diff)
downloadsowatch-f225345d4de3b198a557fe3566f9630163e76d51.tar.gz
sowatch-f225345d4de3b198a557fe3566f9630163e76d51.zip
Putting MetaWatch stuff in a plugin
Diffstat (limited to 'metawatch/metawatchpaintengine.h')
-rw-r--r--metawatch/metawatchpaintengine.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/metawatch/metawatchpaintengine.h b/metawatch/metawatchpaintengine.h
new file mode 100644
index 0000000..efc3d6e
--- /dev/null
+++ b/metawatch/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