public void Setup(ITextContainer parent, Vector2 position)
        {
            float offset = 0;

            Position = new ElementPosition(parent.Position.Transform * Matrix.CreateTranslation(position.X, position.Y, 0));
            foreach (var element in Contents)
            {
                element.Setup(this, new Vector2(offset, 0));
                offset += element.Width;
            }
        }
        public void Setup(ITextContainer parent, Vector2 position)
        {
            Matrix matrix = parent?.Position.Transform ?? Matrix.Identity;

            Position = new ElementPosition(matrix * Matrix.CreateTranslation(position.X, position.Y, 0));
            float yOffset = 0;

            foreach (var element in Contents)
            {
                element.Setup(this, new Vector2(0, yOffset));
                yOffset += element.Height;
            }
        }
        public void Setup(ITextContainer parent, Vector2 position)
        {
            float offset      = 0;
            float alignOffset = 0;

            Position = new ElementPosition(parent.Position.Transform * Matrix.CreateTranslation(position.X + alignOffset, position.Y, 0));
            int i = 0;

            foreach (var element in Contents)
            {
                element.Setup(this, new Vector2(offset, 0));
                offset += element.Width + (i < Contents.Count - 1 ? ColumnConfigs.Padding : 0);
                i++;
            }
        }
 public void Setup(ITextContainer parent, Vector2 position)
 {
     Position = new ElementPosition(parent.Position.Transform * Matrix.CreateTranslation(position.X, position.Y, 0));
 }