コード例 #1
0
        protected override void OnLayoutCalculatorConfigurate(ILayoutCalculator calculator)
        {
            var paddedLayout = calculator as PaddedLayoutCalculator;
            var padding      = _setting.padding;

            paddedLayout.padding = padding;

            var linearLayout = paddedLayout.innerLayout as LinearLayoutCalculator;

            linearLayout.flexDirection = _setting.flexDirection;
            var itemSize = _setting.itemSize;

            if (_setting.itemCrossAxisSizeMatchParent)
            {
                var contentRect = this.content.rect;
                if (_setting.isMainAxisHorizontal)
                {
                    itemSize.y = contentRect.height - padding.vertical;
                    _lastContentSizeInCrossAxis = itemSize.y;
                }
                else
                {
                    itemSize.x = contentRect.width - padding.horizontal;
                    _lastContentSizeInCrossAxis = itemSize.x;
                }
            }
            linearLayout.itemSize  = itemSize;
            linearLayout.interval  = _setting.interval;
            linearLayout.itemCount = this.itemCount;
        }
コード例 #2
0
        private void UpdateLayoutSetting(ILayoutCalculator layoutCalculator)
        {
            var paddedLayout = layoutCalculator as PaddedLayoutCalculator;
            var gridLayout   = paddedLayout.innerLayout as FlexGridLayoutCalculator;

            paddedLayout.padding            = _setting.padding;
            gridLayout.flexDirection        = _setting.flexDirection;
            gridLayout.itemSize             = _setting.itemSize;
            gridLayout.interval             = _setting.interval;
            gridLayout.alignItemsInMainAxis = _setting.alignItemsInMainAxis;
            gridLayout.crossAxisDirection   = _setting.crossAxisDirection;
            if (gridLayout.isFlexHorizontal)
            {
                float flexMaxSize = -_setting.padding.horizontal;
                switch (_setting.flexSizeType)
                {
                case FlexSizeType.MatchTransform:
                    flexMaxSize += (transform as RectTransform).rect.width;
                    break;

                case FlexSizeType.Custom:
                    flexMaxSize += _setting.flexSize;
                    break;
                }
                gridLayout.flexMaxSize = flexMaxSize;
            }
            else
            {
                float flexMaxSize = -_setting.padding.vertical;
                switch (_setting.flexSizeType)
                {
                case FlexSizeType.MatchTransform:
                    flexMaxSize += (transform as RectTransform).rect.height;
                    break;

                case FlexSizeType.Custom:
                    flexMaxSize += _setting.flexSize;
                    break;
                }
                gridLayout.flexMaxSize = flexMaxSize;
            }
            gridLayout.itemCount = this.itemCount;
        }
コード例 #3
0
        /// <summary>
        /// Sets the labels panel bounds.
        /// </summary>
        /// <param name="element"></param>
        /// <param name="labelsPanel"></param>
        private void SetLabelsPanelBounds(UIElement element, ILayoutCalculator labelsPanel)
        {
            var left   = Canvas.GetLeft(element);
            var top    = Canvas.GetTop(element);
            var width  = labelsPanel.DesiredSize.Width;
            var height = labelsPanel.DesiredSize.Height;
            var cartesianAxisLabelsPanel = labelsPanel as ChartCartesianAxisLabelsPanel;

            if (Axis.Orientation == Orientation.Horizontal)
            {
                left += Axis.ArrangeRect.Left;
                top  += Axis.ArrangeRect.Top;
                cartesianAxisLabelsPanel.SetOffsetValues(left, top, width, height);
            }
            else
            {
                left += Axis.ArrangeRect.Left;
                top  += Axis.ArrangeRect.Top;
                cartesianAxisLabelsPanel.SetOffsetValues(left, top, width, height);
            }
        }
コード例 #4
0
 protected override void OnLayoutCalculatorConfigurate(ILayoutCalculator calculator)
 {
     this.UpdateLayoutSetting(calculator);
 }
 public PhyloTreeLayout(ILayoutCalculator layoutCalculator) : base(layoutCalculator)
 {
 }
コード例 #6
0
 protected abstract void OnLayoutCalculatorConfigurate(ILayoutCalculator calculator);
 public GraphLayout(ILayoutCalculator layoutCalculator)
 {
     this.LayoutCalculator = layoutCalculator;
 }
コード例 #8
0
 public PaddedLayoutCalculator(ILayoutCalculator innerLayout)
 {
     _innerLayout = innerLayout;
     this.padding = new RectOffset();
 }