Пример #1
0
        internal void SetScrollViewMode(ScrollViewMode scrollViewMode)
        {
            RemoveFromClassList(verticalVariantUssClassName);
            RemoveFromClassList(horizontalVariantUssClassName);
            RemoveFromClassList(verticalHorizontalVariantUssClassName);
            RemoveFromClassList(scrollVariantUssClassName);

            switch (scrollViewMode)
            {
            case ScrollViewMode.Vertical:
                AddToClassList(verticalVariantUssClassName);
                AddToClassList(scrollVariantUssClassName);
                break;

            case ScrollViewMode.Horizontal:
                AddToClassList(horizontalVariantUssClassName);
                AddToClassList(scrollVariantUssClassName);
                break;

            case ScrollViewMode.VerticalAndHorizontal:
                AddToClassList(scrollVariantUssClassName);
                AddToClassList(verticalHorizontalVariantUssClassName);
                break;
            }
        }
Пример #2
0
        public ScrollView(ScrollViewMode scrollViewMode)
        {
            AddToClassList(ussClassName);
            AddToClassList(scrollVariantUssClassName);

            contentViewport = new VisualElement()
            {
                name = "unity-content-viewport"
            };
            contentViewport.AddToClassList(viewportUssClassName);
            contentViewport.RegisterCallback <GeometryChangedEvent>(OnGeometryChanged);
            contentViewport.RegisterCallback <AttachToPanelEvent>(OnAttachToPanel);
            contentViewport.RegisterCallback <DetachFromPanelEvent>(OnDetachFromPanel);
            contentViewport.pickingMode = PickingMode.Ignore;
            hierarchy.Add(contentViewport);

            m_ContentContainer = new VisualElement()
            {
                name = "unity-content-container"
            };
            m_ContentContainer.RegisterCallback <GeometryChangedEvent>(OnGeometryChanged);
            m_ContentContainer.AddToClassList(contentUssClassName);
            m_ContentContainer.usageHints  = UsageHints.GroupTransform;
            m_ContentContainer.pickingMode = PickingMode.Ignore;
            contentViewport.Add(m_ContentContainer);

            SetScrollViewMode(scrollViewMode);

            const int defaultMinScrollValue = 0;
            const int defaultMaxScrollValue = int.MaxValue;

            horizontalScroller = new Scroller(defaultMinScrollValue, defaultMaxScrollValue,
                                              (value) =>
            {
                scrollOffset = new Vector2(value, scrollOffset.y);
                UpdateContentViewTransform();
            }, SliderDirection.Horizontal)
            {
                viewDataKey = "HorizontalScroller", visible = false
            };
            horizontalScroller.AddToClassList(hScrollerUssClassName);
            hierarchy.Add(horizontalScroller);

            verticalScroller = new Scroller(defaultMinScrollValue, defaultMaxScrollValue,
                                            (value) =>
            {
                scrollOffset = new Vector2(scrollOffset.x, value);
                UpdateContentViewTransform();
            }, SliderDirection.Vertical)
            {
                viewDataKey = "VerticalScroller", visible = false
            };
            verticalScroller.AddToClassList(vScrollerUssClassName);
            hierarchy.Add(verticalScroller);

            touchScrollBehavior = TouchScrollBehavior.Clamped;

            RegisterCallback <WheelEvent>(OnScrollWheel);
            scrollOffset = Vector2.zero;
        }
Пример #3
0
        internal void SetScrollViewMode(ScrollViewMode scrollViewMode)
        {
            contentContainer.RemoveFromClassList(hContentVariantUssClassName);
            contentContainer.RemoveFromClassList(vContentVariantUssClassName);
            contentContainer.RemoveFromClassList(vhContentVariantUssClassName);

            contentViewport.RemoveFromClassList(hViewportVariantUssClassName);
            contentViewport.RemoveFromClassList(vViewportVariantUssClassName);
            contentViewport.RemoveFromClassList(vhViewportVariantUssClassName);

            switch (scrollViewMode)
            {
            case ScrollViewMode.Vertical:
                contentContainer.AddToClassList(vContentVariantUssClassName);
                contentViewport.AddToClassList(vViewportVariantUssClassName);
                break;

            case ScrollViewMode.Horizontal:
                contentContainer.AddToClassList(hContentVariantUssClassName);
                contentViewport.AddToClassList(hViewportVariantUssClassName);
                break;

            case ScrollViewMode.VerticalAndHorizontal:
                contentContainer.AddToClassList(vhContentVariantUssClassName);
                contentViewport.AddToClassList(vhViewportVariantUssClassName);
                break;
            }
        }
