plectrum

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 1789583647ea135be2aa3dd8c91a15836982abd8
parent 3b81f92b6623ef0f3cc62aaca1cec67468bcb219
Author: gstraube <gstraube@mailbox.org>
Date:   Fri, 15 Dec 2017 16:00:55 +0100

Draw indicator as an arrowhead

Diffstat:
Mapp/src/main/java/com/github/cythara/CanvasPainter.java | 21++++++++++++++++++---
1 file changed, 18 insertions(+), 3 deletions(-)

diff --git a/app/src/main/java/com/github/cythara/CanvasPainter.java b/app/src/main/java/com/github/cythara/CanvasPainter.java @@ -3,7 +3,9 @@ package com.github.cythara; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; +import android.graphics.Matrix; import android.graphics.Paint; +import android.graphics.Path; import android.graphics.drawable.Drawable; import android.support.v4.content.ContextCompat; import android.text.TextPaint; @@ -133,9 +135,22 @@ class CanvasPainter { private void drawIndicator() { float xPos = x + (getNearestDeviation() * gaugeWidth / MAX_DEVIATION); - String text = "|"; - canvas.drawText(text, xPos - numbersPaint.measureText(text) / 2F, y + 30, - numbersPaint); + float yPosition = y * 1.15f; + + Matrix matrix = new Matrix(); + float scalingFactor = numbersPaint.getTextSize() / 3; + matrix.setScale(scalingFactor, scalingFactor); + + Path indicator = new Path(); + indicator.moveTo(0, -2); + indicator.lineTo(1, 0); + indicator.lineTo(-1, 0); + indicator.close(); + + indicator.transform(matrix); + + indicator.offset(xPos, yPosition); + canvas.drawPath(indicator, gaugePaint); } private void drawMark(float y, float xPos, int mark) {