diff options
Diffstat (limited to 'libsowatch/metawatchpaintengine.cpp')
-rw-r--r-- | libsowatch/metawatchpaintengine.cpp | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/libsowatch/metawatchpaintengine.cpp b/libsowatch/metawatchpaintengine.cpp deleted file mode 100644 index 71ad452..0000000 --- a/libsowatch/metawatchpaintengine.cpp +++ /dev/null @@ -1,82 +0,0 @@ -#include "metawatch.h" -#include "metawatchpaintengine.h" - -using namespace sowatch; - -MetaWatchPaintEngine::MetaWatchPaintEngine(MetaWatch* watch, QImage* image) : - WatchPaintEngine(watch, image), _watch(watch), - _imageRect(image->rect()) -{ -} - -void MetaWatchPaintEngine::drawRects(const QRectF *rects, int rectCount) -{ - int i; - for (i = 0; i < rectCount; i++) { - const QRectF& r = rects[i]; - if (_hasBrush && fillsEntireImage(r.toRect()) && (_isBrushBlack | _isBrushWhite)) { - _watch->clear(_isBrushWhite); - _damaged = QRegion(); - continue; - } - if (_hasBrush) { - damageRect(r); - } - if (_hasPen) { - damagePenStroke(QLineF(r.left(), r.top(), r.right(), r.top())); - damagePenStroke(QLineF(r.right(), r.top(), r.right(), r.bottom())); - damagePenStroke(QLineF(r.left(), r.bottom(), r.right(), r.bottom())); - damagePenStroke(QLineF(r.left(), r.top(), r.left(), r.bottom())); - } - } - _painter.drawRects(rects, rectCount); -} - -void MetaWatchPaintEngine::drawRects(const QRect *rects, int rectCount) -{ - int i; - for (i = 0; i < rectCount; i++) { - const QRect& r = rects[i]; - if (_hasBrush && fillsEntireImage(r) && (_isBrushBlack | _isBrushWhite)) { - _watch->clear(_isBrushWhite); - _damaged = QRegion(); - continue; - } - if (_hasBrush) { - damageRect(r); - } - if (_hasPen) { - damagePenStroke(QLine(r.left(), r.top(), r.right(), r.top())); - damagePenStroke(QLine(r.right(), r.top(), r.right(), r.bottom())); - damagePenStroke(QLine(r.left(), r.bottom(), r.right(), r.bottom())); - damagePenStroke(QLine(r.left(), r.top(), r.left(), r.bottom())); - } - } - - _painter.drawRects(rects, rectCount); -} - -void MetaWatchPaintEngine::updateState(const QPaintEngineState &state) -{ - WatchPaintEngine::updateState(state); - if (state.state() & QPaintEngine::DirtyBrush) { - QBrush brush = state.brush(); - _isBrushBlack = false; - _isBrushWhite = false; - if (brush.style() == Qt::SolidPattern) { - const QColor color = brush.color(); - if (color == Qt::black) { - _isBrushBlack = true; - } else if (color == Qt::white) { - _isBrushWhite = true; - } - } - } -} - -bool MetaWatchPaintEngine::fillsEntireImage(const QRect& rect) -{ - return rect == _imageRect && - (!_clipEnabled || - (_clipRegion.numRects() == 1 && _clipRegion.rects().at(0) == _imageRect)); -} |