on master help sign in
Fix size analysis of text in IE and FireFox
commit5fbc042066e06f2b26e49c62763c894d4b5725d1 authorevancz <info@elm-lang.org> dateTue 11 Sep 2012, 13:57 (14 years ago) parentbd9dc47
2 files changed+9−9
core-js/Graphics/Element.js+6−6 core-js/Value.js+3−3
core-js/Graphics/Element.js+6−6
@@ -223,29 +223,29 @@ ElmCode.Graphics.Element = function() {
223223 function heightOf_53(e) { return ~~e[4]; }
224224 function sizeOf_54(e) { return["Tuple2", ~~e[3], ~~e[4]] }
225225 function text_56(txt) {
226− var p = Value.getTextSize(-1,-1,txt);
226+ var p = Value.getTextSize(0,0,txt);
227227 return basicNewElement(EText_39("left")(txt), p[0], p[1])
228228 }
229229 function plainText(str) {
230230 var txt = Value.toText(str);
231− var p = Value.getTextSize(-1,-1,txt);
231+ var p = Value.getTextSize(0,0,txt);
232232 return basicNewElement(EText_39("left")(txt),p[0],p[1])
233233 }
234234 function asText(v) {
235235 var txt = Value.show(v);
236− var p = Value.getTextSize(-1,-1,txt);
236+ var p = Value.getTextSize(0,0,txt);
237237 return basicNewElement(EText_39("left")(txt),p[0],p[1])
238238 }
239239 function centeredText(txt) {
240− var p = Value.getTextSize(-1,-1,txt);
240+ var p = Value.getTextSize(0,0,txt);
241241 return basicNewElement(EText_39("center")(txt),p[0],p[1])
242242 }
243243 function justifiedText(txt) {
244− var p = Value.getTextSize(-1,-1,txt);
244+ var p = Value.getTextSize(0,0,txt);
245245 return basicNewElement(EText_39("justify")(txt),p[0],p[1])
246246 }
247247 function rightedText(txt) {
248− var p = Value.getTextSize(-1,-1,txt);
248+ var p = Value.getTextSize(0,0,txt);
249249 return basicNewElement(EText_39("right")(txt),p[0],p[1])
250250 }
251251 function image_57(w) {
core-js/Value.js+3−3
@@ -81,8 +81,8 @@ var Value = function(){
8181 function getTextSize(w,h,txt) {
8282 var t = document.createElement('div');
8383 t.innerHTML = txt;
84− t.style.width = w + "px";
85− //t.style.height = h + 'px';
84+ t.style.textAlign = 'left';
85+ if (w > 0) { t.style.width = w + "px"; }
8686
8787 t.style.visibility = "hidden";
8888 t.style.styleFloat = "left";
@@ -94,7 +94,7 @@ var Value = function(){
9494 var realH = cStyle.getPropertyValue("height").slice(0,-2) - 0;
9595 document.body.removeChild(t);
9696 delete t;
97− return [realW,Math.max(h,realH)];
97+ return [Math.ceil(realW),Math.ceil(Math.max(h,realH))];
9898 }
9999
100100 function getSize(e) {