From 623270986782aadf03ce130a187bd37d778f6a70 Mon Sep 17 00:00:00 2001 From: Goran Topic Date: Thu, 16 Feb 2012 20:40:26 +0900 Subject: [PATCH] Fixes #645 (text highlight problems) --- client/src/visualizer.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/client/src/visualizer.js b/client/src/visualizer.js index 2abbc62a0..fe31fd8fa 100644 --- a/client/src/visualizer.js +++ b/client/src/visualizer.js @@ -869,6 +869,7 @@ var Visualizer = (function($, window, undefined) { to: endPos }; } else { // it's markedText [id, start?, char#, offset] + if (span[2] < 0) span[2] = 0; if (!span[2]) { // start span[3] = text.getStartPositionOfChar(span[2]).x; } else { @@ -879,9 +880,12 @@ var Visualizer = (function($, window, undefined) { // get the span annotation text sizes var spanTexts = {}; + var noSpans = true; $.each(data.spans, function(spanNo, span) { spanTexts[span.glyphedLabelText] = true; + noSpans = false; }); + if (noSpans) spanTexts.$ = true; // dummy so we can at least get the height var spanSizes = getTextMeasurements(spanTexts, {'class': 'span'}); return { @@ -1275,6 +1279,9 @@ Util.profileStart('chunks'); // } var rightBorderForArcs = hasRightArcs ? arcHorizontalSpacing : (hasInternalArcs ? arcSlant : 0); + var lastX = current.x; + var lastRow = row; + if (chunk.sentence) { while (sentenceNumber < chunk.sentence) { sentenceNumber++; @@ -1288,9 +1295,6 @@ Util.profileStart('chunks'); sentenceToggle = 1 - sentenceToggle; } - var lastX = current.x; - var lastRow = row; - if (chunk.sentence || current.x + boxWidth + rightBorderForArcs >= canvasWidth - 2 * Configuration.visual.margin.x) { // the chunk does not fit