CircleBorder class

A border that fits a circle within the available space.

Typically used with ShapeDecoration to draw a circle.

The dimensions assume that the border is being used in a square space. When applied to a rectangular space, the border paints in the center of the rectangle.

The eccentricity parameter describes how much a circle will deform to fit the rectangle it is a border for. A value of zero implies no deformation (a circle touching at least two sides of the rectangle), a value of one implies full deformation (an oval touching all sides of the rectangle).

See also:

  • OvalBorder, which draws a Circle touching all the edges of the box.
  • BorderSide, which is used to describe each side of the box.
  • Border, which, when used with BoxDecoration, can also describe a circle.
Inheritance
Implementers

Constructors

CircleBorder({BorderSide side = BorderSide.none, double eccentricity = 0.0})
Create a circle border.
const

Properties

dimensions EdgeInsetsGeometry
The widths of the sides of this border represented as an EdgeInsets.
no setterinherited
eccentricity double
Defines the ratio (0.0-1.0) from which the border will deform to fit a rectangle. When 0.0, it draws a circle touching at least two sides of the rectangle. When 1.0, it draws an oval touching all sides of the rectangle.
final
hashCode int
The hash code for this object.
no setteroverride
preferPaintInterior bool
Reports whether paintInterior is implemented.
no setteroverride
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
side BorderSide
The border outline's color and weight.
finalinherited

Methods

add(ShapeBorder other, {bool reversed = false}) ShapeBorder?
Attempts to create a new object that represents the amalgamation of this border and the other border.
inherited
copyWith({BorderSide? side, double? eccentricity}) CircleBorder
Returns a copy of this OutlinedBorder that draws its outline with the specified side, if side is non-null.
override
getInnerPath(Rect rect, {TextDirection? textDirection}) Path
Create a Path that describes the inner edge of the border.
override
getOuterPath(Rect rect, {TextDirection? textDirection}) Path
Create a Path that describes the outer edge of the border.
override
lerpFrom(ShapeBorder? a, double t) ShapeBorder?
Linearly interpolates from another ShapeBorder (possibly of another class) to this.
override
lerpTo(ShapeBorder? b, double t) ShapeBorder?
Linearly interpolates from this to another ShapeBorder (possibly of another class).
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
paint(Canvas canvas, Rect rect, {TextDirection? textDirection}) → void
Paints the border within the given Rect on the given Canvas.
override
paintInterior(Canvas canvas, Rect rect, Paint paint, {TextDirection? textDirection}) → void
Paint a canvas with the appropriate shape.
override
scale(double t) ShapeBorder
Creates a copy of this border, scaled by the factor t.
override
toString() String
A string representation of this object.
override

Operators

operator +(ShapeBorder other) ShapeBorder
Creates a new border consisting of the two borders on either side of the operator.
inherited
operator ==(Object other) bool
The equality operator.
override