protected override void drawSignaturesToHorizontalLines(CanvasDrawingSession canvas, ChartHorizontalLinesData a)
        {
            int n          = a.values.Length;
            int rightIndex = chartData.linesK[0] == 1 ? 1 : 0;
            int leftIndex  = (rightIndex + 1) % 2;

            float additionalOutAlpha = 1f;

            if (n > 2)
            {
                float v = (a.values[1] - a.values[0]) / (float)(currentMaxHeight - currentMinHeight);
                if (v < 0.1)
                {
                    additionalOutAlpha = v / 0.1f;
                }
            }

            float transitionAlpha = 1f;

            if (transitionMode == TRANSITION_MODE_PARENT)
            {
                transitionAlpha = 1f - transitionParams.progress;
            }
            else if (transitionMode == TRANSITION_MODE_CHILD)
            {
                transitionAlpha = transitionParams.progress;
            }
            else if (transitionMode == TRANSITION_MODE_ALPHA_ENTER)
            {
                transitionAlpha = transitionParams.progress;
            }


            linePaint.A = (byte)(a.alpha * 0.1f * transitionAlpha);
            int chartHeight = getMeasuredHeight() - chartBottom - SIGNATURE_TEXT_HEIGHT;

            var format = new CanvasTextFormat {
                FontSize = signaturePaint.TextSize ?? 0
            };
            var layout = new CanvasTextLayout(canvas, "0", format, 0, 0);

            int textOffset = (int)(4 + layout.DrawBounds.Bottom);

            //int textOffset = (int)(SIGNATURE_TEXT_HEIGHT - signaturePaintFormat.FontSize);
            format.Dispose();
            layout.Dispose();
            for (int i = 0; i < n; i++)
            {
                int y = (int)((getMeasuredHeight() - chartBottom) - chartHeight * ((a.values[i] - currentMinHeight) / (currentMaxHeight - currentMinHeight)));
                if (a.valuesStr != null && lines.Count > 0)
                {
                    if (a.valuesStr2 == null || lines.Count < 2)
                    {
                        signaturePaint.Color = _colors["key_statisticChartSignature"];
                        signaturePaint.A     = (byte)(a.alpha * signaturePaintAlpha * transitionAlpha * additionalOutAlpha);
                    }
                    else
                    {
                        signaturePaint.Color = lines[leftIndex].lineColor;
                        signaturePaint.A     = (byte)(a.alpha * lines[leftIndex].alpha * transitionAlpha * additionalOutAlpha);
                    }

                    canvas.DrawText(a.valuesStr[i], HORIZONTAL_PADDING, y - textOffset, signaturePaint);
                }
                if (a.valuesStr2 != null && lines.Count > 1)
                {
                    signaturePaint2.Color = lines[rightIndex].lineColor;
                    signaturePaint2.A     = (byte)(a.alpha * lines[rightIndex].alpha * transitionAlpha * additionalOutAlpha);
                    canvas.DrawText(a.valuesStr2[i], getMeasuredWidth() - HORIZONTAL_PADDING, y - textOffset, signaturePaint2);
                }
            }
        }
Example #2
0
 protected override void drawSignaturesToHorizontalLines(CanvasDrawingSession canvas, ChartHorizontalLinesData a)
 {
 }
Example #3
0
 protected override void DrawHorizontalLines(CanvasDrawingSession canvas, ChartHorizontalLinesData a)
 {
 }