UNPKG

@nativescript-community/ui-chart

Version:

A powerful chart / graph plugin, supporting line, bar, pie, radar, bubble, and candlestick charts as well as scaling, panning and animations.

43 lines 1.99 kB
import { Path, Style } from '@nativescript-community/ui-canvas'; /** * Created by wajdic on 15/06/2016. * Created at Time 09:08 */ export class TriangleShapeRenderer { renderShape(c, dataSet, viewPortHandler, posX, posY, renderPaint) { const shapeSize = dataSet.scatterShapeSize; const shapeHalf = shapeSize / 2; const shapeHoleSizeHalf = dataSet.scatterShapeHoleRadius; const shapeHoleSize = shapeHoleSizeHalf * 2; const shapeStrokeSize = (shapeSize - shapeHoleSize) / 2; const shapeHoleColor = dataSet.scatterShapeHoleColor; renderPaint.setStyle(Style.FILL); // create a triangle path const tri = TriangleShapeRenderer.mTrianglePathBuffer; tri.reset(); tri.moveTo(posX, posY - shapeHalf); tri.lineTo(posX + shapeHalf, posY + shapeHalf); tri.lineTo(posX - shapeHalf, posY + shapeHalf); if (shapeSize > 0.0) { tri.lineTo(posX, posY - shapeHalf); tri.moveTo(posX - shapeHalf + shapeStrokeSize, posY + shapeHalf - shapeStrokeSize); tri.lineTo(posX + shapeHalf - shapeStrokeSize, posY + shapeHalf - shapeStrokeSize); tri.lineTo(posX, posY - shapeHalf + shapeStrokeSize); tri.lineTo(posX - shapeHalf + shapeStrokeSize, posY + shapeHalf - shapeStrokeSize); } tri.close(); c.drawPath(tri, renderPaint); tri.reset(); if (shapeSize > 0.0 && shapeHoleColor) { renderPaint.setColor(shapeHoleColor); tri.moveTo(posX, posY - shapeHalf + shapeStrokeSize); tri.lineTo(posX + shapeHalf - shapeStrokeSize, posY + shapeHalf - shapeStrokeSize); tri.lineTo(posX - shapeHalf + shapeStrokeSize, posY + shapeHalf - shapeStrokeSize); tri.close(); c.drawPath(tri, renderPaint); tri.reset(); } } } TriangleShapeRenderer.mTrianglePathBuffer = new Path(); //# sourceMappingURL=TriangleShapeRenderer.js.map