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); } } }
protected override void drawSignaturesToHorizontalLines(CanvasDrawingSession canvas, ChartHorizontalLinesData a) { }
protected override void DrawHorizontalLines(CanvasDrawingSession canvas, ChartHorizontalLinesData a) { }