Esempio n. 1
0
        public static Color32 GetItemColor(Serie serie, SerieData serieData, ThemeStyle theme, int index, bool highlight, bool opacity = true)
        {
            if (serie == null)
            {
                return(ChartConst.clearColor32);
            }

            ItemStyle itemStyle = null;

            if (highlight)
            {
                itemStyle = GetItemStyleEmphasis(serie, serieData);
            }
            if (itemStyle == null)
            {
                itemStyle = GetItemStyle(serie, serieData);
            }

            var color = ChartHelper.IsClearColor(itemStyle.color) ?
                        theme.GetColor(index) :
                        itemStyle.color;

            if (highlight)
            {
                color = ChartHelper.GetHighlightColor(color);
            }
            if (opacity)
            {
                ChartHelper.SetColorOpacity(ref color, itemStyle.opacity);
            }
            return(color);
        }
        public static GameObject Get(string name, Transform parent, LabelStyle label, Color color,
                                     float iconWidth, float iconHeight, ThemeStyle theme)
        {
            GameObject element;

            if (m_Stack.Count == 0 || !Application.isPlaying)
            {
                element = CreateSerieLabel(name, parent, label, color, iconWidth, iconHeight, theme);
            }
            else
            {
                element = m_Stack.Pop();
                if (element == null)
                {
                    element = CreateSerieLabel(name, parent, label, color, iconWidth, iconHeight, theme);
                }
                m_ReleaseDic.Remove(element.GetInstanceID());
                element.name = name;
                element.transform.SetParent(parent);
                var text = new ChartText(element);
                text.SetColor(color);
                text.SetFontAndSizeAndStyle(label.textStyle, theme.common);
                ChartHelper.SetActive(element, true);
            }
            element.transform.localEulerAngles = new Vector3(0, 0, label.rotate);
            return(element);
        }
Esempio n. 3
0
        public static Color32 GetLineColor(Serie serie, SerieData serieData, ThemeStyle theme, int index, bool highlight)
        {
            Color32 color     = ChartConst.clearColor32;
            var     lineStyle = GetLineStyle(serie, serieData);

            if (highlight)
            {
                var itemStyleEmphasis = GetItemStyleEmphasis(serie, null);
                if (itemStyleEmphasis != null && !ChartHelper.IsClearColor(itemStyleEmphasis.color))
                {
                    color = itemStyleEmphasis.color;
                    ChartHelper.SetColorOpacity(ref color, itemStyleEmphasis.opacity);
                    return(color);
                }
            }
            if (!ChartHelper.IsClearColor(lineStyle.color))
            {
                color = lineStyle.color;
            }
            else if (!ChartHelper.IsClearColor(serie.itemStyle.color))
            {
                color = serie.itemStyle.GetColor();
            }
            if (ChartHelper.IsClearColor(color))
            {
                color = theme.GetColor(index);
            }
            ChartHelper.SetColorOpacity(ref color, lineStyle.opacity);
            if (highlight)
            {
                color = ChartHelper.GetHighlightColor(color);
            }
            return(color);
        }
Esempio n. 4
0
        public static Color32 GetAreaToColor(Serie serie, SerieData serieData, ThemeStyle theme, int index, bool highlight)
        {
            Color32 color     = ChartConst.clearColor32;
            var     areaStyle = GetAreaStyle(serie, serieData);

            if (areaStyle == null || !areaStyle.show)
            {
                return(color);
            }
            if (!ChartHelper.IsClearColor(areaStyle.toColor))
            {
                color = areaStyle.toColor;
            }
            else if (!ChartHelper.IsClearColor(serie.itemStyle.toColor))
            {
                color = serie.itemStyle.toColor;
            }
            else
            {
                color = theme.GetColor(index);
            }
            ChartHelper.SetColorOpacity(ref color, areaStyle.opacity);
            if (highlight)
            {
                if (!ChartHelper.IsClearColor(areaStyle.highlightToColor))
                {
                    color = areaStyle.highlightToColor;
                }
                else
                {
                    color = ChartHelper.GetHighlightColor(color);
                }
            }
            return(color);
        }
