BorderDirectional class

A border of a box, comprised of four sides, the lateral sides of which flip over based on the reading direction.

The lateral sides are called start and end. When painted in left-to-right environments, the start side will be painted on the left and the end side on the right; in right-to-left environments, it is the reverse. The other two sides are top and bottom.

The sides are represented by BorderSide objects.

If the start and end sides are the same, then it is slightly more efficient to use a Border object rather than a BorderDirectional object.

See also:

  • BoxDecoration, which uses this class to describe its edge decoration.
  • BorderSide, which is used to describe each side of the box.
  • Theme, from the material layer, which can be queried to obtain appropriate colors to use for borders in a material app, as shown in the "divider" sample above.
Inheritance

Constructors

BorderDirectional({BorderSide top: BorderSide.none, BorderSide start: BorderSide.none, BorderSide end: BorderSide.none, BorderSide bottom: BorderSide.none })
Creates a border. [...]
const

Properties

bottom BorderSide
The bottom side of this border.
final
dimensions EdgeInsetsGeometry
The widths of the sides of this border represented as an EdgeInsets. [...]
read-only, override
end BorderSide
The end side of this border. [...]
final
hashCode int
The hash code for this object. [...]
read-only, override
isUniform bool
Whether all four sides of the border are identical. Uniform borders are typically more efficient to paint. [...]
read-only, override
start BorderSide
The start side of this border. [...]
final
top BorderSide
The top side of this border. [...]
final
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited

Methods

add(ShapeBorder other, { bool reversed: false }) BoxBorder
Attempts to create a new object that represents the amalgamation of this border and the other 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
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
scale(double t) BorderDirectional
Creates a copy of this border, scaled by the factor t. [...]
override
toString() String
Returns a string representation of this object.
override
getInnerPath(Rect rect, { TextDirection textDirection }) Path
Create a Path that describes the inner edge of the border. [...]
inherited
getOuterPath(Rect rect, { TextDirection textDirection }) Path
Create a Path that describes the outer edge of the border. [...]
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
inherited

Operators

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

Static Methods

lerp(BorderDirectional a, BorderDirectional b, double t) BorderDirectional
Linearly interpolate between two borders. [...]
override
merge(BorderDirectional a, BorderDirectional b) BorderDirectional
Creates a BorderDirectional that represents the addition of the two given BorderDirectionals. [...]