protected virtual RectangleF OnStringRectUpdate(RectangleF newRect)
        {
            if (IsShadowed)
            {
                // TODO: fix ambiguity error in monogameframework resulting in a unnecessary cast
                newRect.Position -= ShadowSpacing.ToOffsetPosition(GlobalScale);
            }

            newRect.X += GetTextOffsetX();

            return(newRect);
        }
        protected virtual RectangleF OnBoundaryUpdate(RectangleF newRect)
        {
            if (IsShadowed)
            {
                newRect += ShadowSpacing.ToOffsetRectangle(GlobalScale);
            }

            float textOffset = GetTextOffsetX();

            newRect.X     -= textOffset;
            newRect.Width += textOffset * 2;

            return(newRect);
        }