Esempio n. 5
0
        public static Color32 GetItemColor0(Serie serie, SerieData serieData, ThemeStyle theme, bool highlight, Color32 defaultColor)
        {
            if (serie == null)
            {
                return(ChartConst.clearColor32);
            }

            ItemStyle itemStyle = null;

            if (highlight)
            {
                itemStyle = GetItemStyleEmphasis(serie, serieData);
            }
            if (itemStyle == null)
            {
                itemStyle = GetItemStyle(serie, serieData);
            }

            var color = ChartHelper.IsClearColor(itemStyle.color0) ?
                        defaultColor :
                        itemStyle.color0;

            if (highlight)
            {
                color = ChartHelper.GetHighlightColor(color);
            }

            ChartHelper.SetColorOpacity(ref color, itemStyle.opacity);
            return(color);
        }
        internal static ChartLabel AddTooltipIndicatorLabel(Tooltip tooltip, string name, Transform parent,
                                                            ThemeStyle theme, TextAnchor alignment)
        {
            var label = ChartHelper.AddChartLabel(name, parent, tooltip.indicatorLabelStyle, theme.tooltip,
                                                  "", Color.clear, alignment);

            label.SetActive(tooltip.show && tooltip.indicatorLabelStyle.show);
            return(label);
        }
 public void AddColors(List <string> colors)
 {
     m_InRange.Clear();
     foreach (var str in colors)
     {
         m_InRange.Add(new VisualMapRange()
         {
             color = ThemeStyle.GetColor(str)
         });
     }
 }
 public static Color GetLabelColor(Serie serie, ThemeStyle theme, int index)
 {
     if (serie.label != null && !ChartHelper.IsClearColor(serie.label.textStyle.color))
     {
         return(serie.label.textStyle.color);
     }
     else
     {
         return(theme.GetColor(index));
     }
 }
Esempio n. 9
0
        public static float GetSymbolBorder(Serie serie, SerieData serieData, ThemeStyle theme, bool highlight)
        {
            var itemStyle = GetItemStyle(serie, serieData, highlight);

            if (itemStyle != null && itemStyle.borderWidth != 0)
            {
                return(itemStyle.borderWidth);
            }
            else
            {
                return(serie.lineStyle.GetWidth(theme.serie.lineWidth) * 2);
            }
        }
Esempio n. 10
0
        public static Color32 GetSymbolBorderColor(Serie serie, SerieData serieData, ThemeStyle theme, bool highlight)
        {
            var itemStyle = GetItemStyle(serie, serieData, highlight);

            if (itemStyle != null && !ChartHelper.IsClearColor(itemStyle.borderColor))
            {
                return(itemStyle.borderColor);
            }
            else
            {
                return(serie.itemStyle.borderColor);
            }
        }
Esempio n. 11
0
        public static float GetSymbolBorder(Serie serie, SerieData serieData, ThemeStyle theme, bool highlight, float defaultWidth)
        {
            var itemStyle = GetItemStyle(serie, serieData, highlight);

            if (itemStyle != null && itemStyle.borderWidth != 0)
            {
                return(itemStyle.borderWidth);
            }
            else
            {
                return(defaultWidth);
            }
        }
Esempio n. 12
0
        public static Color32 GetLineColor(Tooltip tooltip, ThemeStyle theme)
        {
            var lineStyle = tooltip.lineStyle;

            if (!ChartHelper.IsClearColor(lineStyle.color))
            {
                return(lineStyle.GetColor());
            }
            else
            {
                var color = theme.tooltip.lineColor;
                ChartHelper.SetColorOpacity(ref color, lineStyle.opacity);
                return(color);
            }
        }
