summaryrefslogtreecommitdiff
path: root/metawatchpaintengine.h
diff options
context:
space:
mode:
Diffstat (limited to 'metawatchpaintengine.h')
-rw-r--r--metawatchpaintengine.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/metawatchpaintengine.h b/metawatchpaintengine.h
new file mode 100644
index 0000000..7c76beb
--- /dev/null
+++ b/metawatchpaintengine.h
@@ -0,0 +1,32 @@
+#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:
+ MetaWatch* _watch;
+ QRect _imageRect;
+ bool _isBrushBlack;
+ bool _isBrushWhite;
+};
+
+}
+
+#endif // METAWATCHPAINTENGINE_H