From 7f47de14a610d28c93e4ae6e8c874b4f554829b7 Mon Sep 17 00:00:00 2001 From: Robert Monfera Date: Thu, 27 Oct 2016 00:21:44 +0200 Subject: [PATCH] multiline gl2d texts --- package.json | 2 +- src/plots/gl2d/scene2d.js | 5 ++--- test/image/baselines/gl2d_date_axes.png | Bin 21308 -> 21424 bytes 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 9e5edc65757..fb8759a384a 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "gl-line3d": "^1.1.0", "gl-mat4": "^1.1.2", "gl-mesh3d": "^1.2.0", - "gl-plot2d": "^1.1.9", + "gl-plot2d": "^1.2.0", "gl-plot3d": "^1.5.1", "gl-pointcloud2d": "^1.0.0", "gl-scatter2d": "^1.2.0", diff --git a/src/plots/gl2d/scene2d.js b/src/plots/gl2d/scene2d.js index 6b0c8262fe6..3fe459b6131 100644 --- a/src/plots/gl2d/scene2d.js +++ b/src/plots/gl2d/scene2d.js @@ -249,9 +249,8 @@ proto.computeTickMarks = function() { for(var j = 0; j < 2; ++j) { for(var i = 0; i < nextTicks[j].length; ++i) { - // TODO add support for '\n' in gl-plot2d, - // For now, replace '\n' with ' ' - nextTicks[j][i].text = convertHTMLToUnicode(nextTicks[j][i].text + '').replace(/\n/g, ' '); + // coercing tick value (may not be a string) to a string + nextTicks[j][i].text = convertHTMLToUnicode(nextTicks[j][i].text + ''); } } diff --git a/test/image/baselines/gl2d_date_axes.png b/test/image/baselines/gl2d_date_axes.png index 22f47afcb013f1b1e0c9d8e32b14df69b5228c84..f303ac30b059666d433f1aaebeda47b9d79cd81a 100644 GIT binary patch literal 21424 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 literal 21308 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

O@ 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 VKp&Y7-ij%3_*aYln7wC0{}-$|-sAuP