Esempio n. 13
0
        private static void UpdateStepLineDrawPoints(Serie serie, Settings setting, ThemeStyle theme, bool isY, float lineWidth)
        {
            var points = serie.context.dataPoints;
            var lp     = points[0];

            serie.context.drawPoints.Clear();
            serie.context.drawPoints.Add(new PointInfo(lp, serie.context.dataIgnores[0]));
            for (int i = 1; i < points.Count; i++)
            {
                var cp     = points[i];
                var ignore = serie.context.dataIgnores[i];
                if ((isY && Mathf.Abs(lp.x - cp.x) <= lineWidth) ||
                    (!isY && Mathf.Abs(lp.y - cp.y) <= lineWidth))
                {
                    serie.context.drawPoints.Add(new PointInfo(cp, ignore));
                    lp = cp;
                    continue;
                }
                switch (serie.lineType)
                {
                case LineType.StepStart:
                    serie.context.drawPoints.Add(new PointInfo(isY ?
                                                               new Vector3(cp.x, lp.y) :
                                                               new Vector3(lp.x, cp.y), ignore));
                    break;

                case LineType.StepMiddle:
                    serie.context.drawPoints.Add(new PointInfo(isY ?
                                                               new Vector3(lp.x, (lp.y + cp.y) / 2) :
                                                               new Vector3((lp.x + cp.x) / 2, lp.y), ignore));
                    serie.context.drawPoints.Add(new PointInfo(isY ?
                                                               new Vector3(cp.x, (lp.y + cp.y) / 2) :
                                                               new Vector3((lp.x + cp.x) / 2, cp.y), ignore));
                    break;

                case LineType.StepEnd:
                    serie.context.drawPoints.Add(new PointInfo(isY ?
                                                               new Vector3(lp.x, cp.y) :
                                                               new Vector3(cp.x, lp.y), ignore));
                    break;
                }
                serie.context.drawPoints.Add(new PointInfo(cp, ignore));
                lp = cp;
            }
        }
Esempio n. 14
0
        public static TooltipView CreateView(Tooltip tooltip, ThemeStyle theme, Transform parent)
        {
            var view = new TooltipView();

            view.tooltip = tooltip;
            view.theme   = theme.tooltip;

            view.gameObject = ChartHelper.AddObject("view", parent, anchorMin, anchorMax, pivot, Vector3.zero);
            view.gameObject.transform.localPosition = Vector3.zero;
            view.transform = view.gameObject.transform;

            view.background        = ChartHelper.GetOrAddComponent <Image>(view.gameObject);
            view.background.sprite = tooltip.backgroundImage;
            view.background.type   = tooltip.backgroundType;
            view.background.color  = ChartHelper.IsClearColor(tooltip.backgroundColor) ?
                                     Color.white : tooltip.backgroundColor;

            view.border                 = ChartHelper.GetOrAddComponent <Outline>(view.gameObject);
            view.border.enabled         = tooltip.borderWidth > 0;
            view.border.useGraphicAlpha = false;
            view.border.effectColor     = tooltip.borderColor;
            view.border.effectDistance  = new Vector2(tooltip.borderWidth, -tooltip.borderWidth);

            view.layout = ChartHelper.GetOrAddComponent <VerticalLayoutGroup>(view.gameObject);
            view.layout.childControlHeight     = false;
            view.layout.childControlWidth      = false;
            view.layout.childForceExpandHeight = false;
            view.layout.childForceExpandWidth  = false;
            view.layout.padding = new RectOffset(tooltip.paddingLeftRight,
                                                 tooltip.paddingLeftRight,
                                                 tooltip.paddingTopBottom,
                                                 tooltip.paddingTopBottom);

            view.title = ChartHelper.AddChartLabel("title", view.gameObject.transform, tooltip.titleLabelStyle, theme.tooltip,
                                                   "", Color.clear, TextAnchor.MiddleLeft);

            var item = CreateViewItem(0, view.gameObject.transform, tooltip, theme.tooltip);

            view.m_Items.Add(item);

            view.Refresh();

            return(view);
        }
