MaterialShapeBorder class

A border that fits a material-shaped border within the rectangle of the widget it is applied to.

Typically used with a ShapeDecoration to draw a material-shaped border.

Lerping between two MaterialShapeBorders morphs one shape into the other. Lerping to or from another kind of ShapeBorder, such as a RoundedRectangleBorder, doesn't morph: the border switches from one to the other halfway through.

Inheritance

Constructors

MaterialShapeBorder({required RoundedPolygon shape, BorderSide side = BorderSide.none, double squash = 0.0})
Creates a MaterialShapeBorder.
const

Properties

dimensions → EdgeInsetsGeometry
The widths of the sides of this border represented as an EdgeInsets.
no setterinherited
hashCode → int
The hash code for this object.
no setteroverride
preferPaintInterior → bool
Reports whether paintInterior is implemented.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
shape → RoundedPolygon
The shape this border represents.
final
side → BorderSide
The border outline's color and weight.
finalinherited
squash → double
How much of the aspect ratio of the attached widget to take on.
final

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({RoundedPolygon? shape, BorderSide? side, double? squash}) → MaterialShapeBorder
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.
inherited
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