diff --git a/support/SkinnyShapeFactory.cpp b/support/SkinnyShapeFactory.cpp index e892aeba..de9fcbfc 100644 --- a/support/SkinnyShapeFactory.cpp +++ b/support/SkinnyShapeFactory.cpp @@ -150,6 +150,23 @@ QPainterPath SkinnyShapeFactory::shapePath( Shape shape, const QSizeF& size ) path.addPolygon( hexagon ); break; } + case Arc: + { + path.arcMoveTo( rect, -60 ); + path.arcTo( rect, -60, 300 ); + + const double w = 0.25 * rect.width(); + const auto r = rect.adjusted( w, w, -w, -w ); + + QPainterPath innerPath; + + innerPath.arcMoveTo( r, 240 ); + innerPath.arcTo( r, 240, -300 ); + + path.connectPath( innerPath ); + + break; + } default: return QPainterPath(); diff --git a/support/SkinnyShapeFactory.h b/support/SkinnyShapeFactory.h index 42794218..19b940d5 100644 --- a/support/SkinnyShapeFactory.h +++ b/support/SkinnyShapeFactory.h @@ -25,6 +25,7 @@ namespace SkinnyShapeFactory Ring, Star, Hexagon, + Arc, ShapeCount };