Esempio n. 15
0
        public static LegendItem AddLegendItem(BaseChart chart, Legend legend, int i, string legendName, Transform parent,
                                               ThemeStyle theme, string content, Color itemColor, bool active, int legendIndex)
        {
            var objName       = i + "_" + legendName;
            var anchorMin     = new Vector2(0, 0.5f);
            var anchorMax     = new Vector2(0, 0.5f);
            var pivot         = new Vector2(0, 0.5f);
            var sizeDelta     = new Vector2(100, 30);
            var iconSizeDelta = new Vector2(legend.itemWidth, legend.itemHeight);
            var textStyle     = legend.labelStyle.textStyle;
            var contentColor  = GetContentColor(chart, legendIndex, legendName, legend, theme, active);

            var objAnchorMin = new Vector2(0, 1);
            var objAnchorMax = new Vector2(0, 1);
            var objPivot     = new Vector2(0, 1);
            var btnObj       = ChartHelper.AddObject(objName, parent, objAnchorMin, objAnchorMax, objPivot, sizeDelta);
            var iconObj      = ChartHelper.AddObject("icon", btnObj.transform, anchorMin, anchorMax, pivot, iconSizeDelta);
            var img          = ChartHelper.GetOrAddComponent <Image>(btnObj);

            img.color         = Color.clear;
            img.raycastTarget = true;
            ChartHelper.GetOrAddComponent <Button>(btnObj);
            ChartHelper.GetOrAddComponent <Image>(iconObj);

            var label = ChartHelper.AddChartLabel("content", btnObj.transform, legend.labelStyle, theme.legend,
                                                  content, contentColor, TextAnchor.MiddleLeft);

            label.SetActive(true);

            var item = new LegendItem();

            item.index      = i;
            item.name       = objName;
            item.legendName = legendName;
            item.SetObject(btnObj);
            item.SetIconSize(legend.itemWidth, legend.itemHeight);
            item.SetIconColor(itemColor);
            item.SetIconImage(legend.GetIcon(i));
            item.SetContentPosition(legend.labelStyle.offset);
            item.SetContent(content);
            //item.SetBackground(legend.background);
            return(item);
        }
Esempio n. 16
0
        private ChartLabel AddDebugInfoObject(string name, Transform parent, LabelStyle labelStyle,
                                              ThemeStyle theme)
        {
            var anchorMax = new Vector2(0, 1);
            var anchorMin = new Vector2(0, 1);
            var pivot     = new Vector2(0, 1);
            var sizeDelta = new Vector2(100, 100);

            var labelGameObject = ChartHelper.AddObject(name, parent, anchorMin, anchorMax, pivot, sizeDelta);

            labelGameObject.transform.SetAsLastSibling();
            labelGameObject.hideFlags = m_Chart.chartHideFlags;
            ChartHelper.SetActive(labelGameObject, m_ShowDebugInfo);

            var label = ChartHelper.AddChartLabel("info", labelGameObject.transform, labelStyle, theme.common,
                                                  "", Color.clear, TextAnchor.UpperLeft);

            label.SetActive(labelStyle.show);
            return(label);
        }
Esempio n. 17
0
        public RadarAxisTheme(ThemeType theme) : base(theme)
        {
            m_SplitAreaColors.Clear();
            switch (theme)
            {
            case ThemeType.Dark:
                m_SplitAreaColors.Add(ThemeStyle.GetColor("#6f6f6f"));
                m_SplitAreaColors.Add(ThemeStyle.GetColor("#606060"));
                break;

            case ThemeType.Default:
                m_SplitAreaColors.Add(ThemeStyle.GetColor("#f6f6f6"));
                m_SplitAreaColors.Add(ThemeStyle.GetColor("#e7e7e7"));
                break;

            case ThemeType.Light:
                m_SplitAreaColors.Add(ThemeStyle.GetColor("#f6f6f6"));
                m_SplitAreaColors.Add(ThemeStyle.GetColor("#e7e7e7"));
                break;
            }
        }
