ShapeDecoration class
An immutable description of how to paint an arbitrary shape.
The ShapeDecoration class provides a way to draw a ShapeBorder, optionally filling it with a color or a gradient, optionally painting an image into it, and optionally casting a shadow.
The following example uses the Container widget from the widgets layer to
draw a white rectangle with a 24-pixel multicolor outline, with the text
"RGB" inside it:
    Container(
  decoration: ShapeDecoration(
    color: Colors.white,
    shape: Border.all(
      color: Colors.red,
      width: 8.0,
    ) + Border.all(
      color: Colors.green,
      width: 8.0,
    ) + Border.all(
      color: Colors.blue,
      width: 8.0,
    ),
  ),
  child: const Text('RGB', textAlign: TextAlign.center),
)See also:
- DecoratedBox and Container, widgets that can be configured with ShapeDecoration objects.
- BoxDecoration, a similar Decoration that is optimized for rectangles specifically.
- ShapeBorder, the base class for the objects that are used in the shape property.
- Inheritance
- Object
- Diagnosticable
- Decoration
- ShapeDecoration
 
Constructors
- 
          ShapeDecoration({Color color,  DecorationImage image,  Gradient gradient,  List<BoxShadow> shadows, @required ShapeBorder shape }) 
- 
          Creates a shape decoration. [...]
          const
- ShapeDecoration.fromBoxDecoration(BoxDecoration source)
- 
          Creates a shape decoration configured to match a BoxDecoration. [...]
          factory
Properties
- color → Color
- 
          The color to fill in the background of the shape. [...]
          final
- gradient → Gradient
- 
          A gradient to use when filling the shape. [...]
          final
- hashCode → int
- 
          The hash code for this object. [...]
          read-only, override
- image → DecorationImage
- 
          An image to paint inside the shape (clipped to its outline). [...]
          final
- isComplex → bool
- 
          Whether this decoration is complex enough to benefit from caching its painting.
          read-only, override
- padding → EdgeInsets
- 
          The inset space occupied by the shape's border. [...]
          read-only, override
- 
          shadows
          → List<BoxShadow> 
- 
          A list of shadows cast by this shape behind the shape.
          final
- shape → ShapeBorder
- 
          The shape to fill the color, gradient, and image into and to cast as
the shadows. [...]
          final
- runtimeType → Type
- 
          A representation of the runtime type of the object.
          read-only, inherited
Methods
- 
          createBoxPainter([VoidCallback onChanged ]) → _ShapeDecorationPainter 
- 
          Returns a BoxPainter that will paint this decoration. [...]
          override
- 
          debugFillProperties(DiagnosticPropertiesBuilder properties) → void 
- 
          Add additional properties associated with the node. [...]
          override
- 
          hitTest(Size size, Offset position, { TextDirection textDirection }) → bool 
- 
          Tests whether the given point, on a rectangle of a given size,
would be considered to hit the decoration or not. For example,
if the decoration only draws a circle, this function might
return true if the point was inside the circle and false
otherwise. [...]
          override
- 
          lerpFrom(Decoration a, double t) → ShapeDecoration 
- 
          Linearly interpolates from another Decoration (which may be of a
different class) to this. [...]override
- 
          lerpTo(Decoration b, double t) → ShapeDecoration 
- 
          Linearly interpolates from thisto another Decoration (which may be of a different class). [...]override
- 
          debugAssertIsValid() → bool 
- 
          In checked mode, throws an exception if the object is not in a
valid configuration. Otherwise, returns true. [...]
          inherited
- 
          noSuchMethod(Invocation invocation) → dynamic 
- 
          Invoked when a non-existent method or property is accessed. [...]
          inherited
- 
          toDiagnosticsNode({String name, DiagnosticsTreeStyle style }) → DiagnosticsNode 
- 
          Returns a debug representation of the object that is used by debugging
tools and by toStringDeep. [...]inherited
- 
          toString({DiagnosticLevel minLevel: DiagnosticLevel.debug }) → String 
- 
          Returns a string representation of this object.
          inherited
- 
          toStringShort() → String 
- 
          A brief description of this object, usually just the runtimeType and the
hashCode. [...]
          inherited
Operators
- 
          operator ==(dynamic other) → bool 
- 
          The equality operator. [...]
          override
Static Methods
- 
          lerp(ShapeDecoration a, ShapeDecoration b, double t) → ShapeDecoration 
- 
          Linearly interpolate between two shapes. [...]
          override