Пример #4
0
        public ScrollView(ScrollViewMode scrollViewMode)
        {
            AddToClassList(ussClassName);

            contentViewport = new VisualElement()
            {
                name = "unity-content-viewport"
            };
            contentViewport.AddToClassList(viewportUssClassName);
            contentViewport.RegisterCallback <GeometryChangedEvent>(OnGeometryChanged);
            hierarchy.Add(contentViewport);

            m_ContentContainer = new VisualElement()
            {
                name = "unity-content-container"
            };
            m_ContentContainer.RegisterCallback <GeometryChangedEvent>(OnGeometryChanged);
            m_ContentContainer.AddToClassList(contentUssClassName);
            m_ContentContainer.renderHint = RenderHint.GroupTransform;
            contentViewport.Add(m_ContentContainer);

            SetScrollViewMode(scrollViewMode);

            const int defaultMinScrollValue = 0;
            const int defaultMaxScrollValue = 100;

            horizontalScroller = new Scroller(defaultMinScrollValue, defaultMaxScrollValue,
                                              (value) =>
            {
                scrollOffset = new Vector2(value, scrollOffset.y);
                UpdateContentViewTransform();
            }, SliderDirection.Horizontal)
            {
                viewDataKey = "HorizontalScroller", visible = false
            };
            horizontalScroller.AddToClassList(hScrollerUssClassName);
            hierarchy.Add(horizontalScroller);

            verticalScroller = new Scroller(defaultMinScrollValue, defaultMaxScrollValue,
                                            (value) =>
            {
                scrollOffset = new Vector2(scrollOffset.x, value);
                UpdateContentViewTransform();
            }, SliderDirection.Vertical)
            {
                viewDataKey = "VerticalScroller", visible = false
            };
            verticalScroller.AddToClassList(vScrollerUssClassName);
            hierarchy.Add(verticalScroller);

            RegisterCallback <WheelEvent>(OnScrollWheel);
            scrollOffset = Vector2.zero;
        }
Пример #5
0
 public ScrollView(ScrollViewMode scrollViewMode)
 {
     base.AddToClassList(ScrollView.ussClassName);
     this.contentViewport = new VisualElement
     {
         name = "unity-content-viewport"
     };
     this.contentViewport.AddToClassList(ScrollView.viewportUssClassName);
     this.contentViewport.RegisterCallback <GeometryChangedEvent>(new EventCallback <GeometryChangedEvent>(this.OnGeometryChanged), TrickleDown.NoTrickleDown);
     this.contentViewport.RegisterCallback <AttachToPanelEvent>(new EventCallback <AttachToPanelEvent>(this.OnAttachToPanel), TrickleDown.NoTrickleDown);
     this.contentViewport.RegisterCallback <DetachFromPanelEvent>(new EventCallback <DetachFromPanelEvent>(this.OnDetachFromPanel), TrickleDown.NoTrickleDown);
     base.hierarchy.Add(this.contentViewport);
     this.m_ContentContainer = new VisualElement
     {
         name = "unity-content-container"
     };
     this.m_ContentContainer.RegisterCallback <GeometryChangedEvent>(new EventCallback <GeometryChangedEvent>(this.OnGeometryChanged), TrickleDown.NoTrickleDown);
     this.m_ContentContainer.AddToClassList(ScrollView.contentUssClassName);
     this.m_ContentContainer.usageHints = UsageHints.GroupTransform;
     this.contentViewport.Add(this.m_ContentContainer);
     this.SetScrollViewMode(scrollViewMode);
     this.horizontalScroller = new Scroller(0f, 2.14748365E+09f, delegate(float value)
     {
         this.scrollOffset = new Vector2(value, this.scrollOffset.y);
         this.UpdateContentViewTransform();
     }, SliderDirection.Horizontal)
     {
         viewDataKey = "HorizontalScroller",
         visible     = false
     };
     this.horizontalScroller.AddToClassList(ScrollView.hScrollerUssClassName);
     base.hierarchy.Add(this.horizontalScroller);
     this.verticalScroller = new Scroller(0f, 2.14748365E+09f, delegate(float value)
     {
         this.scrollOffset = new Vector2(this.scrollOffset.x, value);
         this.UpdateContentViewTransform();
     }, SliderDirection.Vertical)
     {
         viewDataKey = "VerticalScroller",
         visible     = false
     };
     this.verticalScroller.AddToClassList(ScrollView.vScrollerUssClassName);
     base.hierarchy.Add(this.verticalScroller);
     this.touchScrollBehavior = ScrollView.TouchScrollBehavior.Clamped;
     base.RegisterCallback <WheelEvent>(new EventCallback <WheelEvent>(this.OnScrollWheel), TrickleDown.NoTrickleDown);
     this.scrollOffset = Vector2.zero;
 }