Esempio n. 18
0
        internal static void UpdateSerieDrawPoints(Serie serie, Settings setting, ThemeStyle theme, VisualMap visualMap,
                                                   float lineWidth, bool isY = false)
        {
            serie.context.drawPoints.Clear();
            var last = Vector3.zero;

            switch (serie.lineType)
            {
            case LineType.Smooth:
                UpdateSmoothLineDrawPoints(serie, setting, isY);
                break;

            case LineType.StepStart:
            case LineType.StepMiddle:
            case LineType.StepEnd:
                UpdateStepLineDrawPoints(serie, setting, theme, isY, lineWidth);
                break;

            default:
                UpdateNormalLineDrawPoints(serie, setting, visualMap);
                break;
            }
        }
Esempio n. 19
0
        public static void DrawSerieLineArea(VertexHelper vh, Serie serie, Serie lastStackSerie,
                                             ThemeStyle theme, VisualMap visualMap, bool isY, Axis axis, Axis relativedAxis, GridCoord grid)
        {
            if (serie.areaStyle == null || !serie.areaStyle.show)
            {
                return;
            }

            var srcAreaColor   = SerieHelper.GetAreaColor(serie, null, theme, serie.context.colorIndex, false);
            var srcAreaToColor = SerieHelper.GetAreaToColor(serie, null, theme, serie.context.colorIndex, false);
            var gridXY         = (isY ? grid.context.x : grid.context.y);

            if (lastStackSerie == null)
            {
                DrawSerieLineNormalArea(vh, serie, isY,
                                        gridXY + relativedAxis.context.offset,
                                        gridXY,
                                        gridXY + (isY ? grid.context.width : grid.context.height),
                                        srcAreaColor,
                                        srcAreaToColor,
                                        visualMap,
                                        axis,
                                        relativedAxis,
                                        grid);
            }
            else
            {
                DrawSerieLineStackArea(vh, serie, lastStackSerie, isY,
                                       gridXY + relativedAxis.context.offset,
                                       gridXY,
                                       gridXY + (isY ? grid.context.width : grid.context.height),
                                       srcAreaColor,
                                       srcAreaToColor,
                                       visualMap);
            }
        }
