private static float GetHAlignNormalizedOffset(Align.Horizontal _align) { switch (_align) { case Align.Horizontal.Left: return(0); case Align.Horizontal.Center: return(-0.5f); case Align.Horizontal.Right: return(-1); default: throw new Exception($"Unexpected HorizontalAlign type {_align}"); } }
public void SetHorizontalAlign(Align.Horizontal _halign) => X = W * GetHAlignNormalizedOffset(_halign);
public void UpdateSize(float _w, float _h, Align.Horizontal _halign, Align.Vertical _valign) { UpdateWidth(_w, _halign); UpdateHeight(_h, _valign); }
public void UpdateWidth(float _w, Align.Horizontal _halign) { W = _w; SetHorizontalAlign(_halign); }
public BoundingBox(float _w, float _h, Align.Horizontal _halign = Align.Horizontal.Center, Align.Vertical _valign = Align.Vertical.Middle) : this(_w * GetHAlignNormalizedOffset(_halign), _h *GetVAlignNormalizedOffset(_valign), _w, _h) { }