fix ie issue to convert document to screen coordinates
This commit is contained in:
parent
5955289793
commit
05fd6df8fe
3 changed files with 20 additions and 7 deletions
|
|
@ -115,11 +115,10 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script type="text/editor" id="jstext">function foo(items) {
|
<script type="text/editor" id="jstext">function foo(items) {
|
||||||
for (var i=0; i<items.length; i++) {
|
for (var i=0; i<items.length; i++) {
|
||||||
alert(items[i] + "juhu";
|
alert(items[i] + "juhu";
|
||||||
}
|
}
|
||||||
}
|
}</script>
|
||||||
</script>
|
|
||||||
|
|
||||||
<script type="text/editor" id="csstext">.text-layer {
|
<script type="text/editor" id="csstext">.text-layer {
|
||||||
font-family: Monaco, "Courier New", monospace;
|
font-family: Monaco, "Courier New", monospace;
|
||||||
|
|
|
||||||
|
|
@ -228,7 +228,7 @@ ace.VirtualRenderer = function(container) {
|
||||||
var screenColumn = 0;
|
var screenColumn = 0;
|
||||||
var remaining = docColumn;
|
var remaining = docColumn;
|
||||||
|
|
||||||
var line = this.doc.getLine(row).split(/\t/g);
|
var line = this.doc.getLine(row).split("\t");
|
||||||
for (var i=0; i<line.length; i++) {
|
for (var i=0; i<line.length; i++) {
|
||||||
var len = line[i].length;
|
var len = line[i].length;
|
||||||
if (remaining > len) {
|
if (remaining > len) {
|
||||||
|
|
@ -240,6 +240,7 @@ ace.VirtualRenderer = function(container) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return screenColumn;
|
return screenColumn;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -249,7 +250,7 @@ ace.VirtualRenderer = function(container) {
|
||||||
var docColumn = 0;
|
var docColumn = 0;
|
||||||
var remaining = screenColumn;
|
var remaining = screenColumn;
|
||||||
|
|
||||||
var line = this.doc.getLine(row).split(/\t/g);
|
var line = this.doc.getLine(row).split("\t");
|
||||||
for (var i=0; i<line.length; i++) {
|
for (var i=0; i<line.length; i++) {
|
||||||
var len = line[i].length;
|
var len = line[i].length;
|
||||||
if (remaining >= len + tabSize) {
|
if (remaining >= len + tabSize) {
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,19 @@ var VirtualRendererTest = new TestCase("VirtualRendererTest", {
|
||||||
assertEquals(15, renderer.$documentToScreenColumn(0, 13));
|
assertEquals(15, renderer.$documentToScreenColumn(0, 13));
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"test: convert document to scrren coordinates with leading tabs": function() {
|
||||||
|
var el = document.createElement("div");
|
||||||
|
var renderer = new ace.VirtualRenderer(el);
|
||||||
|
|
||||||
|
var doc = new ace.Document("\t\t123");
|
||||||
|
doc.setTabSize(4);
|
||||||
|
renderer.setDocument(doc);
|
||||||
|
assertEquals(0, renderer.$documentToScreenColumn(0, 0));
|
||||||
|
assertEquals(4, renderer.$documentToScreenColumn(0, 1));
|
||||||
|
assertEquals(8, renderer.$documentToScreenColumn(0, 2));
|
||||||
|
assertEquals(9, renderer.$documentToScreenColumn(0, 3));
|
||||||
|
},
|
||||||
|
|
||||||
"test: convert screen to document coordinates" : function() {
|
"test: convert screen to document coordinates" : function() {
|
||||||
var el = document.createElement("div");
|
var el = document.createElement("div");
|
||||||
var renderer = new ace.VirtualRenderer(el);
|
var renderer = new ace.VirtualRenderer(el);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue