/************************************************/
/* */
/* Copyright (c) 2018 - 2021 monitor1394 */
/* https://github.com/monitor1394 */
/* */
/************************************************/
using System;
using UnityEngine;
namespace XCharts
{
[Serializable]
public class SerieTheme : MainComponent
{
[SerializeField] protected float m_LineWidth;
[SerializeField] protected float m_LineSymbolSize;
[SerializeField] protected float m_LineSymbolSelectedSize;
[SerializeField] protected float m_ScatterSymbolSize;
[SerializeField] protected float m_ScatterSymbolSelectedSize;
[SerializeField] protected float m_PieTooltipExtraRadius;
[SerializeField] protected float m_PieSelectedOffset;
[SerializeField] protected Color32 m_CandlestickColor = new Color32(194, 53, 49, 255);
[SerializeField] protected Color32 m_CandlestickColor0 = new Color32(49, 70, 86, 255);
[SerializeField] protected float m_CandlestickBorderWidth = 1;
[SerializeField] protected Color32 m_CandlestickBorderColor = new Color32(194, 53, 49, 255);
[SerializeField] protected Color32 m_CandlestickBorderColor0 = new Color32(49, 70, 86, 255);
///
/// the color of text.
/// 文本颜色。
///
public float lineWidth
{
get { return m_LineWidth; }
set { if (PropertyUtil.SetStruct(ref m_LineWidth, value)) SetVerticesDirty(); }
}
public float lineSymbolSize
{
get { return m_LineSymbolSize; }
set { if (PropertyUtil.SetStruct(ref m_LineSymbolSize, value)) SetVerticesDirty(); }
}
public float lineSymbolSelectedSize
{
get { return m_LineSymbolSelectedSize; }
set { if (PropertyUtil.SetStruct(ref m_LineSymbolSelectedSize, value)) SetVerticesDirty(); }
}
public float scatterSymbolSize
{
get { return m_ScatterSymbolSize; }
set { if (PropertyUtil.SetStruct(ref m_ScatterSymbolSize, value)) SetVerticesDirty(); }
}
public float scatterSymbolSelectedSize
{
get { return m_ScatterSymbolSelectedSize; }
set { if (PropertyUtil.SetStruct(ref m_ScatterSymbolSelectedSize, value)) SetVerticesDirty(); }
}
///
/// 饼图鼠标移到高亮时的额外半径
///
public float pieTooltipExtraRadius
{
get { return m_PieTooltipExtraRadius; }
set { if (PropertyUtil.SetStruct(ref m_PieTooltipExtraRadius, value < 0 ? 0f : value)) SetVerticesDirty(); }
}
///
/// 饼图选中时的中心点偏移
///
public float pieSelectedOffset
{
get { return m_PieSelectedOffset; }
set { if (PropertyUtil.SetStruct(ref m_PieSelectedOffset, value < 0 ? 0f : value)) SetVerticesDirty(); }
}
///
/// K线图阳线(涨)填充色
///
public Color32 candlestickColor
{
get { return m_CandlestickColor; }
set { if (PropertyUtil.SetColor(ref m_CandlestickColor, value)) SetVerticesDirty(); }
}
///
/// K线图阴线(跌)填充色
///
public Color32 candlestickColor0
{
get { return m_CandlestickColor0; }
set { if (PropertyUtil.SetColor(ref m_CandlestickColor0, value)) SetVerticesDirty(); }
}
///
/// K线图阳线(跌)边框色
///
public Color32 candlestickBorderColor
{
get { return m_CandlestickBorderColor; }
set { if (PropertyUtil.SetColor(ref m_CandlestickBorderColor, value)) SetVerticesDirty(); }
}
///
/// K线图阴线(跌)边框色
///
public Color32 candlestickBorderColor0
{
get { return m_CandlestickBorderColor0; }
set { if (PropertyUtil.SetColor(ref m_CandlestickBorderColor0, value)) SetVerticesDirty(); }
}
///
/// K线图边框宽度
///
public float candlestickBorderWidth
{
get { return m_CandlestickBorderWidth; }
set { if (PropertyUtil.SetStruct(ref m_CandlestickBorderWidth, value < 0 ? 0f : value)) SetVerticesDirty(); }
}
public void Copy(SerieTheme theme)
{
m_LineWidth = theme.lineWidth;
m_LineSymbolSize = theme.lineSymbolSize;
m_LineSymbolSelectedSize = theme.lineSymbolSelectedSize;
m_ScatterSymbolSize = theme.scatterSymbolSize;
m_ScatterSymbolSelectedSize = theme.scatterSymbolSelectedSize;
m_PieTooltipExtraRadius = theme.pieTooltipExtraRadius;
m_PieSelectedOffset = theme.pieSelectedOffset;
m_CandlestickColor = theme.candlestickColor;
m_CandlestickColor0 = theme.candlestickColor0;
m_CandlestickBorderColor = theme.candlestickBorderColor;
m_CandlestickBorderColor0 = theme.candlestickBorderColor0;
m_CandlestickBorderWidth = theme.candlestickBorderWidth;
}
public SerieTheme(Theme theme)
{
m_LineWidth = XChartsSettings.serieLineWidth;
m_LineSymbolSize = XChartsSettings.serieLineSymbolSize;
m_LineSymbolSelectedSize = XChartsSettings.serieLineSymbolSelectedSize;
m_ScatterSymbolSize = XChartsSettings.serieScatterSymbolSize;
m_ScatterSymbolSelectedSize = XChartsSettings.serieScatterSymbolSelectedSize;
m_PieTooltipExtraRadius = XChartsSettings.pieTooltipExtraRadius;
m_PieSelectedOffset = XChartsSettings.pieSelectedOffset;
m_CandlestickBorderWidth = XChartsSettings.serieCandlestickBorderWidth;
switch (theme)
{
case Theme.Default:
m_CandlestickColor = ColorUtil.GetColor("#c23531");
m_CandlestickColor0 = ColorUtil.GetColor("#314656");
m_CandlestickBorderColor = ColorUtil.GetColor("#c23531");
m_CandlestickBorderColor0 = ColorUtil.GetColor("#314656");
break;
case Theme.Light:
m_CandlestickColor = ColorUtil.GetColor("#c23531");
m_CandlestickColor0 = ColorUtil.GetColor("#314656");
m_CandlestickBorderColor = ColorUtil.GetColor("#c23531");
m_CandlestickBorderColor0 = ColorUtil.GetColor("#314656");
break;
case Theme.Dark:
m_CandlestickColor = ColorUtil.GetColor("#c23531");
m_CandlestickColor0 = ColorUtil.GetColor("#314656");
m_CandlestickBorderColor = ColorUtil.GetColor("#c23531");
m_CandlestickBorderColor0 = ColorUtil.GetColor("#314656");
break;
}
}
}
}