delete strokeHandler;
}
-
-void QPaintEngineExPrivate::replayClipOperations()
-{
- Q_Q(QPaintEngineEx);
-
- QPainter *p = q->painter();
- if (!p || !p->d_ptr)
- return;
-
- QList<QPainterClipInfo> clipInfo = p->d_ptr->state->clipInfo;
-
- QTransform transform = q->state()->matrix;
-
- for (int i = 0; i < clipInfo.size(); ++i) {
- const QPainterClipInfo &info = clipInfo.at(i);
-
- if (info.matrix != q->state()->matrix) {
- q->state()->matrix = info.matrix;
- q->transformChanged();
- }
-
- switch (info.clipType) {
- case QPainterClipInfo::RegionClip:
- q->clip(info.region, info.operation);
- break;
- case QPainterClipInfo::PathClip:
- q->clip(info.path, info.operation);
- break;
- case QPainterClipInfo::RectClip:
- q->clip(info.rect, info.operation);
- break;
- case QPainterClipInfo::RectFClip: {
- qreal right = info.rectf.x() + info.rectf.width();
- qreal bottom = info.rectf.y() + info.rectf.height();
- qreal pts[] = { info.rectf.x(), info.rectf.y(),
- right, info.rectf.y(),
- right, bottom,
- info.rectf.x(), bottom };
- QVectorPath vp(pts, 4, 0, QVectorPath::RectangleHint);
- q->clip(vp, info.operation);
- break;
- }
- }
- }
-
- if (transform != q->state()->matrix) {
- q->state()->matrix = transform;
- q->transformChanged();
- }
-}
-
-
-bool QPaintEngineExPrivate::hasClipOperations() const
-{
- Q_Q(const QPaintEngineEx);
-
- QPainter *p = q->painter();
- if (!p || !p->d_ptr)
- return false;
-
- QList<QPainterClipInfo> clipInfo = p->d_ptr->state->clipInfo;
-
- return !clipInfo.isEmpty();
-}
-
/*******************************************************************************
*
* class QPaintEngineEx: