MCPcopy
hub / github.com/csev/py4e / measureLine

Function measureLine

tools/pythonauto/static/codemirrorepl/codemirrorepl.js:1779–1794  ·  view source on GitHub ↗
(line, ch)

Source from the content-addressed store, hash-verified

1777
1778 var tempId = "CodeMirror-temp-" + Math.floor(Math.random() * 0xffffff).toString(16);
1779 function measureLine(line, ch) {
1780 if (ch == 0) return {top: 0, left: 0};
1781 var wbr = options.lineWrapping && ch < line.text.length &&
1782 spanAffectsWrapping.test(line.text.slice(ch - 1, ch + 1));
1783 measure.innerHTML = "<pre>" + line.getHTML(makeTab, ch, tempId, wbr) + "</pre>";
1784 var elt = document.getElementById(tempId);
1785 var top = elt.offsetTop, left = elt.offsetLeft;
1786 // Older IEs report zero offsets for spans directly after a wrap
1787 if (ie && top == 0 && left == 0) {
1788 var backup = document.createElement("span");
1789 backup.innerHTML = "x";
1790 elt.parentNode.insertBefore(backup, elt.nextSibling);
1791 top = backup.offsetTop;
1792 }
1793 return {top: top, left: left};
1794 }
1795 function localCoords(pos, inLineWrap) {
1796 var x, lh = textHeight(), y = lh * (heightAtLine(doc, pos.line) - (inLineWrap ? displayOffset : 0));
1797 if (pos.ch == 0) x = 0;

Callers 2

getXFunction · 0.70
localCoordsFunction · 0.70

Calls 2

sliceMethod · 0.80
insertBeforeMethod · 0.45

Tested by

no test coverage detected