Esempio n. 20
0
        internal static void DrawSerieLine(VertexHelper vh, ThemeStyle theme, Serie serie, VisualMap visualMap,
                                           GridCoord grid, Axis axis, Axis relativedAxis, float lineWidth)
        {
            if (!serie.lineStyle.show || serie.lineStyle.type == LineStyle.Type.None)
            {
                return;
            }

            var datas = serie.context.drawPoints;

            var dataCount = datas.Count;

            if (dataCount < 2)
            {
                return;
            }

            var ltp = Vector3.zero;
            var lbp = Vector3.zero;
            var ntp = Vector3.zero;
            var nbp = Vector3.zero;
            var itp = Vector3.zero;
            var ibp = Vector3.zero;
            var clp = Vector3.zero;
            var crp = Vector3.zero;

            var isBreak             = false;
            var isY                 = axis is YAxis;
            var isVisualMapGradient = VisualMapHelper.IsNeedLineGradient(visualMap);
            var isLineStyleGradient = serie.lineStyle.IsNeedGradient();

            //var highlight = serie.highlight || serie.context.pointerEnter;
            var lineColor = SerieHelper.GetLineColor(serie, null, theme, serie.context.colorIndex, false);

            var lastDataIsIgnore = datas[0].isIgnoreBreak;
            var smooth           = serie.lineType == LineType.Smooth;

            for (int i = 1; i < dataCount; i++)
            {
                var cdata    = datas[i];
                var isIgnore = cdata.isIgnoreBreak;

                var cp = cdata.position;
                var lp = datas[i - 1].position;

                var np = i == dataCount - 1 ? cp : datas[i + 1].position;
                if (serie.animation.CheckDetailBreak(cp, isY))
                {
                    isBreak = true;
                    var ip       = Vector3.zero;
                    var progress = serie.animation.GetCurrDetail();
                    if (AnimationStyleHelper.GetAnimationPosition(serie.animation, isY, lp, cp, progress, ref ip))
                    {
                        cp = np = ip;
                    }
                }
                serie.context.lineEndPostion = cp;
                serie.context.lineEndValue   = AxisHelper.GetAxisPositionValue(grid, relativedAxis, cp);
                lastDataIsIgnore             = isIgnore;
                var handled = false;
                if (!smooth)
                {
                    switch (serie.lineStyle.type)
                    {
                    case LineStyle.Type.Dashed:
                        UGL.DrawDashLine(vh, lp, cp, lineWidth, lineColor, lineColor, 0, 0);
                        handled = true;
                        break;

                    case LineStyle.Type.Dotted:
                        UGL.DrawDotLine(vh, lp, cp, lineWidth, lineColor, lineColor, 0, 0);
                        handled = true;
                        break;

                    case LineStyle.Type.DashDot:
                        UGL.DrawDashDotLine(vh, lp, cp, lineWidth, lineColor, 0, 0, 0);
                        handled = true;
                        break;

                    case LineStyle.Type.DashDotDot:
                        UGL.DrawDashDotDotLine(vh, lp, cp, lineWidth, lineColor, 0, 0, 0);
                        handled = true;
                        break;

                    case LineStyle.Type.None:
                        handled = true;
                        break;
                    }
                }
                if (handled)
                {
                    if (isBreak)
                    {
                        break;
                    }
                    else
                    {
                        continue;
                    }
                }
                bool bitp = true, bibp = true;
                UGLHelper.GetLinePoints(lp, cp, np, lineWidth,
                                        ref ltp, ref lbp,
                                        ref ntp, ref nbp,
                                        ref itp, ref ibp,
                                        ref clp, ref crp,
                                        ref bitp, ref bibp, i);
                if (i == 1)
                {
                    AddLineVertToVertexHelper(vh, ltp, lbp, lineColor, isVisualMapGradient, isLineStyleGradient,
                                              visualMap, serie.lineStyle, grid, axis, relativedAxis, false, lastDataIsIgnore, isIgnore);
                    if (dataCount == 2 || isBreak)
                    {
                        AddLineVertToVertexHelper(vh, clp, crp, lineColor, isVisualMapGradient, isLineStyleGradient,
                                                  visualMap, serie.lineStyle, grid, axis, relativedAxis, true, lastDataIsIgnore, isIgnore);
                        serie.context.lineEndPostion = cp;
                        serie.context.lineEndValue   = AxisHelper.GetAxisPositionValue(grid, relativedAxis, cp);
                        break;
                    }
                }

                if (bitp == bibp)
                {
                    if (bitp)
                    {
                        AddLineVertToVertexHelper(vh, itp, ibp, lineColor, isVisualMapGradient, isLineStyleGradient,
                                                  visualMap, serie.lineStyle, grid, axis, relativedAxis, true, lastDataIsIgnore, isIgnore);
                    }
                    else
                    {
                        AddLineVertToVertexHelper(vh, ltp, clp, lineColor, isVisualMapGradient, isLineStyleGradient,
                                                  visualMap, serie.lineStyle, grid, axis, relativedAxis, true, lastDataIsIgnore, isIgnore);
                        AddLineVertToVertexHelper(vh, ltp, crp, lineColor, isVisualMapGradient, isLineStyleGradient,
                                                  visualMap, serie.lineStyle, grid, axis, relativedAxis, true, lastDataIsIgnore, isIgnore);
                    }
                }
                else
                {
                    if (bitp)
                    {
                        AddLineVertToVertexHelper(vh, itp, clp, lineColor, isVisualMapGradient, isLineStyleGradient,
                                                  visualMap, serie.lineStyle, grid, axis, relativedAxis, true, lastDataIsIgnore, isIgnore);
                        AddLineVertToVertexHelper(vh, itp, crp, lineColor, isVisualMapGradient, isLineStyleGradient,
                                                  visualMap, serie.lineStyle, grid, axis, relativedAxis, true, lastDataIsIgnore, isIgnore);
                    }
                    else if (bibp)
                    {
                        AddLineVertToVertexHelper(vh, clp, ibp, lineColor, isVisualMapGradient, isLineStyleGradient,
                                                  visualMap, serie.lineStyle, grid, axis, relativedAxis, true, lastDataIsIgnore, isIgnore);
                        AddLineVertToVertexHelper(vh, crp, ibp, lineColor, isVisualMapGradient, isLineStyleGradient,
                                                  visualMap, serie.lineStyle, grid, axis, relativedAxis, true, lastDataIsIgnore, isIgnore);
                    }
                }

                if (isBreak)
                {
                    break;
                }
            }
        }
        private void DrawMarkLineSymbol(VertexHelper vh, SymbolStyle symbol, Serie serie, GridCoord grid, ThemeStyle theme,
                                        Vector3 pos, Vector3 startPos, Color32 lineColor)
        {
            var tickness     = SerieHelper.GetSymbolBorder(serie, null, theme, false);
            var borderColor  = SerieHelper.GetSymbolBorderColor(serie, null, theme, false);
            var cornerRadius = SerieHelper.GetSymbolCornerRadius(serie, null, false);

            chart.DrawClipSymbol(vh, symbol.type, symbol.size, tickness, pos, lineColor, lineColor,
                                 ColorUtil.clearColor32, borderColor, symbol.gap, true, cornerRadius, grid, startPos);
        }
Esempio n. 22
0
        public static Color GetContentColor(BaseChart chart, int legendIndex, string legendName, Legend legend, ThemeStyle theme, bool active)
        {
            var textStyle = legend.labelStyle.textStyle;

            if (active)
            {
                if (legend.labelStyle.textStyle.autoColor)
                {
                    return(SeriesHelper.GetNameColor(chart, legendIndex, legendName));
                }
                else
                {
                    return(!ChartHelper.IsClearColor(textStyle.color) ? textStyle.color : theme.legend.textColor);
                }
            }
            else
            {
                return(theme.legend.unableColor);
            }
        }
        private static GameObject CreateSerieLabel(string name, Transform parent, LabelStyle labelStyle, Color color,
                                                   float iconWidth, float iconHeight, ThemeStyle theme)
        {
            var label = ChartHelper.AddChartLabel(name, parent, labelStyle, theme.common,
                                                  "", color, TextAnchor.MiddleCenter);

            label.SetActive(labelStyle.show);
            return(label.gameObject);
        }
Esempio n. 24
0
        public static Color32 GetItemBackgroundColor(Serie serie, SerieData serieData, ThemeStyle theme, int index,
                                                     bool highlight, bool useDefault = true)
        {
            var color = ChartConst.clearColor32;

            if (highlight)
            {
                var itemStyleEmphasis = GetItemStyleEmphasis(serie, serieData);
                if (itemStyleEmphasis != null && !ChartHelper.IsClearColor(itemStyleEmphasis.backgroundColor))
                {
                    color = itemStyleEmphasis.backgroundColor;
                    ChartHelper.SetColorOpacity(ref color, itemStyleEmphasis.opacity);
                    return(color);
                }
            }
            var itemStyle = GetItemStyle(serie, serieData);

            if (!ChartHelper.IsClearColor(itemStyle.backgroundColor))
            {
                color = itemStyle.backgroundColor;
                if (highlight)
                {
                    color = ChartHelper.GetHighlightColor(color);
                }
                ChartHelper.SetColorOpacity(ref color, itemStyle.opacity);
                return(color);
            }
            else if (useDefault)
            {
                color = theme.GetColor(index);
                if (highlight)
                {
                    color = ChartHelper.GetHighlightColor(color);
                }
                color.a = 50;
                return(color);
            }
            return(color);
        }