예제 #1
0
        public void Draw()
        {
            if (_Bars == null)
            {
                return;
            }

            float dx   = (Rect.W) / _Bars.Length;
            int   max  = _Bars.Length - 1;
            float maxB = _Bars[max];

            for (int i = 0; i < _Bars.Length - 1; i++)
            {
                if (_Bars[i] > maxB)
                {
                    maxB = _Bars[i];
                    max  = i;
                }
            }

            for (int i = 0; i < _Bars.Length; i++)
            {
                SRectF  bar   = new SRectF(Rect.X + dx * i, Rect.Y + Rect.H - _Bars[i] * Rect.H, dx - Space, _Bars[i] * Rect.H, Rect.Z);
                SColorF color = Color;
                if (i == max)
                {
                    color = MaxColor;
                }

                CDraw.DrawColor(color, bar);

                if (Reflection)
                {
                    CDraw.DrawColorReflection(color, bar, ReflectionSpace, ReflectionHeight);
                }
            }
        }