UnityEditor.ZoomableArea.SliderGUI C# (CSharp) Method

SliderGUI() private method

private SliderGUI ( ) : void
return void
        private void SliderGUI()
        {
            if (this.m_HSlider || this.m_VSlider)
            {
                using (new EditorGUI.DisabledScope(!this.enableMouseInput))
                {
                    float num;
                    float num2;
                    Bounds drawingBounds = this.drawingBounds;
                    Rect shownAreaInsideMargins = this.shownAreaInsideMargins;
                    float num3 = this.styles.sliderWidth - this.styles.visualSliderWidth;
                    float num4 = (!this.vSlider || !this.hSlider) ? 0f : num3;
                    Vector2 scale = this.m_Scale;
                    if (this.m_HSlider)
                    {
                        Rect position = new Rect(this.drawRect.x + 1f, this.drawRect.yMax - num3, this.drawRect.width - num4, this.styles.sliderWidth);
                        float width = shownAreaInsideMargins.width;
                        float xMin = shownAreaInsideMargins.xMin;
                        if (this.m_EnableSliderZoom)
                        {
                            EditorGUIExt.MinMaxScroller(position, this.horizontalScrollbarID, ref xMin, ref width, drawingBounds.min.x, drawingBounds.max.x, float.NegativeInfinity, float.PositiveInfinity, this.styles.horizontalScrollbar, this.styles.horizontalMinMaxScrollbarThumb, this.styles.horizontalScrollbarLeftButton, this.styles.horizontalScrollbarRightButton, true);
                        }
                        else
                        {
                            xMin = GUI.Scroller(position, xMin, width, drawingBounds.min.x, drawingBounds.max.x, this.styles.horizontalScrollbar, this.styles.horizontalMinMaxScrollbarThumb, this.styles.horizontalScrollbarLeftButton, this.styles.horizontalScrollbarRightButton, true);
                        }
                        num = xMin;
                        num2 = xMin + width;
                        if (num > shownAreaInsideMargins.xMin)
                        {
                            num = Mathf.Min(num, num2 - (this.rect.width / this.m_HScaleMax));
                        }
                        if (num2 < shownAreaInsideMargins.xMax)
                        {
                            num2 = Mathf.Max(num2, num + (this.rect.width / this.m_HScaleMax));
                        }
                        this.SetShownHRangeInsideMargins(num, num2);
                    }
                    if (this.m_VSlider)
                    {
                        if (this.m_UpDirection == YDirection.Positive)
                        {
                            Rect rect8 = new Rect(this.drawRect.xMax - num3, this.drawRect.y, this.styles.sliderWidth, this.drawRect.height - num4);
                            float height = shownAreaInsideMargins.height;
                            float num8 = -shownAreaInsideMargins.yMax;
                            if (this.m_EnableSliderZoom)
                            {
                                EditorGUIExt.MinMaxScroller(rect8, this.verticalScrollbarID, ref num8, ref height, -drawingBounds.max.y, -drawingBounds.min.y, float.NegativeInfinity, float.PositiveInfinity, this.styles.verticalScrollbar, this.styles.verticalMinMaxScrollbarThumb, this.styles.verticalScrollbarUpButton, this.styles.verticalScrollbarDownButton, false);
                            }
                            else
                            {
                                num8 = GUI.Scroller(rect8, num8, height, -drawingBounds.max.y, -drawingBounds.min.y, this.styles.verticalScrollbar, this.styles.verticalMinMaxScrollbarThumb, this.styles.verticalScrollbarUpButton, this.styles.verticalScrollbarDownButton, false);
                            }
                            num = -(num8 + height);
                            num2 = -num8;
                            if (num > shownAreaInsideMargins.yMin)
                            {
                                num = Mathf.Min(num, num2 - (this.rect.height / this.m_VScaleMax));
                            }
                            if (num2 < shownAreaInsideMargins.yMax)
                            {
                                num2 = Mathf.Max(num2, num + (this.rect.height / this.m_VScaleMax));
                            }
                            this.SetShownVRangeInsideMargins(num, num2);
                        }
                        else
                        {
                            Rect rect14 = new Rect(this.drawRect.xMax - num3, this.drawRect.y, this.styles.sliderWidth, this.drawRect.height - num4);
                            float size = shownAreaInsideMargins.height;
                            float yMin = shownAreaInsideMargins.yMin;
                            if (this.m_EnableSliderZoom)
                            {
                                EditorGUIExt.MinMaxScroller(rect14, this.verticalScrollbarID, ref yMin, ref size, drawingBounds.min.y, drawingBounds.max.y, float.NegativeInfinity, float.PositiveInfinity, this.styles.verticalScrollbar, this.styles.verticalMinMaxScrollbarThumb, this.styles.verticalScrollbarUpButton, this.styles.verticalScrollbarDownButton, false);
                            }
                            else
                            {
                                yMin = GUI.Scroller(rect14, yMin, size, drawingBounds.min.y, drawingBounds.max.y, this.styles.verticalScrollbar, this.styles.verticalMinMaxScrollbarThumb, this.styles.verticalScrollbarUpButton, this.styles.verticalScrollbarDownButton, false);
                            }
                            num = yMin;
                            num2 = yMin + size;
                            if (num > shownAreaInsideMargins.yMin)
                            {
                                num = Mathf.Min(num, num2 - (this.rect.height / this.m_VScaleMax));
                            }
                            if (num2 < shownAreaInsideMargins.yMax)
                            {
                                num2 = Mathf.Max(num2, num + (this.rect.height / this.m_VScaleMax));
                            }
                            this.SetShownVRangeInsideMargins(num, num2);
                        }
                    }
                    if (this.uniformScale)
                    {
                        float num11 = this.drawRect.width / this.drawRect.height;
                        scale -= this.m_Scale;
                        Vector2 vector14 = new Vector2(-scale.y * num11, -scale.x / num11);
                        this.m_Scale -= vector14;
                        this.m_Translation.x -= scale.y / 2f;
                        this.m_Translation.y -= scale.x / 2f;
                        this.EnforceScaleAndRange();
                    }
                }
            }
        }