tru7
tru7

Reputation: 7212

Qt, Set an exclusive clipping region

In Qt you can set a clipping region for a QPainter with modes ReplaceClip or IntesectClip but I miss an "ExcludeClip". How would you draw (filling) a "donut" (a circle with a transparent hole) without reverting to intermediate QPixmaps?

Upvotes: 2

Views: 1804

Answers (1)

tru7
tru7

Reputation: 7212

Found a solution operating with regions:

QRegion rg1(outerRect,QRegion::Ellipse);
QRegion rg2(innerRect,QRegion::Ellipse);
QRegion rg3=rg1.subtracted(rg2);

painter->setClipRegion(rg3);

Upvotes: 4

Related Questions