s.setProperty = (function(setProp, s){
return function(propertyName, value, priority) {
setProp.call(s, propertyName, value, priority);
- var tar = elt, el = tar._tar, isFill = isStroke = false;
+ var tar = elt,
+ el = tar._tar,
+ isFill = false,
+ isStroke = false;
if ((tar.localName === "g") || (tar.localName === "a")) {
var sl = tar.getElementsByTagNameNS("http://www.w3.org/2000/svg", "*");
if (sl) {
for (var i=0,sli=sl.length;i<sli;++i) {
var di = sl[i];
- NAIBU._setPaint(di, di.getScreenCTM());
+ di.getScreenCTM && NAIBU._setPaint(di, di.getScreenCTM());
di = void 0;
}
sl = void 0;
if (!el) {
return;
}
- NAIBU._setPaint(tar, tar.getScreenCTM());
+ tar.getScreenCTM && NAIBU._setPaint(tar, tar.getScreenCTM());
el = tar = value = void 0;
};
})(setProp, s);
} else {
el.stroked = "false";
}
- cursor = style.getPropertyCSSValue("cursor");
- if (cursor && !cursor._isDefault) { //初期値でないならば
- el.style.cursor = cursor.cssText.split(":")[1];
- }
- vis = style.getPropertyCSSValue("visibility");
- if (vis && !vis._isDefault) {
- el.style.visibility = vis.cssText.split(":")[1];
- }
- disp = style.getPropertyCSSValue("display");
- if (disp && !disp._isDefault && (disp.cssText.indexOf("none") > -1)) {
- el.style.display = "none";
- } else if (disp && !disp._isDefault && (disp.indexOf("inline-block") === -1)) {
- el.style.display = "inline-block";
+ if (el.style) {
+ cursor = style.getPropertyCSSValue("cursor");
+ if (cursor && !cursor._isDefault) { //初期値でないならば
+ el.style.cursor = cursor.cssText.split(":")[1];
+ }
+ vis = style.getPropertyCSSValue("visibility");
+ if (vis && !vis._isDefault) {
+ el.style.visibility = vis.cssText.split(":")[1];
+ }
+ disp = style.getPropertyCSSValue("display");
+ if (disp && !disp._isDefault && (disp.cssText.indexOf("none") > -1)) {
+ el.style.display = "none";
+ } else if (disp && !disp._isDefault && (disp.cssText.indexOf("inline-block") === -1)) {
+ el.style.display = "inline-block";
+ }
}
tod = _doc = el = fill = stroke = sp = fp = style = cursor = tar = matrix = vis = disp = num = void 0;
};
ttr,
sth,
ctm,
- plist;
+ sstyle,
+ nstyle,
+ plist,
+ regAZ,
+ regm,
+ u, t;
/*url(#id)で一致する文字列があるかどうか*/
if (ms === id) {
marker = td.getElementById(ms);
.scale(sth)
.multiply(ctm)
.translate(-marker.refX.baseVal.value, -marker.refY.baseVal.value)));
- marker.parentNode.insertBefore(gmarker, marker.nextSibling);
- tar._tar && tar._tar.parentNode.insertBefore(gmarker._tar, tar._tar.nextSibling);
+ tar.parentNode.insertBefore(gmarker, tar.nextSibling);
+ sstyle = td.defaultView.getComputedStyle(marker, "");
+ nstyle = td.getOverrideStyle(gmarker, "");
+ regAZ = /([A-Z])/;
+ regm = /\-/;
+ for (var i in CSS2Properties) {
+ if (CSS2Properties.hasOwnProperty(i)) {
+ i = i.replace(regAZ, "-");
+ if (RegExp.$1) {
+ u = "-" +RegExp.$1.toLowerCase();
+ } else {
+ u = "-";
+ }
+ nstyle.setProperty(i, sstyle.getPropertyValue(i), "");
+ }
+ }
}
if (me === id) {
marker = td.getElementById(me);
.scale(sth)
.multiply(ctm)
.translate(-marker.refX.baseVal.value, -marker.refY.baseVal.value)));
- marker.parentNode.insertBefore(gmarker, marker.nextSibling);
- tar._tar && tar._tar.parentNode.insertBefore(gmarker._tar, tar._tar.nextSibling);
+ tar.parentNode.insertBefore(gmarker, tar.nextSibling);
+ sstyle = td.defaultView.getComputedStyle(marker, "");
+ nstyle = td.getOverrideStyle(gmarker, "");
+ regAZ = /([A-Z])/;
+ regm = /\-/;
+ for (var i in CSS2Properties) {
+ if (CSS2Properties.hasOwnProperty(i)) {
+ i = i.replace(regAZ, "-");
+ if (RegExp.$1) {
+ u = "-" +RegExp.$1.toLowerCase();
+ } else {
+ u = "-";
+ }
+ nstyle.setProperty(i, sstyle.getPropertyValue(i), "");
+ }
+ }
}
if (mid === id) {
marker = td.getElementById(mid);
}
- td = tde = style = ms = me = mid = marker = cmarker = gmarker = ctm = sth = tr = tn = ttr = plist = void 0;
+ td = tde = style = sstyle = nstyle = ms = me = mid = marker = cmarker = gmarker = ctm = sth = tr = tn = ttr = plist = regAZ = regm = u = t = void 0;
};
})(ns, id);
}, false);