Hi GLM,
you can use a Views::FillPath to render your Graphics::Path with rounded corners.
Preparing the Path may look like this:
// Update the shape
var point size = Bounds.size;
var int32 edges = 40;
var int32 radius = 10;
var int32 padding = 4;
if ( size.x < padding || size.y < padding )
padding = 0;
if ( radius > (size.y - padding) / 2 )
radius = (size.y - padding) / 2;
if ( radius > (size.x - padding) / 2 )
radius = (size.x - padding) / 2;
Path.InitSubPath( 0, edges );
Path.Begin( 0, padding, padding + radius );
Path.AddArc( 0, padding + radius, padding + radius, radius, radius, 180.0, 270.0, edges / 5 );
Path.AddLine( 0, size.x - radius - padding, padding );
Path.AddArc( 0, size.x - padding - radius, padding + radius, radius, radius, 270.0, 360.0, edges / 5 );
Path.AddLine( 0, size.x - padding, size.y - radius - padding );
Path.AddArc( 0, size.x - padding - radius, size.y - padding - radius, radius, radius, 0.0, 90.0, edges / 5 );
Path.AddLine( 0, padding + radius, size.y - padding );
Path.AddArc( 0, padding + radius, size.y - padding - radius, radius, radius, 90.0, 180.0, edges / 5 );
Path.Close( 0 );
InvalidateViewState();
Regards,
Rudolf