From 9a6771c87cecb646d6327041058c2ac07e3ec058 Mon Sep 17 00:00:00 2001 From: Marco Vettorello Date: Wed, 2 Dec 2020 10:33:16 +0100 Subject: [PATCH] fix(xy_chart): improve line joins rendering (#920) This commit changes the `lineJoin` property used when rendering lines to `round`. This will avoid spikes with very acute angles between line segments. --- ...les-area-visually-looks-correct-1-snap.png | Bin 43804 -> 43974 bytes .../renderer/canvas/primitives/line.ts | 19 +++++++++++- .../renderer/canvas/primitives/path.ts | 29 +++--------------- 3 files changed, 22 insertions(+), 26 deletions(-) diff --git a/packages/osd-charts/integration/tests/__image_snapshots__/all-test-ts-baseline-visual-tests-for-all-stories-stylings-custom-series-styles-area-visually-looks-correct-1-snap.png b/packages/osd-charts/integration/tests/__image_snapshots__/all-test-ts-baseline-visual-tests-for-all-stories-stylings-custom-series-styles-area-visually-looks-correct-1-snap.png index 406c4730a2929ca5741f24a6bff8613486bcd1f1..b4e1a1cf1e4906c36e6b38fb947c847f4d478071 100644 GIT binary patch literal 43974 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%0DVt?ecWG|C{A=+X& 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 diff --git a/packages/osd-charts/src/chart_types/xy_chart/renderer/canvas/primitives/line.ts b/packages/osd-charts/src/chart_types/xy_chart/renderer/canvas/primitives/line.ts index 46855fb4cdaf..da4ad4d27a96 100644 --- a/packages/osd-charts/src/chart_types/xy_chart/renderer/canvas/primitives/line.ts +++ b/packages/osd-charts/src/chart_types/xy_chart/renderer/canvas/primitives/line.ts @@ -33,18 +33,31 @@ export function renderLine(ctx: CanvasRenderingContext2D, line: Line, stroke: St } /** @internal */ -export function renderMultiLine(ctx: CanvasRenderingContext2D, lines: Line[], stroke: Stroke) { +export function renderMultiLine(ctx: CanvasRenderingContext2D, lines: Line[] | string[], stroke: Stroke) { if (stroke.width < MIN_STROKE_WIDTH) { return; } withContext(ctx, (ctx) => { const lineLength = lines.length; + if (lineLength === 0) { + return; + } ctx.strokeStyle = RGBtoString(stroke.color); + ctx.lineJoin = 'round'; ctx.lineWidth = stroke.width; if (stroke.dash) { ctx.setLineDash(stroke.dash); } + ctx.beginPath(); + + if (isStringArray(lines)) { + for (let i = 0; i < lineLength; i++) { + const path = lines[i]; + ctx.stroke(new Path2D(path)); + } + return; + } for (let i = 0; i < lineLength; i++) { const { x1, y1, x2, y2 } = lines[i]; ctx.moveTo(x1, y1); @@ -53,3 +66,7 @@ export function renderMultiLine(ctx: CanvasRenderingContext2D, lines: Line[], st ctx.stroke(); }); } + +function isStringArray(lines: Line[] | string[]): lines is string[] { + return typeof lines[0] === 'string'; +} diff --git a/packages/osd-charts/src/chart_types/xy_chart/renderer/canvas/primitives/path.ts b/packages/osd-charts/src/chart_types/xy_chart/renderer/canvas/primitives/path.ts index c16fa5c8c1ab..94da50474d1f 100644 --- a/packages/osd-charts/src/chart_types/xy_chart/renderer/canvas/primitives/path.ts +++ b/packages/osd-charts/src/chart_types/xy_chart/renderer/canvas/primitives/path.ts @@ -22,7 +22,7 @@ import { withContext, withClipRanges } from '../../../../../renderers/canvas'; import { ClippedRanges } from '../../../../../utils/geometry'; import { Point } from '../../../../../utils/point'; import { RGBtoString } from '../../../../partition_chart/layout/utils/color_library_wrappers'; -import { MIN_STROKE_WIDTH } from './line'; +import { renderMultiLine } from './line'; /** @internal */ export function renderLinePaths( @@ -37,27 +37,21 @@ export function renderLinePaths( if (clippedRanges.length > 0) { withClipRanges(context, clippedRanges, clippings, false, (ctx) => { ctx.translate(transform.x, transform.y); - linePaths.forEach((path) => { - renderPathStroke(ctx, path, stroke); - }); + renderMultiLine(ctx, linePaths, stroke); }); if (hideClippedRanges) { return; } withClipRanges(context, clippedRanges, clippings, true, (ctx) => { ctx.translate(transform.x, transform.y); - linePaths.forEach((path) => { - renderPathStroke(ctx, path, { ...stroke, dash: [5, 5] }); - }); + renderMultiLine(ctx, linePaths, { ...stroke, dash: [5, 5] }); }); return; } withContext(context, (ctx) => { ctx.translate(transform.x, transform.y); - linePaths.forEach((path) => { - renderPathStroke(ctx, path, stroke); - }); + renderMultiLine(ctx, linePaths, stroke); }); } @@ -96,21 +90,6 @@ export function renderAreaPath( }); } -function renderPathStroke(ctx: CanvasRenderingContext2D, path: string, stroke: Stroke) { - if (stroke.width < MIN_STROKE_WIDTH) { - return; - } - const path2d = new Path2D(path); - - ctx.strokeStyle = RGBtoString(stroke.color); - ctx.lineWidth = stroke.width; - if (stroke.dash) { - ctx.setLineDash(stroke.dash); - } - ctx.beginPath(); - ctx.stroke(path2d); -} - function renderPathFill(ctx: CanvasRenderingContext2D, path: string, fill: Fill) { const path2d = new Path2D(path); ctx.fillStyle = RGBtoString(fill.color);