Flood.GUI.Controls.Label.Layout C# (CSharp) Method

Layout() protected method

Lays out the control's interior according to alignment, padding, dock etc.
protected Layout ( Skins skin ) : void
skin Skins Skin to use.
return void
        protected override void Layout(Skins.Skin skin)
        {
            base.Layout(skin);

            Pos align = m_Align;

            if (m_AutoSizeToContents)
                SizeToContents();

            int x = m_TextPadding.Left + Padding.Left;
            int y = m_TextPadding.Top + Padding.Top;

            if (0 != (align & Pos.Right))
                x = Width - m_Text.Width - m_TextPadding.Right - Padding.Right;
            if (0 != (align & Pos.CenterH))
                x = (int)((m_TextPadding.Left + Padding.Left) + ((Width - m_Text.Width - m_TextPadding.Left - Padding.Left - m_TextPadding.Right - Padding.Right) * 0.5f));

            if (0 != (align & Pos.CenterV))
                y = (int)((m_TextPadding.Top + Padding.Top) + ((Height - m_Text.Height) * 0.5f) - m_TextPadding.Bottom - Padding.Bottom);
            if (0 != (align & Pos.Bottom))
                y = Height - m_Text.Height - m_TextPadding.Bottom - Padding.Bottom;

            m_Text.SetPosition(x, y);
        }