FSO.Client.UI.Controls.UISlider.CalculateLayout C# (CSharp) Method

CalculateLayout() private method

private CalculateLayout ( ) : UISliderLayout
return UISliderLayout
        private UISliderLayout CalculateLayout()
        {
            if (Orientation == 0)
            {   //horizontal
                var trackWidth = (int)(((float)m_Texture.Width) * 0.75);
                var thumbSize = m_Texture.Width - trackWidth;
                var oneThird = (int)(trackWidth / 3);

                return new UISliderLayout
                {
                    TrackStartFrom = new Rectangle(0, 0, oneThird, m_Texture.Height),
                    TrackMiddleFrom = new Rectangle(oneThird, 0, oneThird, m_Texture.Height),
                    TrackEndFrom = new Rectangle(trackWidth - oneThird, 0, oneThird, m_Texture.Height),

                    TrackStartTo = LocalPoint(Vector2.Zero),
                    TrackMiddleTo = LocalPoint(new Vector2(oneThird, 0)),
                    TrackEndTo = LocalPoint(new Vector2(m_Width - oneThird, 0)),

                    TrackMiddleScale = _Scale * new Vector2((m_Width - (oneThird * 2)) / oneThird, 1),

                    ThumbFrom = new Rectangle(m_Texture.Width - thumbSize, 0, thumbSize, m_Texture.Height)
                };
            }
            else
            {   //vertical
                var trackHeight = (int)(((float)m_Texture.Height) * 0.75);
                var thumbSize = m_Texture.Height - trackHeight;
                var oneThird = (int)(trackHeight / 3);

                return new UISliderLayout
                {
                    TrackStartFrom = new Rectangle(0, 0, m_Texture.Width, oneThird),
                    TrackMiddleFrom = new Rectangle(0, oneThird, m_Texture.Width, oneThird),
                    TrackEndFrom = new Rectangle(0, trackHeight - oneThird, m_Texture.Width, oneThird),

                    TrackStartTo = LocalPoint(Vector2.Zero),
                    TrackMiddleTo = LocalPoint(new Vector2(0, oneThird)),
                    TrackEndTo = LocalPoint(new Vector2(0, m_Height - oneThird)),

                    TrackMiddleScale = _Scale * new Vector2(1, (m_Height - (oneThird * 2)) / oneThird),

                    ThumbFrom = new Rectangle(0, m_Texture.Height - thumbSize, m_Texture.Width, thumbSize)
                };
            }
        }