svnno****@sourc*****
svnno****@sourc*****
2010年 9月 9日 (木) 22:14:52 JST
Revision: 1996
http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=1996
Author: dhrname
Date: 2010-09-09 22:14:52 +0900 (Thu, 09 Sep 2010)
Log Message:
-----------
text要素において、位置がずれるのを修正
Modified Paths:
--------------
branches/06x/061/org/w3c/dom/svg.js
Modified: branches/06x/061/org/w3c/dom/svg.js
===================================================================
--- branches/06x/061/org/w3c/dom/svg.js 2010-09-09 11:44:43 UTC (rev 1995)
+++ branches/06x/061/org/w3c/dom/svg.js 2010-09-09 13:14:52 UTC (rev 1996)
@@ -1524,13 +1524,6 @@
var backright = bl + viewWidth + 1;
var backdown = bt + viewHeight + 1;
trstyle.clip = "rect(" +bt+ "px " +backright+ "px " +backdown+ "px " +bl+ "px)";
- //以下、テキストの位置を修正
- var text = tar._tar.getElementsByTagName("div");
- for (var i=0,textli=text.length;i<textli;++i) {
- var tis = text[i].style;
- tis.left = parseFloat(tis.left) + bl + "px";
- tis.top = parseFloat(tis.top) + bt + "px";
- }
this._document = s;
if (!!s._svgload_limited) {
/*_svgload_limitedプロパティはXlink言語が使われていない限り、0である。
@@ -3374,25 +3367,6 @@
var tar = evt.target;
var ttp = tar._tar;
if (ttp) {
- var isRect = true;
- if (ttp.lastChild) {
- if (ttp.lastChild.nodeName !== "rect") {
- isRect = false;
- }
- } else {
- isRect = false;
- }
- if (!isRect) {
- var backr = document.createElement("v:rect");
- var backrs = backr.style; //ずれを修正するためのもの
- backrs.width = "1px";
- backrs.height = "1px";
- backrs.left = "0px";
- backrs.top = "0px";
- backr.stroked = "false";
- backr.filled = "false";
- ttp.appendChild(backr);
- }
var tnext = tar.nextSibling, tpar = tar.parentNode;
if (tnext && !!tpar._tar) {
if (!!!tnext._tar) {
@@ -3420,17 +3394,18 @@
tnext = tpar = null;
}
tar.addEventListener("DOMNodeInsertedIntoDocument", function(evt) {
- var tar = evt.target, ti = tar.firstChild;
+ var tar = evt.target, ti = tar.firstChild, ttp = tar._tar;
var style = tar.ownerDocument.defaultView.getComputedStyle(tar, null);
var n = parseFloat(style.getPropertyValue("font-size")) * Math.sqrt(Math.abs(tar.getScreenCTM()._determinant()));
- tar._tar.style.fontSize = n + "px";
- tar._tar.style.fontFamily = style.getPropertyValue("font-family");
+ ttp.style.fontSize = n + "px";
+ ttp.style.fontFamily = style.getPropertyValue("font-family");
var tod = tar.ownerDocument.documentElement;
for (var i=0, j=0, tli=tar.getNumberOfChars();i<tli;++i) {
if (ti) {
var p = tar.getStartPositionOfChar(i-j);
if (!!ti._tar) {
var sty = ti._tar[i].style;
+ sty.position = "absolute";
sty.left = p.x + "px";
sty.top = p.y + "px";
sty.width = "0px";
@@ -3460,7 +3435,26 @@
}
var vis = style.getPropertyValue("visibility");
tar._tar.style.visibility = vis;
- evt = tar = style = null;
+ var isRect = true;
+ if (ttp.lastChild) {
+ if (ttp.lastChild.nodeName !== "rect") {
+ isRect = false;
+ }
+ } else {
+ isRect = false;
+ }
+ if (!isRect) {
+ var backr = document.createElement("v:rect");
+ var backrs = backr.style; //ずれを修正するためのもの
+ backrs.width = "1px";
+ backrs.height = "1px";
+ backrs.left = "0px";
+ backrs.top = "0px";
+ backr.stroked = "false";
+ backr.filled = "false";
+ ttp.appendChild(backr);
+ }
+ isRect = evt = tar = style = null;
}, false);
evt = tar = null;
},false);