BoxBorder class abstract
Base class for box borders that can paint as rectangles, circles, or rounded rectangles.
This class is extended by Border and BorderDirectional to provide concrete versions of four-sided borders using different conventions for specifying the sides.
The only API difference that this class introduces over ShapeBorder is that its paint method takes additional arguments.
See also:
- BorderSide, which is used to describe each side of the box.
- RoundedRectangleBorder, another way of describing a box's border.
- CircleBorder, another way of describing a circle border.
- BoxDecoration, which uses a BoxBorder to describe its borders.
- Inheritance
-
- Object
- ShapeBorder
- BoxBorder
- Implementers
Constructors
- BoxBorder()
-
Abstract const constructor. This constructor enables subclasses to provide
const constructors so that they can be used in const expressions.
const
Properties
- bottom → BorderSide
-
The bottom side of this border.
no setter
- 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 setterinherited
- isUniform → bool
-
Whether all four sides of the border are identical. Uniform borders are
typically more efficient to paint.
no setter
- preferPaintInterior → bool
-
Reports whether paintInterior is implemented.
no setteroverride
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- top → BorderSide
-
The top side of this border.
no setter
Methods
-
add(
ShapeBorder other, {bool reversed = false}) → BoxBorder? -
Attempts to create a new object that represents the amalgamation of
this
border and theother
border.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
.inherited -
lerpTo(
ShapeBorder? b, double t) → ShapeBorder? -
Linearly interpolates from
this
to another ShapeBorder (possibly of another class).inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
paint(
Canvas canvas, Rect rect, {TextDirection? textDirection, BoxShape shape = BoxShape.rectangle, BorderRadius? borderRadius}) → 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
.inherited -
toString(
) → String -
A string representation of this object.
inherited
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.
inherited
Static Methods
-
lerp(
BoxBorder? a, BoxBorder? b, double t) → BoxBorder? -
Linearly interpolate between two borders.
override
-
paintNonUniformBorder(
Canvas canvas, Rect rect, {required BorderRadius? borderRadius, required TextDirection? textDirection, BoxShape shape = BoxShape.rectangle, BorderSide top = BorderSide.none, BorderSide right = BorderSide.none, BorderSide bottom = BorderSide.none, BorderSide left = BorderSide.none, required Color color}) → void - Paints a Border with different widths, styles and strokeAligns, on any borderRadius while using a single color.