shiftXToFitInside method
force ∈ 0, 1: how much to pull the rect back inside container.
0 = no movement, 1 = fully inside.
Implementation
Rect shiftXToFitInside(Rect container, {double force = 1}) {
assert(0 <= force && force <= 1);
return translate((getLimitedCenterXInside(container) - center.dx) * force, 0);
}