add centering and focus capabilities

This commit is contained in:
2025-07-06 03:53:18 +00:00
parent b18ef006af
commit 10bb69a15f
8 changed files with 224 additions and 46 deletions
+19
View File
@@ -8,10 +8,29 @@ extension OffsetCartesionOps on Offset {
return dx * dx + dy * dy;
}
Offset operator +(Offset other) {
return Offset(dx + other.dx, dy + other.dy);
}
Offset operator -(Offset other) {
return Offset(dx - other.dx, dy - other.dy);
}
Offset operator *(double scalar) {
return Offset(dx * scalar, dy * scalar);
}
Offset makeAtleast(double value) {
return Offset(dx < value ? value : dx, dy < value ? value : dy);
}
Offset operator /(double scalar) {
if (scalar == 0) {
throw ArgumentError('Division by zero is not allowed.');
}
return Offset(dx / scalar, dy / scalar);
}
Point toPoint() {
return Point(dx, dy);
}