base class TransformAttributes extends AnimatedPropertyOwner {
Offset? origin;
AlignmentGeometry? alignment;
bool transformHitTests;
FilterQuality? filterQuality;
String type;
TransformAttributes({
required this.type,
this.origin,
this.alignment,
this.transformHitTests = true,
this.filterQuality,
required super.parentBuilderId,
required super.affectedProperties,
});
final class ScaleTransform extends TransformAttributes
implements DuitAttributes<ScaleTransform> {
double? scale, scaleX, scaleY;
ScaleTransform({
this.scale,
this.scaleX,
this.scaleY,
super.origin,
super.alignment,
super.transformHitTests,
super.filterQuality,
super.type = 'scale',
required super.parentBuilderId,
required super.affectedProperties,
});
final class TranslateTransform extends TransformAttributes
implements DuitAttributes<TranslateTransform> {
Offset? offset;
TranslateTransform({
this.offset,
super.origin,
super.alignment,
super.transformHitTests,
super.filterQuality,
super.type = 'translate',
required super.parentBuilderId,
required super.affectedProperties,
});
final class RotateTransform extends TransformAttributes
implements DuitAttributes<RotateTransform> {
double? angle;
RotateTransform({
this.angle,
super.origin,
super.alignment,
super.transformHitTests,
super.filterQuality,
super.type = 'rotate',
required super.parentBuilderId,
required super.affectedProperties,
});
final class FlipTransform extends TransformAttributes
implements DuitAttributes<FlipTransform> {
bool? flipX, flipY;
FlipTransform({
this.flipX,
this.flipY,
super.origin,
super.alignment,
super.transformHitTests,
super.filterQuality,
super.type = 'flip',
required super.parentBuilderId,
required super.affectedProperties,
});