marker.type=="text" should be one character longer to account for endofline character

This commit is contained in:
nightwing 2011-01-06 16:07:02 +04:00 • committed by Fabian Jakobs
commit a4e6e77106

View file

@ -106,7 +106,7 @@ var Marker = function(parentEl) {
// selection start // selection start
var row = range.start.row; var row = range.start.row;
var lineRange = new Range(row, range.start.column, row, this.doc.getLine(row).length); var lineRange = new Range(row, range.start.column, row, this.doc.getLine(row).length);
this.drawSingleLineMarker(stringBuilder, lineRange, clazz, layerConfig); this.drawSingleLineMarker(stringBuilder, lineRange, clazz, layerConfig, 1);
// selection end // selection end
var row = range.end.row; var row = range.end.row;
@ -116,8 +116,8 @@ var Marker = function(parentEl) {
for (var row = range.start.row + 1; row < range.end.row; row++) { for (var row = range.start.row + 1; row < range.end.row; row++) {
lineRange.start.row = row; lineRange.start.row = row;
lineRange.end.row = row; lineRange.end.row = row;
lineRange.end.column = this.doc.getLine(row).length; lineRange.end.column = this.doc.getLine(row).length; // account for endofline characters
this.drawSingleLineMarker(stringBuilder, lineRange, clazz, layerConfig); this.drawSingleLineMarker(stringBuilder, lineRange, clazz, layerConfig, 1);
} }
}; };
@ -163,11 +163,11 @@ var Marker = function(parentEl) {
); );
}; };
this.drawSingleLineMarker = function(stringBuilder, range, clazz, layerConfig) { this.drawSingleLineMarker = function(stringBuilder, range, clazz, layerConfig, extraLength) {
var range = range.toScreenRange(this.doc); var range = range.toScreenRange(this.doc);
var height = layerConfig.lineHeight; var height = layerConfig.lineHeight;
var width = Math.round((range.end.column - range.start.column) * layerConfig.characterWidth); var width = Math.round((range.end.column + (extraLength || 0) - range.start.column) * layerConfig.characterWidth);
var top = (range.start.row - layerConfig.firstRow) * layerConfig.lineHeight; var top = (range.start.row - layerConfig.firstRow) * layerConfig.lineHeight;
var left = Math.round(range.start.column * layerConfig.characterWidth); var left = Math.round(range.start.column * layerConfig.characterWidth);