RotatedWidget class
A widget that rotates its child by a specified angle while filling the available space.
The RotatedWidget automatically calculates the optimal child size based on the rotation angle, then applies rotation and scaling transformations to ensure the rotated child completely fills the viewport without gaps or overflow.
At 0° or 180°, the child matches the viewport dimensions. At 90° or 270°, the child's width and height are swapped. At intermediate angles (e.g., 45°), the child is sized smaller and then scaled up after rotation to fill the viewport.
The rotation is performed around the center of the child widget.
Example:
// Wrap a widget in a fixed-size container and rotate it
SizedBox(
width: 400,
height: 200,
child: RotatedWidget(
angle: pi / 4, // 45 degrees
filterQuality: FilterQuality.medium,
child: Container(
color: Colors.blue,
child: Center(child: Text('Rotated')),
),
),
)
See also:
- Transform.rotate, which provides basic rotation without automatic sizing.
- RotatedBox, which rotates in 90-degree increments.
- Inheritance
- Available extensions
Constructors
- RotatedWidget({Key? key, required double angle, FilterQuality? filterQuality, required Widget? child})
-
Creates a widget that rotates its child.
const
Properties
- angle → double
-
The angle of rotation in radians.
final
- asAbsoluteItem → Widget
-
Available on Widget, provided by the WidgetExtension extension
Explicitly wraps this widget as an AbsoluteItem.no setter - asFlexItem → Widget
-
Available on Widget, provided by the WidgetExtension extension
Explicitly wraps this widget as a FlexItem.no setter - child → Widget?
-
The widget below this widget in the tree.
finalinherited
- filterQuality → FilterQuality?
-
The quality of the image filtering applied during rotation.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
aspectRatio(
double aspectRatio, [Key? key]) → Widget -
Available on Widget, provided by the WidgetExtension extension
Sets the aspect ratio constraint for this widget. -
bottom(
PositionUnit bottom, [Key? key]) → Widget -
Available on Widget, provided by the WidgetExtension extension
Sets the distance from the bottom edge of the parent container. -
constrained(
{SizeUnit? minWidth, SizeUnit? maxWidth, SizeUnit? minHeight, SizeUnit? maxHeight, Key? key}) → Widget -
Available on Widget, provided by the WidgetExtension extension
Sets comprehensive size constraints including both minimum and maximum bounds. -
createElement(
) → SingleChildRenderObjectElement -
RenderObjectWidgets always inflate to a RenderObjectElement subclass.
inherited
-
createRenderObject(
BuildContext context) → RenderObject -
Creates an instance of the RenderObject class that this
RenderObjectWidget represents, using the configuration described by this
RenderObjectWidget.
override
-
debugDescribeChildren(
) → List< DiagnosticsNode> -
Returns a list of DiagnosticsNode objects describing this node's
children.
inherited
-
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node.
override
-
didUnmountRenderObject(
covariant RenderObject renderObject) → void -
This method is called when a RenderObject that was previously
associated with this widget is removed from the render tree.
The provided RenderObject will be of the same type as the one created by
this widget's createRenderObject method.
inherited
-
flexGrow(
double flexGrow, [Key? key]) → Widget -
Available on Widget, provided by the WidgetExtension extension
Sets the flex grow factor for this widget within a flex container. -
flexShrink(
double flexShrink, [Key? key]) → Widget -
Available on Widget, provided by the WidgetExtension extension
Sets the flex shrink factor for this widget within a flex container. -
height(
SizeUnit height, [Key? key]) → Widget -
Available on Widget, provided by the WidgetExtension extension
Sets the height of this widget using a SizeUnit. -
id(
Object valueKey) → Widget -
Available on Widget, provided by the WidgetExtension extension
Assigns a ValueKey to this widget using the provided value. -
key(
Key key) → Widget -
Available on Widget, provided by the WidgetExtension extension
Assigns a Key to this widget. -
left(
PositionUnit left, [Key? key]) → Widget -
Available on Widget, provided by the WidgetExtension extension
Sets the distance from the left edge of the parent container. -
maxHeight(
SizeUnit maxHeight, [Key? key]) → Widget -
Available on Widget, provided by the WidgetExtension extension
Sets the maximum height constraint for this widget using a SizeUnit. -
maxSized(
{SizeUnit? maxWidth, SizeUnit? maxHeight, Key? key}) → Widget -
Available on Widget, provided by the WidgetExtension extension
Sets maximum width and height constraints simultaneously. -
maxWidth(
SizeUnit maxWidth, [Key? key]) → Widget -
Available on Widget, provided by the WidgetExtension extension
Sets the maximum width constraint for this widget using a SizeUnit. -
minHeight(
SizeUnit minHeight, [Key? key]) → Widget -
Available on Widget, provided by the WidgetExtension extension
Sets the minimum height constraint for this widget using a SizeUnit. -
minSized(
{SizeUnit? minWidth, SizeUnit? minHeight, Key? key}) → Widget -
Available on Widget, provided by the WidgetExtension extension
Sets minimum width and height constraints simultaneously. -
minWidth(
SizeUnit minWidth, [Key? key]) → Widget -
Available on Widget, provided by the WidgetExtension extension
Sets the minimum width constraint for this widget using a SizeUnit. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
paintOrder(
int paintOrder, [Key? key]) → Widget -
Available on Widget, provided by the WidgetExtension extension
Sets the paint order for this widget within its parent container. -
position(
PositionType position, [Key? key]) → Widget -
Available on Widget, provided by the WidgetExtension extension
Sets the position type for this widget to control positioning context. -
positioned(
{PositionUnit? top, PositionUnit? left, PositionUnit? bottom, PositionUnit? right, Key? key}) → Widget -
Available on Widget, provided by the WidgetExtension extension
Positions the widget using multiple edge offsets simultaneously. -
right(
PositionUnit right, [Key? key]) → Widget -
Available on Widget, provided by the WidgetExtension extension
Sets the distance from the right edge of the parent container. -
selfAligned(
BoxAlignmentGeometry alignSelf, [Key? key]) → Widget -
Available on Widget, provided by the WidgetExtension extension
Sets the alignment of this widget within its parent flex container. -
sized(
{SizeUnit? width, SizeUnit? height, Key? key}) → Widget -
Available on Widget, provided by the WidgetExtension extension
Sets both width and height dimensions simultaneously. -
toDiagnosticsNode(
{String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode -
Returns a debug representation of the object that is used by debugging
tools and by DiagnosticsNode.toStringDeep.
inherited
-
top(
PositionUnit top, [Key? key]) → Widget -
Available on Widget, provided by the WidgetExtension extension
Sets the distance from the top edge of the parent container. -
toString(
{DiagnosticLevel minLevel = DiagnosticLevel.info}) → String -
A string representation of this object.
inherited
-
toStringDeep(
{String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String -
Returns a string representation of this node and its descendants.
inherited
-
toStringShallow(
{String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String -
Returns a one-line detailed description of the object.
inherited
-
toStringShort(
) → String -
A short, textual description of this widget.
inherited
-
updateRenderObject(
BuildContext context, covariant RenderRotatedWidget renderObject) → void -
Copies the configuration described by this RenderObjectWidget to the
given RenderObject, which will be of the same type as returned by this
object's createRenderObject.
override
-
width(
SizeUnit width, [Key? key]) → Widget -
Available on Widget, provided by the WidgetExtension extension
Sets the width of this widget using a SizeUnit.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited