* 自身をプロトタイプとして、新たにオブジェクトを生成する\r
*/\r
up: function(name) {\r
- if (!arguments[0]) {\r
- throw new Error("No arguments error");\r
- }\r
var F = _base.F,\r
s;\r
F.prototype = this;\r
s = new F();\r
- this[name] = s;\r
+ if (name) {\r
+ this[name] = s;\r
+ s.up = this.up;\r
+ } else {\r
+ /*既定値を$1としておく*/\r
+ this.$1 = s;\r
+ }\r
F = void 0;\r
return s;\r
},\r
* 別のオブジェクトと合成ができるメソッド\r
*/\r
mix: function(obj) {\r
- if (!arguments[0]) {\r
+ if (!obj) {\r
throw new Error("No arguments error");\r
}\r
if (typeof obj !== "function") {\r
* 指定した名前nameのメソッドが呼び出された場合、便乗して指定関数funcをメソッドとして実行することができる\r
*/\r
on: function(name, func) {\r
- if (!arguments[0]) {\r
+ if (!name) {\r
throw new Error("No arguments error");\r
} else if (/^(?:up|on|mix)$/.test(name)) {\r
throw new Error("Invalid method name error");\r
- } else if (typeof arguments[1] !== "function") {\r
+ } else if (typeof func !== "function") {\r
throw new Error("Not support arguments type");\r
}\r
var tev = this._eventList__,\r
}\r
};\r
\r
-/*base関数で型のチェック用に使う*/\r
-_base.FF = function(){};\r
-_base.FF.prototype = _base.obj;\r
+/*base関数でキャッシュとして使うオブジェクト*/\r
+var baseCache = {};\r
\r
base = function (name) {\r
- if (!arguments[0]) {\r
+ var __base = _base,\r
+ _cache = baseCache; //エイリアス作成\r
+ if (!name) {\r
throw new Error("No arguments error");\r
- } else if (this[name] && (this[name] instanceof _base.FF)) {\r
+ } else if (_cache[name]) {\r
/*キャッシュに登録されている場合は、登録されたオブジェクトを返す*/\r
- return this[name];\r
+ return _cache[name];\r
} else {\r
- var F = _base.F,\r
+ var F = __base.F,\r
s;\r
- F.prototype = _base.obj;\r
+ F.prototype = __base.obj;\r
s = new F();\r
- this[name] = s;\r
+ this[name] = _cache[name] = s;\r
/*自身が値であるようなプロパティを設定する*/\r
s[name] = s;\r
F = void 0;\r
proto = Object.prototype;\r
for (var i in proto) {\r
hash[i] = true;\r
+ /*上記のキャッシュについて、すべてのプロパティをnullかundefinedにしておく*/\r
+ baseCache[i] = null;\r
}\r
hash.constructor = false; //constructorはNGハッシュに追加しない\r
_base.__ng_ = hash;\r
*/\r
base.free = function() {\r
delete _base.obj;\r
- _base = void 0;\r
+ _base = baseCache = void 0;\r
};\r
\r
})();\r
*ドキュメントタイプを作るためのもの。DTDは<!DOCTYPE[ ]>で表現されうる。\r
*/\r
/*DocumentType*/ createDocumentType : function(/*string*/ qualifiedName, publicId, systemId) {\r
- var s = base("$document").up("$1");\r
+ var s = base("$document").up();\r
s.name = "";\r
s.entities = new NamedNodeMap(); //パラメタ実体を除く実体の集まり\r
s.notations = new NamedNodeMap(); //DTDで示した記法の集まり\r
*/\r
/*Document*/ createDocument : function( /*string*/ ns, qname, /*DocumentType*/ doctype) {\r
try {\r
- var s = base("$document").up("$1");\r
+ var s = base("$document").up();\r
this._doc_ && (s._document_ = this._doc_); //_document_プロパティはcreateElementNSメソッドやradialGradient要素やNAIBU._setPaintなどで使う\r
s.implementation = this;\r
s.doctype = doctype || null;\r
*テキストのノードを作る\r
*/\r
/*Text*/ createTextNode : function( /*string*/ data) {\r
- var s = this.$text.up("$1");\r
+ var s = this.$text.up();\r
s.data = s.nodeValue = data+"";\r
s.length = data.length;\r
s.ownerDocument = this;\r
*コメントノードを作る\r
*/\r
/*Comment*/ createComment : function( /*string*/ data) {\r
- var s = this.$text.$comment.up("$1");\r
+ var s = this.$text.$comment.up();\r
s.data = s.nodeValue = data;\r
s.length = data.length;\r
s.ownerDocument = this;\r
*CDATA領域ノードを作る\r
*/\r
/*CDATASection*/ createCDATASection : function( /*string*/ data) {\r
- var s = this.$text.up("$1");\r
+ var s = this.$text.up();\r
s.nodeType = /*Node.CDATA_SECTION_NODE*/ 4;\r
s.nodeName = "#cdata-section";\r
s.data = s.nodeValue = data;\r
*処理命令ノードを作る\r
*/\r
/*ProcessingInstruction*/ createProcessingInstruction : function( /*string*/ target, /*string*/ data) {\r
- var s = this.up("$1");\r
+ var s = this.up();\r
s.nodeType = /*Node.PROCESSING_INSTRUCTION_NODE*/ 7;\r
s.target = s.nodeName = target;\r
s.data = s.nodeValue = data;\r
*実体参照ノードを作る\r
*/\r
/*EntityReference*/ createEntityReference : function( /*string*/ name) {\r
- return this.up("$1").mix({\r
+ return this.up().mix({\r
nodeValue: null,\r
nodeType: /*Node.ENTITY_REFERENCE_NODE*/ 5,\r
nodeName: name,\r
}\r
}\r
} else if (imn === /*Node.ENTITY_NODE*/ 6) {\r
- s = this.$enetity.up("$1");\r
+ s = this.$enetity.up();\r
s.publicId = importedNode.publicId;\r
s.systemId = importedNode.systemId;\r
s.notationName = importedNode.notationName;\r
} else if (imn === /*Node.PROCESSING_INSTRUCTION_NODE*/ 7) {\r
s = this.createProcessingInstruction(importedNode.nodeName, importedNode.nodeValue);\r
} else if (imn === /*Node.NOTATION_NODE*/ 12) {\r
- s = this.up("$notation").up("$1");\r
+ s = this.up("$notation").up();\r
s.publicId = importedNode.publicId;\r
s.systemId = importedNode.systemId;\r
} else {\r
} else {\r
localName = qualifiedName;\r
}\r
- ele = this.$element.up("$1").mix({\r
+ ele = this.$element.up().mix({\r
childNodes: [],\r
- attributes: this.$element.attributes.up("$1"), //属性を収納\r
+ attributes: this.$element.attributes.up(), //属性を収納\r
ownerDocument: this\r
});\r
ele.namespaceURI = namespaceURI;\r
*属性ノードを作る。setAttributeNSで使うため、削除不可\r
*/\r
/*Attr*/ createAttributeNS : function( /*string*/ namespaceURI, /*string*/ qualifiedName) {\r
- var attr = this.$attr.up("$1"),\r
+ var attr = this.$attr.up(),\r
p;\r
attr.namespaceURI = namespaceURI;\r
attr.nodeName = attr.name = qualifiedName;\r
base("$document").mix(function() {\r
/*void*/ this.addEventListener = function( /*string*/ type, /*EventListener*/ listener, /*boolean*/ useCapture) {\r
this.removeEventListener(type, listener, useCapture); //いったん、(あれば)リスナーを離す。\r
- var s = base("EventListener").up("$1").initialize(useCapture, type, listener), //リスナーを作成\r
+ var s = base("EventListener").up().initialize(useCapture, type, listener), //リスナーを作成\r
t = type.charAt(0),\r
that;\r
this._capter.push(s); //このノードにリスナーを登録しておく\r
/*Documentノードに直接結びつける\r
function DocumentEvent() {\r
}*/\r
-/*Event*/ base("$document").createEvent = function( /*string*/ eventType) {\r
- var evt = ( base("$event")[eventType] || base("$event") ).up("$1");\r
- evt.initialize && evt.initialize();\r
- evt.type = eventType;\r
- evt.timeStamp = +(new Date());\r
- eventType = void 0;\r
- return evt;\r
-};\r
+/*Event*/ base("$document").mix( {\r
+ /*__$eventプロパティはcreateEventを高速化するために、前もって設定しておいたもの*/\r
+ __$event: base("$event"),\r
+ createEvent: function( /*string*/ eventType) {\r
+ var evt = ( this.__$event[eventType] || this.__$event).up();\r
+ evt.type = eventType;\r
+ evt.timeStamp = +(new Date());\r
+ eventType = void 0;\r
+ return evt;\r
+ }\r
+} );\r
\r
/*UIEventオブジェクト\r
* UIEventsとsがついているのは、createEventで識別するための名前であるため\r
title: ""\r
} )\r
.on( "_create", function() {\r
- /*MediaList*/ this.media = this.$MediaList.up("$1");\r
+ /*MediaList*/ this.media = this.$MediaList.up();\r
} )\r
.mix( function(_) {\r
\r
} );\r
\r
_.LinkStyle = function() {\r
- /*StyleSheet*/ this.sheet = _.up("$1");\r
+ /*StyleSheet*/ this.sheet = _.up();\r
};\r
\r
_.DocumentStyle = function() {\r
} ).mix( function() {\r
this.up("$CSSMediaRule").mix( {\r
type: /*CSSRule.MEDIA_RULE*/ 4,\r
- /*stylesheets::MediaList*/ media: (base("$StyleSheet").$MediaList.up("$1")),\r
+ /*stylesheets::MediaList*/ media: (base("$StyleSheet").$MediaList.up()),\r
/*CSSRuleList*/ cssRules: [],\r
\r
/*long*/ insertRule: function( /*string*/ rule, /*long*/ index) {\r
this.up("$CSSImportRule").mix( {\r
type: /*CSSRule.IMPORT_RULE*/ 3,\r
href: "",\r
- /*stylesheets::MediaList*/ media: base("$StyleSheet").$MediaList.up("$1"),\r
+ /*stylesheets::MediaList*/ media: base("$StyleSheet").$MediaList.up(),\r
/*CSSStyleSheet*/ styleSheet: null\r
} );\r
\r
*/\r
base("$CSSStyleDeclaration").mix( {\r
_new$: function() {\r
- var s = this.up("$1");\r
+ var s = this.up();\r
s._list = []; //内部のリスト\r
s._list._fontSize = s._list._opacity = null;\r
return s;\r
ti.setRGBColor(value);\r
}\r
} else {\r
- ti = tg ? tg : base("$CSSValue").$CSSPrimitiveValue.up("$1");\r
+ ti = tg ? tg : base("$CSSValue").$CSSPrimitiveValue.up();\r
}\r
ti._priority = priority;\r
ti.cssText = cssText;\r
\r
function RGBColor() {\r
var cs = base("$CSSValue").$CSSPrimitiveValue;\r
- this.red = cs.up("$1");\r
- this.green = cs.up("$1");\r
- this.blue = cs.up("$1");\r
+ this.red = cs.up();\r
+ this.green = cs.up();\r
+ this.blue = cs.up();\r
cs = void 0;\r
this.red.primitiveType = this.green.primitiveType = this.blue.primitiveType = /*CSSPrimitiveValue.CSS_NUMBER*/ 1;\r
};\r
\r
function Rect() {\r
var cs = base("$CSSValue").$CSSPrimitiveValue;\r
- this.top = cs.up("$1");\r
- this.right = cs.up("$1");\r
- this.bottom = cs.up("$1");\r
- this.left = cs.up("$1");\r
+ this.top = cs.up();\r
+ this.right = cs.up();\r
+ this.bottom = cs.up();\r
+ this.left = cs.up();\r
cs = void 0;\r
};\r
\r
/*CSSStyleSheet*/ base("DOMImplementation").createCSSStyleSheet = function( /*string*/ title, /*string*/ media) {\r
var s = base("$StyleSheet").up("$CSSStyleSheet")._create();\r
s.title = title;\r
- var nm = s.$MediaList.up("$1");\r
+ var nm = s.$MediaList.up();\r
nm.mediaText = media;\r
if (media && (media !== "")) {\r
var mes = media.split(","); //文字列をコンマで区切って配列に\r
/*$svgelement\r
*すべてのSVG関連要素の雛形となるオブジェクト\r
*/\r
-base("$document").$element.up("$svgelement").mix( {\r
+base.$1 = base("$document").$element.up("$svgelement").mix( {\r
+ /*SVGの名前空間をつけて継承オブジェクトを作るため*/\r
+ upsvg: function(name) {\r
+ return this.up("http://www.w3.org/2000/svg" + name);\r
+ },\r
initialize: function () {\r
SVGStylable.call(this); //ElementCSSInlineStyleのインタフェースを継承\r
/*interface SVGTransformable : SVGLocatable\r
\r
/*interface SVGLocatable*/\r
/*SVGRect*/ getBBox: function(){\r
- var s = base("$SVGRect").up("$1"),\r
+ var s = base("$SVGRect").up(),\r
data = this._tar.path.value,\r
vi = this.ownerDocument.documentElement.viewport,\r
el = vi.width,\r
this.up("$SVGPathSegList");\r
} );\r
\r
-base("$SVGAnimatedEnumeration").mix( {\r
+(function() {\r
+var obj = {\r
/*unsigned short*/ baseVal: 0,\r
// raises DOMException on setting\r
/*readonly unsigned short*/ animVal: 0\r
-} );\r
-base("$SVGAnimatedInteger").mix( {\r
- /*long*/ baseVal: 0,\r
- // raises DOMException on setting\r
- /*readonly long*/ animVal: 0\r
-} );\r
+};\r
+base("$SVGAnimatedEnumeration").mix(obj);\r
+base("$SVGAnimatedInteger").mix(obj);\r
+base("$SVGAnimatedNumber").mix(obj);\r
+obj = void 0;\r
+})();\r
+\r
base("$SVGNumber") \r
/*float*/ .value = 0;\r
// raises DOMException on setting\r
-base("$SVGAnimatedNumber").mix( {\r
- /*float*/ baseVal: 0,\r
- /*float*/ animVal: 0\r
-} );\r
\r
/*SVGUnmberListのメソッドはSVGStringListを参照*/\r
\r
function SVGAnimatedNumberList() {\r
- /*readonly SVGNumberList*/ this.animVal = this.baseVal = base("$SVGStringList").$SVGNumberList.up("$1");\r
+ /*readonly SVGNumberList*/ this.animVal = this.baseVal = base("$SVGStringList").$SVGNumberList.up();\r
};\r
/*$SVGLengthオブジェクト\r
*長さを設定する(単位pxに統一する方便として使う)\r
} );\r
function SVGAnimatedLength() {\r
/*readonly SVGLength*/ this.animVal;\r
- this.baseVal = base("$SVGLength").up("$1");\r
+ this.baseVal = base("$SVGLength").up();\r
this.baseVal.unitType = 1;\r
};\r
\r
/*SVGLengthListのメソッドはSVGStringListを参照*/\r
\r
function SVGAnimatedLengthList() {\r
- /*readonly SVGLengthList*/ this.animVal = this.baseVal = base("$SVGStringList").$SVGLengthList.up("$1");;\r
+ /*readonly SVGLengthList*/ this.animVal = this.baseVal = base("$SVGStringList").$SVGLengthList.up();;\r
};\r
\r
base("$SVGAngle").mix( {\r
/*const unsigned short SVGAngle.SVG_ANGLETYPE_RAD = 3;\r
/*const unsigned short SVGAngle.SVG_ANGLETYPE_GRAD = 4;*/\r
function SVGAnimatedAngle() {\r
- /*readonly attribute SVGAngle*/ this.baseVal = base("$SVGAngle").up("$1");\r
- /*readonly attribute SVGAngle*/ this.animVal = base("$SVGAngle").up("$1");\r
+ /*readonly attribute SVGAngle*/ this.baseVal = base("$SVGAngle").up();\r
+ /*readonly attribute SVGAngle*/ this.animVal = base("$SVGAngle").up();\r
};\r
\r
base("$CSSValue").up("$SVGColor").mix( {\r
_new$: function() {\r
- /*readonly css::RGBColor*/ this.up("$1").rgbColor = new RGBColor();\r
+ /*readonly css::RGBColor*/ this.up().rgbColor = new RGBColor();\r
return this.$1;\r
},\r
// Color Types\r
} );\r
\r
function SVGAnimatedRect() {\r
- /*readonly SVGRect*/ this.baseVal = base("$SVGRect").up("$1");\r
-/*readonly SVGRect*/ this.animVal = base("$SVGRect").up("$1");\r
+ /*readonly SVGRect*/ this.baseVal = base("$SVGRect").up();\r
+/*readonly SVGRect*/ this.animVal = base("$SVGRect").up();\r
};\r
\r
/*SVGUnitTypes = {\r
/*unsigned short SVG_UNIT_TYPE_OBJECTBOUNDINGBOX : 2\r
};*/\r
function SVGStylable() {\r
- /*readonly attribute SVGAnimatedString*/ this.className = base("$SVGAnimatedString").up("$1");\r
+ /*readonly attribute SVGAnimatedString*/ this.className = base("$SVGAnimatedString").up();\r
ElementCSSInlineStyle.call(this);\r
};\r
/*getPresentationAttributeメソッド\r
*SIEでは、もっぱらXLink言語の処理を行う\r
*/\r
function SVGURIReference() {\r
- /*readonly SVGAnimatedString*/ this.href = base("$SVGAnimatedString").up("$1");\r
+ /*readonly SVGAnimatedString*/ this.href = base("$SVGAnimatedString").up();\r
this._instance = null; //埋め込みの場合に、読み込んだDOMツリーを結び付けておくプロパティ\r
this._text = "";\r
this.addEventListener("DOMAttrModified", function(evt){\r
evtt.initMutationEvent("DOMNodeInsertedIntoDocument", false, false, null, null, null, null, null);\r
return evtt;\r
};\r
- this._document_ = document;\r
+ this._document_ = this._doc_ || document; //_doc_プロパティに関しては、GetSVGDocumentの_caメソッドを参照\r
/*base.jsを使ったメソッドのオーバライドによって、SVG関連のオブジェクトを呼び出せるようにする*/\r
this.createElementNS = function(ns, name) {\r
var t$e = this.$element,\r
/*$svg\r
*svg要素をあらわすオブジェクト\r
*/\r
-base("$document").$element.$svgelement.up("http://www.w3.org/2000/svgsvg").on("initialize", function (_doc) {\r
+base("$document").$element.$svgelement.upsvg("svg").on("initialize", function (_doc) {\r
_doc && (this._tar = _doc.createElement("v:group"));\r
_doc = void 0;\r
/*_svgload_limitedはSVGLoadイベントを発火させる判定基準。\r
this._currentTime = seconds;\r
},\r
/*SVGNumber*/ createSVGNumber: function(){\r
- return base("$SVGNumber").up("$1");\r
+ return base("$SVGNumber").up();\r
},\r
/*SVGAngle*/ createSVGAngle: function(){\r
- var s = base("$SVGAngle").up("$1");\r
+ var s = base("$SVGAngle").up();\r
s.unitType = 1;\r
return s;\r
},\r
/*SVGLength*/ createSVGLength: function(){\r
- var s = base("$SVGLength").up("$1");\r
+ var s = base("$SVGLength").up();\r
s.unitType = /*SVG_LENGTHTYPE_NUMBER*/ 1;\r
return s;\r
},\r
/*SVGPoint*/ createSVGPoint: function(){\r
- return base("$SVGPoint").up("$1");\r
+ return base("$SVGPoint").up();\r
},\r
/*SVGMatrix*/ createSVGMatrix: function(){\r
//単位行列を作成\r
- return base("$SVGMatrix").up("$1");\r
+ return base("$SVGMatrix").up();\r
},\r
/*SVGRect*/ createSVGRect: function(){\r
- return base("$SVGRect").up("$1");\r
+ return base("$SVGRect").up();\r
},\r
/*SVGTransform*/ createSVGTransform: function(){\r
var s = this.createSVGTransformFromMatrix(this.createSVGMatrix());\r
};\r
function SVGViewSpec(ele) {\r
SVGFitToViewBox.call(this, ele);\r
- /*readonly SVGTransformList*/ this.transform = base("$SVGStringList").$SVGTransformList.up("$1");\r
+ /*readonly SVGTransformList*/ this.transform = base("$SVGStringList").$SVGTransformList.up();\r
/*readonly SVGElement*/ this.viewTarget = ele;\r
/*readonly DOMString*/ this.viewBoxString = this.preserveAspectRatioString = this.transformString = this.viewTargetString = "";\r
};\r
\r
-function SVGGElement(_doc) {\r
+base.$1.upsvg("g")\r
+ .on("initialize", function (_doc) {\r
this._tar = _doc.createElement("v:group");\r
_doc = void 0;\r
/*以下の処理は、この子要素ノードがDOMツリーに追加されて初めて、\r
}\r
tnext = sar = spar = snext = void 0;\r
}, false);\r
-};\r
+} );\r
\r
-function SVGDefsElement() {\r
+base.$1.upsvg("defs").on("initialize", function () {\r
this.style.setProperty("display", "none");\r
-};\r
+} );\r
\r
-function SVGDescElement() {\r
-}\r
+base.$1.upsvg("desc");\r
\r
-function SVGTitleElement() {\r
+base.$1.upsvg("title").on("initialize", function () {\r
this.addEventListener("DOMCharacterDataModified", function(evt){\r
evt.target.ownerDocument.title = evt.target.firstChild.nodeValue;\r
}, false);\r
-};\r
+} );\r
\r
-function SVGSymbolElement(_doc) {\r
-};\r
+base.$1.upsvg("symbol");\r
\r
-function SVGUseElement() {\r
- SVGGElement.apply(this, arguments);\r
+base.$1.upsvg("use").initialize = function () {\r
+ this["http://www.w3.org/2000/svgg"].initialize.apply(this, arguments);\r
var slen = SVGAnimatedLength;\r
/*readonly SVGAnimatedLength*/ this.x = new slen(); //use要素のx属性に対応(以下、同様)\r
/*readonly SVGAnimatedLength*/ this.y = new slen();\r
/*readonly SVGAnimatedLength*/ this.width = new slen();\r
/*readonly SVGAnimatedLength*/ this.height = new slen();\r
slen = void 0;\r
- /*readonly SVGElementInstance*/ this.instanceRoot = this.up("$1"); //参照先インスタンスのルート\r
- /*readonly SVGElementInstance*/ this.animatedInstanceRoot = this.up("$1");//アニメの最中のインスタンス。静止中は通常\r
+ /*readonly SVGElementInstance*/ this.instanceRoot = this.up(); //参照先インスタンスのルート\r
+ /*readonly SVGElementInstance*/ this.animatedInstanceRoot = this.up();//アニメの最中のインスタンス。静止中は通常\r
this.addEventListener("DOMNodeInserted", function(evt){\r
if (evt.eventPhase === /*Event.BUBBLING_PHASE*/ 3) {\r
return; //強制終了させる\r
*Nodeオブジェクトを継承させる\r
*SVGElementInstanceList*/\r
\r
-function SVGImageElement(_doc) {\r
+base.$1.upsvg("image")\r
+ .on("initialize", function (_doc) {\r
this._tar = _doc.createElement("v:image");\r
//以下は、与えられた属性の値に対応する\r
var slen = SVGAnimatedLength;\r
evt = tar = void 0;\r
}, false);\r
SVGURIReference.apply(this);\r
-};\r
+} )\r
/*_imageo関数は、SVGForeignObjectElementで再利用するので、切り離しておく*/\r
-SVGImageElement.prototype._imageo = function(evt) {\r
+ ._imageo = function(evt) {\r
var tar = evt.target,\r
style = tar.ownerDocument.defaultView.getComputedStyle(tar, ""),\r
fontSize = parseFloat(style.getPropertyValue("font-size")),\r
evt = tar = style = fontSize = ts = ctm = po = fillOpacity = void 0;\r
};\r
\r
-function SVGSwitchElement(_doc) {\r
+base.$1.upsvg("switch")\r
+ .on("initialize", function (_doc) {\r
this._tar = _doc.createElement("v:group");\r
_doc = void 0;\r
this.addEventListener("DOMNodeInserted", function(evt){\r
tar._inserted__(tar);\r
evt = tar = void 0;\r
}, false);\r
-};\r
+} );\r
\r
//bookmarkletから呼び出されたらtrue\r
var sieb_s;\r
openPath: (this._baseURL.replace(/\?.+/, "")\r
.replace(/\/[^\/]+$/, "/"))\r
});\r
- s._iframe = ifr; //_iframeプロパティはSVGAElementでリンク置換のときに扱う\r
+ s._iframe = ifr; //_iframeプロパティはa要素オブジェクトでリンク置換のときに扱う\r
oba.setAttribute("id","_NAIBU_outline");\r
_doc.body.appendChild(oba);\r
sp.style.margin = "-1px,0px,0px,-1px";\r
/*空関数(IEのメモリリーク対策)*/\r
NAIBU.emptyFunction = function() {};\r
\r
-/*SVGStyleElement\r
- *style要素をあらわすオブジェクト\r
- */\r
-function SVGStyleElement(_doc) {\r
+/*style要素をあらわすオブジェクト*/\r
+base.$1.upsvg("style")\r
+ .on("initialize", function (_doc) {\r
base("$StyleSheet").LinkStyle.apply(this);\r
/*LinkStyleに関しては、以下の仕様を参照のこと。なお、これはSVG DOMでは継承されていないので要注意。\r
*CSS2 1. Document Object Model Style Sheets\r
tar = evt = void 0;\r
}, false);\r
}, false);\r
-};\r
+} );\r
\r
/*SVGPoint\r
*2次元座標の点(x,y)を表すオブジェクト\r
if (!isFinite(matrix.a) || !isFinite(matrix.b) || !isFinite(matrix.c) || !isFinite(matrix.d) || !isFinite(matrix.e) || !isFinite(matrix.f)) {\r
throw (new Error("Type Error: 引数の値がNumber型ではありません"));\r
}\r
- var s = base("$SVGPoint").up("$1");\r
+ var s = base("$SVGPoint").up();\r
s.x = matrix.a * this.x + matrix.c * this.y + matrix.e;\r
s.y = matrix.b * this.x + matrix.d * this.y + matrix.f;\r
return s;\r
*行列の積を求めて返す\r
*/\r
/*SVGMatrix*/ multiply : function(/*SVGMatrix*/ secondMatrix ) {\r
- var s = this.$SVGMatrix.up("$1"),\r
+ var s = this.$SVGMatrix.up(),\r
m = secondMatrix,\r
isf = isFinite,\r
t = this;\r
*逆行列を返す\r
*/\r
/*SVGMatrix*/ inverse : function() {\r
- var s = this.$SVGMatrix.up("$1"), \r
+ var s = this.$SVGMatrix.up(), \r
n = this._determinant();\r
if (n !== 0) {\r
s.a = this.d / n;\r
}\r
},\r
/*SVGMatrix*/ translate : function(/*float*/ x, /*float*/ y ) {\r
- var m = this.$SVGMatrix.up("$1");\r
+ var m = this.$SVGMatrix.up();\r
m.e = x;\r
m.f = y;\r
var s = this.multiply(m);\r
return s;\r
},\r
/*SVGMatrix*/ scale : function(/*float*/ scaleFactor ) {\r
- var m = this.$SVGMatrix.up("$1");\r
+ var m = this.$SVGMatrix.up();\r
m.a = scaleFactor;\r
m.d = scaleFactor;\r
var s = this.multiply(m);\r
return s;\r
},\r
/*SVGMatrix*/ scaleNonUniform : function(/*float*/ scaleFactorX, /*float*/ scaleFactorY ) {\r
- var m = this.$SVGMatrix.up("$1");\r
+ var m = this.$SVGMatrix.up();\r
m.a = scaleFactorX;\r
m.d = scaleFactorY;\r
var s = this.multiply(m);\r
return s;\r
},\r
/*SVGMatrix*/ rotate : function(/*float*/ angle ) {\r
- var m = this.$SVGMatrix.up("$1"), rad = angle / 180 * Math.PI; //ラジアン変換\r
+ var m = this.$SVGMatrix.up(), rad = angle / 180 * Math.PI; //ラジアン変換\r
m.a = Math.cos(rad);\r
m.b = Math.sin(rad);\r
m.c = -m.b;\r
if ((x === 0) || (y === 0) || !isFinite(x) || !isFinite(y)) {\r
throw (new SVGException(/*SVGException.SVG_INVALID_VALUE_ERR*/ 1));\r
}\r
- var m = this.$SVGMatrix.up("$1"), rad = Math.atan2(y, x);\r
+ var m = this.$SVGMatrix.up(), rad = Math.atan2(y, x);\r
m.a = Math.cos(rad);\r
m.b = Math.sin(rad);\r
m.c = -m.b;\r
return s;\r
},\r
/*SVGMatrix*/ flipX : function() {\r
- var m = this.$SVGMatrix.up("$1");\r
+ var m = this.$SVGMatrix.up();\r
m.a = -m.a;\r
var s = this.multiply(m);\r
m = void 0;\r
return s;\r
},\r
/*SVGMatrix*/ flipY : function() {\r
- var m = this.$SVGMatrix.up("$1");\r
+ var m = this.$SVGMatrix.up();\r
m.d = -m.d;\r
var s = this.multiply(m);\r
m = void 0;\r
return s;\r
},\r
/*SVGMatrix*/ skewX : function(/*float*/ angle ){\r
- var m = this.$SVGMatrix.up("$1"), rad = angle / 180 * Math.PI; //ラジアン変換\r
+ var m = this.$SVGMatrix.up(), rad = angle / 180 * Math.PI; //ラジアン変換\r
m.c = Math.tan(rad);\r
var s = this.multiply(m);\r
m = void 0;\r
return s;\r
},\r
/*SVGMatrix*/ skewY : function(/*float*/ angle ){\r
- var m = this.$SVGMatrix.up("$1"), rad = angle / 180 * Math.PI;\r
+ var m = this.$SVGMatrix.up(), rad = angle / 180 * Math.PI;\r
m.b = Math.tan(rad);\r
var s = this.multiply(m);\r
m = void 0;\r
} );\r
\r
function SVGTransform() {\r
- /*readonly SVGMatrix*/ this.matrix = base("$SVGMatrix").up("$1");\r
+ /*readonly SVGMatrix*/ this.matrix = base("$SVGMatrix").up();\r
};\r
// Transform Types\r
/*unsigned short*/ SVGTransform.SVG_TRANSFORM_UNKNOWN = 0;\r
/*readonly float*/ angle : 0,\r
/*void*/ setMatrix : function(/*SVGMatrix*/ matrix ) {\r
this.type = /*SVGTransform.SVG_TRANSFORM_MATRIX*/ 1;\r
- var mat = this._matrix.up("$1");\r
+ var mat = this._matrix.up();\r
mat.a = matrix.a;\r
mat.b = matrix.b;\r
mat.c = matrix.c;\r
} );\r
\r
function SVGAnimatedTransformList() {\r
- /*readonly SVGTransformList*/ this.animVal = this.baseVal = base("$SVGStringList").$SVGTransformList.up("$1");\r
+ /*readonly SVGTransformList*/ this.animVal = this.baseVal = base("$SVGStringList").$SVGTransformList.up();\r
};\r
\r
base("SVGPreserveAspectRatio").mix( {\r
})(base("SVGPreserveAspectRatio"));*/\r
\r
function SVGAnimatedPreserveAspectRatio() {\r
- /*readonly SVGPreserveAspectRatio*/ this.animVal = this.baseVal = base("SVGPreserveAspectRatio").up("$1");\r
+ /*readonly SVGPreserveAspectRatio*/ this.animVal = this.baseVal = base("SVGPreserveAspectRatio").up();\r
};\r
\r
function SVGPathSeg() {\r
/*unsigned short t.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19;\r
})(SVGPathSeg);*/\r
/*SVGPathSegxx\r
- *軽量化のために、SVGPathSegの継承をしない。また、{}オブジェクトで代用する予定\r
- */\r
-function SVGPathSegClosePath() {\r
-};\r
-SVGPathSegClosePath.prototype = {\r
- pathSegType : /*SVGPathSeg.PATHSEG_CLOSEPATH*/ 1,\r
- pathSegTypeAsLetter : "z"\r
-};\r
-function SVGPathSegMovetoAbs() {\r
- /*float* this.x;\r
- /*float* this.y;*/\r
-};\r
-SVGPathSegMovetoAbs.prototype = {\r
- pathSegType : /*SVGPathSeg.PATHSEG_MOVETO_ABS*/ 2,\r
- pathSegTypeAsLetter : "M"\r
-};\r
-function SVGPathSegMovetoRel() {\r
- /*float this.x;\r
- /*float this.y;*/\r
-};\r
-SVGPathSegMovetoRel.prototype = {\r
- pathSegType : /*SVGPathSeg.PATHSEG_MOVETO_REL*/ 3,\r
- pathSegTypeAsLetter : "m"\r
-};\r
-function SVGPathSegLinetoAbs() {\r
- /*float* this.x;\r
- /*float* this.y;*/\r
-};\r
-SVGPathSegLinetoAbs.prototype = {\r
- pathSegType : /*SVGPathSeg.PATHSEG_LINETO_ABS*/ 4,\r
- pathSegTypeAsLetter : "L"\r
-};\r
-function SVGPathSegLinetoRel() {\r
- /*float this.x;\r
- /*float this.y;*/\r
-};\r
-SVGPathSegLinetoRel.prototype = {\r
- pathSegType : /*SVGPathSeg.PATHSEG_LINETO_REL*/ 5,\r
- pathSegTypeAsLetter : "l"\r
-};\r
-function SVGPathSegCurvetoCubicAbs() {\r
- /*float* this.x;\r
- /*float* this.y;\r
- /*float* this.x1;\r
- /*float* this.y1;\r
- /*float* this.x2;\r
- /*float* this.y2;*/\r
-};\r
-SVGPathSegCurvetoCubicAbs.prototype = {\r
- pathSegType : /*SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS*/ 6,\r
- pathSegTypeAsLetter : "C"\r
-};\r
-function SVGPathSegCurvetoCubicRel() {\r
- /*float* this.x;\r
- /*float* this.y;\r
- /*float* this.x1;\r
- /*float* this.y1;\r
- /*float* this.x2;\r
- /*float* this.y2;*/\r
-};\r
-SVGPathSegCurvetoCubicRel.prototype = {\r
- pathSegType : /*SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL*/ 7,\r
- pathSegTypeAsLetter : "c"\r
-};\r
-function SVGPathSegCurvetoQuadraticAbs() {\r
- /*float this.x;\r
- /*float this.y;\r
- /*float this.x1;\r
- /*float this.y1;*/\r
- this.pathSegType = /*SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS*/ 8;\r
- this.pathSegTypeAsLetter = "Q";\r
-};\r
-function SVGPathSegCurvetoQuadraticRel() {\r
- /*float this.x;\r
- /*float this.y;\r
- /*float this.x1;\r
- /*float this.y1;*/\r
- this.pathSegType = /*SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL*/ 9;\r
- this.pathSegTypeAsLetter = "q";\r
-};\r
-\r
-function SVGPathSegArcAbs() {\r
- /*float this.x;\r
- /*float this.y;\r
- /*float this.r1;\r
- /*float this.r2;\r
- /*float this.angle;*/\r
-};\r
-SVGPathSegArcAbs.prototype = {\r
- /*boolean*/ largeArcFlag : true,\r
- /*boolean*/ sweepFlag : true,\r
- pathSegType : /*SVGPathSeg.PATHSEG_ARC_ABS*/ 10,\r
- pathSegTypeAsLetter : "A"\r
-};\r
-function SVGPathSegArcRel() {\r
- /*float this.x;\r
- /*float this.y;\r
- /*float this.r1;\r
- /*float this.r2;\r
- /*float this.angle;*/\r
-};\r
-SVGPathSegArcRel.prototype = {\r
- /*boolean*/ largeArcFlag : true,\r
- /*boolean*/ sweepFlag : true,\r
- pathSegType : /*SVGPathSeg.PATHSEG_ARC_REL*/ 11,\r
- pathSegTypeAsLetter : "a"\r
-};\r
-function SVGPathSegLinetoHorizontalAbs() {\r
- /*float this.x;*/\r
- this.pathSegType = /*SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS*/ 12;\r
- this.pathSegTypeAsLetter = "H";\r
-};\r
-function SVGPathSegLinetoHorizontalRel() {\r
- /*float this.x;*/\r
- this.pathSegType = /*SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL*/ 13;\r
- this.pathSegTypeAsLetter = "h";\r
-};\r
-function SVGPathSegLinetoVerticalAbs() {\r
- /*float this.y;*/\r
- this.pathSegType = /*SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS*/ 14;\r
- this.pathSegTypeAsLetter = "V";\r
-};\r
-function SVGPathSegLinetoVerticalRel() {\r
- /*float this.y;*/\r
- this.pathSegType = /*SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL*/ 15;\r
- this.pathSegTypeAsLetter = "v";\r
-};\r
-function SVGPathSegCurvetoCubicSmoothAbs() {\r
- /*float this.x;\r
- /*float this.y;\r
- /*float this.x2;\r
- /*float this.y2;*/\r
- this.pathSegType = /*SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS*/ 16;\r
- this.pathSegTypeAsLetter = "S";\r
-};\r
-function SVGPathSegCurvetoCubicSmoothRel() {\r
- /*float this.x;\r
- /*float this.y;\r
- /*float this.x2;\r
- /*float this.y2;*/\r
- this.pathSegType = /*SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL*/ 17;\r
- this.pathSegTypeAsLetter = "s";\r
-};\r
-function SVGPathSegCurvetoQuadraticSmoothAbs() {\r
- /*float this.x;\r
- /*float this.y;*/\r
- this.pathSegType = /*SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS*/ 18;\r
- this.pathSegTypeAsLetter = "T";\r
-};\r
-function SVGPathSegCurvetoQuadraticSmoothRel() {\r
- /*float this.x;\r
- /*float this.y;*/\r
- this.pathSegType = /*SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL*/ 19;\r
- this.pathSegTypeAsLetter = "t";\r
-};\r
+ *軽量化のために、SVGPathSegの実装をしない。\r
+ $SVGPathElementのファクトリーメソッドで実装*/\r
\r
/*documentは引数の変数として登録しておく*/\r
(function(_doc, _math) {\r
//freeArg関数はunloadで使う解放処理\r
NAIBU.freeArg = function() {\r
- SVGPathElement = _doc = _math = void 0;\r
+ _doc = _math = void 0;\r
};\r
//仮のfill属性とstroke属性の処理\r
NAIBU._setPaint = function(tar, matrix) {\r
tod = _doc = el = fill = stroke = sp = fp = style = cursor = tar = matrix = vis = disp = num = void 0;\r
};\r
\r
-function SVGPathElement(_doc) {\r
- this._tar = _doc.createElement("v:shape");\r
- //interface SVGAnimatedPathData\r
- var sp = base("$SVGStringList").$SVGPathSegList;\r
- /*readonly SVGPathSegList*/ this.pathSegList = sp.up("$1");\r
- this.animatedPathSegList = this.pathSegList;\r
- /*readonly SVGPathSegList*/ this.normalizedPathSegList = sp.up("$1");\r
- sp = _doc = void 0;\r
- this.animatedNormalizedPathSegList = this.normalizedPathSegList;\r
- /*readonly SVGAnimatedNumber*/ this.pathLength = base("$SVGAnimatedNumber").up("$1");\r
- //以下は、d属性に変更があった場合の処理\r
- this.addEventListener("DOMAttrModified", this._attrModi, false);\r
- /*以下の処理は、このpath要素ノードがDOMツリーに追加されて初めて、\r
- *描画が開始されることを示す。つまり、appendChildで挿入されない限り、描画をしない。\r
- */\r
- this.addEventListener("DOMNodeInserted", this._nodeInsert, false);\r
-};\r
-(function(_sproto) {\r
-_sproto._attrModi = function(evt){\r
+base.$1.upsvg("path")\r
+ .on("initialize", function (_doc) {\r
+ this._tar = _doc.createElement("v:shape");\r
+ //interface SVGAnimatedPathData\r
+ var sp = base("$SVGStringList").$SVGPathSegList;\r
+ /*readonly SVGPathSegList*/ this.pathSegList = sp.up();\r
+ this.animatedPathSegList = this.pathSegList;\r
+ /*readonly SVGPathSegList*/ this.normalizedPathSegList = sp.up();\r
+ sp = _doc = void 0;\r
+ this.animatedNormalizedPathSegList = this.normalizedPathSegList;\r
+ /*readonly SVGAnimatedNumber*/ this.pathLength = base("$SVGAnimatedNumber").up();\r
+ //以下は、d属性に変更があった場合の処理\r
+ this.addEventListener("DOMAttrModified", this._attrModi, false);\r
+ /*以下の処理は、このpath要素ノードがDOMツリーに追加されて初めて、\r
+ *描画が開始されることを示す。つまり、appendChildで挿入されない限り、描画をしない。\r
+ */\r
+ this.addEventListener("DOMNodeInserted", this._nodeInsert, false);\r
+ } )\r
+ .mix( {\r
+_attrModi: function(evt){\r
var tar = evt.target;\r
if (evt.attrName === "d" && evt.newValue !== ""){\r
/* d属性の値が空の場合は、描画を行わないようにする\r
}\r
}\r
evt = tar = taco = cx = cy = xn = yn = startx = starty = tnl = tlist = ti = dii = ts = isZ = isM = isL = isC = s = tcc = tcll = void 0;\r
-};\r
-_sproto._nodeInsert = function(evt){\r
+},\r
+_nodeInsert: function(evt){\r
var tar = evt.target;\r
if (evt.eventPhase === /*Event.BUBBLING_PHASE*/ 3) {\r
return; //強制終了させる\r
tnext = sar = spar = snext = void 0;\r
tar.addEventListener("DOMNodeInsertedIntoDocument", tar._nodeInsertInto, false);\r
evt = tar = void 0;\r
-};\r
-_sproto._nodeInsertInto = function(evt){\r
+},\r
+_nodeInsertInto: function(evt){\r
/*以下の処理は、normalizedpathSegListとCTMに基づいて、\r
*SVGのd属性をVMLに変換していく処理である。\r
*/\r
tt.coordsize = vi.width.baseVal.value + " " + vi.height.baseVal.value;\r
NAIBU._setPaint(tar, matrix);\r
tar._cacheMatrix = evt = tar = dat = t = tx = ty = matrix = tlist = x = y = mr = ma = mb = mc = md = me = mf = vi = isZ = isC = i = tli = tps = ti = cname = tt = void 0;\r
-};\r
-_sproto._com = {\r
+},\r
+_com: {\r
_nameCom : {\r
C : "c",\r
L : "l",\r
isRd : /([zZ])/g,\r
isRe : /,/,\r
isSp : /\S+/g\r
-};\r
- /*float*/ _sproto.getTotalLength = function() {\r
+},\r
+ /*float*/ getTotalLength: function() {\r
var s = 0,\r
nl = this.normalizedPathSegList;\r
for (var i=1,nln=nl.numberOfItems,ms=null;i<nln;++i) {\r
}\r
this.pathLength.baseVal = s;\r
return s;\r
- };\r
- /*SVGPoint*/ _sproto.getPointAtLength = function(/*float*/ distance ) {\r
+ },\r
+ /*SVGPoint*/ getPointAtLength: function(/*float*/ distance ) {\r
var segn = this.getPathSegAtLength(distance),\r
x = 0,\r
y = 0,\r
s.y = ms.y + t * (seg.y-ms.y);\r
}\r
return s;\r
- };\r
- /*unsigned long*/ _sproto.getPathSegAtLength = function(/*float*/ distance ) {\r
+ },\r
+ /*unsigned long*/ getPathSegAtLength: function(/*float*/ distance ) {\r
var nl = this.normalizedPathSegList; //仕様ではpathSegList\r
for (var i=0,nln=nl.numberOfItems,ms=null;i<nln;++i) {\r
var seg = nl.getItem(i);\r
*なお、これはSVG1.1の仕様の想定外のこと\r
*/\r
return (nl.numberOfItems - 1);\r
- };\r
- /*SVGPathSegClosePath*/ _sproto.createSVGPathSegClosePath = function() {\r
- var _SVGPathSegClosePath = SVGPathSegClosePath;\r
- return (new _SVGPathSegClosePath());\r
- };\r
- /*SVGPathSegMovetoAbs*/ _sproto.createSVGPathSegMovetoAbs = function(/*float*/ x, /*float*/ y ) {\r
- var _SVGPathSegMovetoAbs = SVGPathSegMovetoAbs, s = new _SVGPathSegMovetoAbs();\r
- s.x = x;\r
- s.y = y;\r
- return s;\r
- };\r
- /*SVGPathSegMovetoRel*/ _sproto.createSVGPathSegMovetoRel = function(/*float*/ x, /*float*/ y ) {\r
- var s = new SVGPathSegMovetoRel();\r
- s.x = x;\r
- s.y = y;\r
- return s;\r
- };\r
- /*SVGPathSegLinetoAbs*/ _sproto.createSVGPathSegLinetoAbs = function(/*float*/ x, /*float*/ y ) {\r
- var s = new SVGPathSegLinetoAbs();\r
- s.x = x;\r
- s.y = y;\r
- return s;\r
- };\r
- /*SVGPathSegLinetoRel*/ _sproto.createSVGPathSegLinetoRel = function(/*float*/ x, /*float*/ y ) {\r
- var s = new SVGPathSegLinetoRel();\r
- s.x = x;\r
- s.y = y;\r
- return s;\r
- };\r
- /*SVGPathSegCurvetoCubicAbs*/ _sproto.createSVGPathSegCurvetoCubicAbs = function(/*float*/ x, /*float*/ y, /*float*/ x1, /*float*/ y1, /*float*/ x2, /*float*/ y2 ) {\r
- var _SVGPathSegCurvetoCubicAbs = SVGPathSegCurvetoCubicAbs, s = new _SVGPathSegCurvetoCubicAbs();\r
- s.x = x;\r
- s.y = y;\r
- s.x1 = x1;\r
- s.y1 = y1;\r
- s.x2 = x2;\r
- s.y2 = y2;\r
- return s;\r
- };\r
- /*SVGPathSegCurvetoCubicRel*/ _sproto.createSVGPathSegCurvetoCubicRel = function(/*float*/ x, /*float*/ y, /*float*/ x1, /*float*/ y1, /*float*/ x2, /*float*/ y2 ) {\r
- var s = new SVGPathSegCurvetoCubicRel();\r
- s.x = x;\r
- s.y = y;\r
- s.x1 = x1;\r
- s.y1 = y1;\r
- s.x2 = x2;\r
- s.y2 = y2;\r
- return s;\r
- };\r
- /*SVGPathSegCurvetoQuadraticAbs*/ _sproto.createSVGPathSegCurvetoQuadraticAbs = function(/*float*/ x, /*float*/ y, /*float*/ x1, /*float*/ y1 ) {\r
- var s = new SVGPathSegCurvetoQuadraticAbs();\r
- s.x = x;\r
- s.y = y;\r
- s.x1 = x1;\r
- s.y1 = y1;\r
- return s;\r
- };\r
- /*SVGPathSegCurvetoQuadraticRel*/ _sproto.createSVGPathSegCurvetoQuadraticRel = function(/*float*/ x, /*float*/ y, /*float*/ x1, /*float*/ y1 ) {\r
- var s = new SVGPathSegCurvetoQuadraticRel();\r
- s.x = x;\r
- s.y = y;\r
- s.x1 = x1;\r
- s.y1 = y1;\r
- return s;\r
- };\r
- /*SVGPathSegArcAbs*/ _sproto.createSVGPathSegArcAbs = function(/*float*/ x, /*float*/ y, /*float*/ r1, /*float*/ r2, /*float*/ angle, /*boolean*/ largeArcFlag, /*boolean*/ sweepFlag ) {\r
- var s = new SVGPathSegArcAbs();\r
- s.x = x;\r
- s.y = y;\r
- s.r1 = r1;\r
- s.r2 = r2;\r
- s.angle = angle;\r
- s.largeArcFlag = largeArcFlag;\r
- s.sweepFlag = sweepFlag;\r
- return s;\r
- };\r
- /*SVGPathSegArcRel*/ _sproto.createSVGPathSegArcRel = function(/*float*/ x, /*float*/ y, /*float*/ r1, /*float*/ r2, /*float*/ angle, /*boolean*/ largeArcFlag, /*boolean*/ sweepFlag ) {\r
- var s = new SVGPathSegArcRel();\r
- s.x = x;\r
- s.y = y;\r
- s.r1 = r1;\r
- s.r2 = r2;\r
- s.angle = angle;\r
- s.largeArcFlag = largeArcFlag;\r
- s.sweepFlag = sweepFlag;\r
- return s;\r
- };\r
- /*SVGPathSegLinetoHorizontalAbs*/ _sproto.createSVGPathSegLinetoHorizontalAbs = function(/*float*/ x ) {\r
- var s = new SVGPathSegLinetoHorizontalAbs();\r
- s.x = x;\r
- s.y = 0; //DOMでは指定されていないが、変換処理が楽なので用いる\r
- return s;\r
- };\r
- /*SVGPathSegLinetoHorizontalRel*/ _sproto.createSVGPathSegLinetoHorizontalRel = function(/*float*/ x ) {\r
- var s = new SVGPathSegLinetoHorizontalRel();\r
- s.x = x;\r
- s.y = 0;\r
- return s;\r
- };\r
- /*SVGPathSegLinetoVerticalAbs*/ _sproto.createSVGPathSegLinetoVerticalAbs = function(/*float*/ y ) {\r
- var s = new SVGPathSegLinetoVerticalAbs();\r
- s.x = 0;\r
- s.y = y;\r
- return s;\r
- };\r
- /*SVGPathSegLinetoVerticalRel*/ _sproto.createSVGPathSegLinetoVerticalRel = function(/*float*/ y ) {\r
- var s = new SVGPathSegLinetoVerticalRel();\r
- s.x = 0;\r
- s.y = y;\r
- return s;\r
- };\r
- /*SVGPathSegCurvetoCubicSmoothAbs*/ _sproto.createSVGPathSegCurvetoCubicSmoothAbs = function(/*float*/ x, /*float*/ y, /*float*/ x2, /*float*/ y2 ) {\r
- var s = new SVGPathSegCurvetoCubicSmoothAbs();\r
- s.x = x;\r
- s.y = y;\r
- s.x2 = x2;\r
- s.y2 = y2;\r
- return s;\r
- };\r
- /*SVGPathSegCurvetoCubicSmoothRel*/ _sproto.createSVGPathSegCurvetoCubicSmoothRel = function(/*float*/ x, /*float*/ y, /*float*/ x2, /*float*/ y2 ) {\r
- var s = new SVGPathSegCurvetoCubicSmoothRel();\r
- s.x = x;\r
- s.y = y;\r
- s.x2 = x2;\r
- s.y2 = y2;\r
- return s;\r
- };\r
- /*SVGPathSegCurvetoQuadraticSmoothAbs*/ _sproto.createSVGPathSegCurvetoQuadraticSmoothAbs = function(/*float*/ x, /*float*/ y ) {\r
- var s = new SVGPathSegCurvetoQuadraticSmoothAbs();\r
- s.x = x;\r
- s.y = y;\r
- return s;\r
- };\r
- /*SVGPathSegCurvetoQuadraticSmoothRel*/ _sproto.createSVGPathSegCurvetoQuadraticSmoothRel = function(/*float*/ x, /*float*/ y ) {\r
- var s = new SVGPathSegCurvetoQuadraticSmoothRel();\r
- s.x = x;\r
- s.y = y;\r
- return s;\r
- };\r
-})(SVGPathElement.prototype);\r
- NAIBU.SVGPathElement = SVGPathElement; //IE8では、SVGPathElementはローカル変数\r
+ },\r
+ /*SVGPathSegClosePath*/ createSVGPathSegClosePath: function() {\r
+ return {\r
+ pathSegType : /*SVGPathSeg.PATHSEG_CLOSEPATH*/ 1,\r
+ pathSegTypeAsLetter : "z"\r
+ };\r
+ },\r
+ /*SVGPathSegMovetoAbs*/ createSVGPathSegMovetoAbs: function(/*float*/ x, /*float*/ y ) {\r
+ return {\r
+ x: x,\r
+ y: y,\r
+ pathSegType : /*SVGPathSeg.PATHSEG_MOVETO_ABS*/ 2,\r
+ pathSegTypeAsLetter : "M"\r
+ };\r
+ },\r
+ /*SVGPathSegMovetoRel*/ createSVGPathSegMovetoRel: function(/*float*/ x, /*float*/ y ) {\r
+ return {\r
+ x: x,\r
+ y: y,\r
+ pathSegType : /*SVGPathSeg.PATHSEG_MOVETO_REL*/ 3,\r
+ pathSegTypeAsLetter : "m"\r
+ };\r
+ },\r
+ /*SVGPathSegLinetoAbs*/ createSVGPathSegLinetoAbs: function(/*float*/ x, /*float*/ y ) {\r
+ return {\r
+ x: x,\r
+ y: y,\r
+ pathSegType : /*SVGPathSeg.PATHSEG_LINETO_ABS*/ 4,\r
+ pathSegTypeAsLetter : "L"\r
+ };\r
+ },\r
+ /*SVGPathSegLinetoRel*/ createSVGPathSegLinetoRel: function(/*float*/ x, /*float*/ y ) {\r
+ return {\r
+ x: x,\r
+ y: y,\r
+ pathSegType : /*SVGPathSeg.PATHSEG_LINETO_REL*/ 5,\r
+ pathSegTypeAsLetter : "l"\r
+ };\r
+ },\r
+ /*SVGPathSegCurvetoCubicAbs*/ createSVGPathSegCurvetoCubicAbs: function(/*float*/ x, /*float*/ y, /*float*/ x1, /*float*/ y1, /*float*/ x2, /*float*/ y2 ) {\r
+ return {\r
+ x: x,\r
+ y: y,\r
+ x1: x1,\r
+ y1: y1,\r
+ x2: x2,\r
+ y2: y2,\r
+ pathSegType : /*SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS*/ 6,\r
+ pathSegTypeAsLetter : "C"\r
+ };\r
+ },\r
+ /*SVGPathSegCurvetoCubicRel*/ createSVGPathSegCurvetoCubicRel: function(/*float*/ x, /*float*/ y, /*float*/ x1, /*float*/ y1, /*float*/ x2, /*float*/ y2 ) {\r
+ return {\r
+ x: x,\r
+ y: y,\r
+ x1: x1,\r
+ y1: y1,\r
+ x2: x2,\r
+ y2: y2,\r
+ pathSegType : /*SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL*/ 7,\r
+ pathSegTypeAsLetter : "c"\r
+ };\r
+ },\r
+ /*SVGPathSegCurvetoQuadraticAbs*/ createSVGPathSegCurvetoQuadraticAbs: function(/*float*/ x, /*float*/ y, /*float*/ x1, /*float*/ y1 ) {\r
+ return {\r
+ x: x,\r
+ y: y,\r
+ x1: x1,\r
+ y1: y1,\r
+ pathSegType: /*SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS*/ 8,\r
+ pathSegTypeAsLetter: "Q"\r
+ };\r
+ },\r
+ /*SVGPathSegCurvetoQuadraticRel*/ createSVGPathSegCurvetoQuadraticRel: function(/*float*/ x, /*float*/ y, /*float*/ x1, /*float*/ y1 ) {\r
+ return {\r
+ x: x,\r
+ y: y,\r
+ x1: x1,\r
+ y1: y1,\r
+ pathSegType: /*SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL*/ 9,\r
+ pathSegTypeAsLetter: "q"\r
+ };\r
+ },\r
+ /*SVGPathSegArcAbs*/ createSVGPathSegArcAbs: function(/*float*/ x, /*float*/ y, /*float*/ r1, /*float*/ r2, /*float*/ angle, /*boolean*/ largeArcFlag, /*boolean*/ sweepFlag ) {\r
+ return {\r
+ x: x,\r
+ y: y,\r
+ r1: r1,\r
+ r2: r2,\r
+ angle: angle,\r
+ largeArcFlag: largeArcFlag,\r
+ sweepFlag: sweepFlag,\r
+ pathSegType : /*SVGPathSeg.PATHSEG_ARC_ABS*/ 10,\r
+ pathSegTypeAsLetter : "A"\r
+ };\r
+ },\r
+ /*SVGPathSegArcRel*/ createSVGPathSegArcRel: function(/*float*/ x, /*float*/ y, /*float*/ r1, /*float*/ r2, /*float*/ angle, /*boolean*/ largeArcFlag, /*boolean*/ sweepFlag ) {\r
+ return {\r
+ x: x,\r
+ y: y,\r
+ r1: r1,\r
+ r2: r2,\r
+ angle: angle,\r
+ largeArcFlag: largeArcFlag,\r
+ sweepFlag: sweepFlag,\r
+ pathSegType : /*SVGPathSeg.PATHSEG_ARC_REL*/ 11,\r
+ pathSegTypeAsLetter : "a"\r
+ };\r
+ },\r
+ /*SVGPathSegLinetoHorizontalAbs*/ createSVGPathSegLinetoHorizontalAbs: function(/*float*/ x ) {\r
+ return {\r
+ x: x,\r
+ y: 0, //DOMでは指定されていないが、変換処理が楽なので用いる\r
+ pathSegType: /*SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS*/ 12,\r
+ pathSegTypeAsLetter: "H"\r
+ };\r
+ },\r
+ /*SVGPathSegLinetoHorizontalRel*/ createSVGPathSegLinetoHorizontalRel: function(/*float*/ x ) {\r
+ return {\r
+ x: x,\r
+ y: 0,\r
+ pathSegType: /*SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL*/ 13,\r
+ pathSegTypeAsLetter: "h"\r
+ };\r
+ },\r
+ /*SVGPathSegLinetoVerticalAbs*/ createSVGPathSegLinetoVerticalAbs: function(/*float*/ y ) {\r
+ return {\r
+ x: 0,\r
+ y: y,\r
+ pathSegType: /*SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS*/ 14,\r
+ pathSegTypeAsLetter: "V"\r
+ };\r
+ },\r
+ /*SVGPathSegLinetoVerticalRel*/ createSVGPathSegLinetoVerticalRel: function(/*float*/ y ) {\r
+ return {\r
+ x: 0,\r
+ y: y,\r
+ pathSegType: /*SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL*/ 15,\r
+ pathSegTypeAsLetter: "v"\r
+ };\r
+ },\r
+ /*SVGPathSegCurvetoCubicSmoothAbs*/ createSVGPathSegCurvetoCubicSmoothAbs: function(/*float*/ x, /*float*/ y, /*float*/ x2, /*float*/ y2 ) {\r
+ return {\r
+ x: x,\r
+ y: y,\r
+ x2: x2,\r
+ y2: y2,\r
+ pathSegType:/*SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS*/ 16,\r
+ pathSegTypeAsLetter: "S"\r
+ };\r
+ },\r
+ /*SVGPathSegCurvetoCubicSmoothRel*/ createSVGPathSegCurvetoCubicSmoothRel: function(/*float*/ x, /*float*/ y, /*float*/ x2, /*float*/ y2 ) {\r
+ return {\r
+ x: x,\r
+ y: y,\r
+ x2: x2,\r
+ y2: y2,\r
+ pathSegType: /*SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL*/ 17,\r
+ pathSegTypeAsLetter: "s"\r
+ };\r
+ },\r
+ /*SVGPathSegCurvetoQuadraticSmoothAbs*/ createSVGPathSegCurvetoQuadraticSmoothAbs: function(/*float*/ x, /*float*/ y ) {\r
+ return {\r
+ x: x,\r
+ y: y,\r
+ pathSegType: /*SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS*/ 18,\r
+ pathSegTypeAsLetter: "T"\r
+ };\r
+ },\r
+ /*SVGPathSegCurvetoQuadraticSmoothRel*/ createSVGPathSegCurvetoQuadraticSmoothRel: function(/*float*/ x, /*float*/ y ) {\r
+ return {\r
+ x: x,\r
+ y: y,\r
+ pathSegType: /*SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL*/ 19,\r
+ pathSegTypeAsLetter: "t"\r
+ };\r
+ }\r
+} );\r
})(document, Math);\r
\r
-function SVGRectElement(_doc) {\r
+base.$1.upsvg("rect")\r
+ .on("initialize", function (_doc) {\r
this._tar = _doc.createElement("v:shape");\r
var slen = SVGAnimatedLength;\r
/*readonly SVGAnimatedLength*/ this.x = new slen();\r
}, false);\r
evt = tar = void 0;\r
}, false);\r
-};\r
+} );\r
\r
-function SVGCircleElement(_doc) {\r
+base.$1.upsvg("circle")\r
+ .on("initialize", function (_doc) {\r
this._tar = _doc.createElement("v:shape");\r
var sl = SVGAnimatedLength;\r
/*readonly SVGAnimatedLength*/ this.cx = new sl();\r
}, false);\r
evt = tar = void 0;\r
}, false);\r
-};\r
+} );\r
\r
-function SVGEllipseElement(_doc) {\r
+base.$1.upsvg("ellipse")\r
+ .on("initialize", function (_doc) {\r
this._tar = _doc.createElement("v:shape");\r
var sl = SVGAnimatedLength;\r
/*readonly SVGAnimatedLength*/ this.cx = new sl();\r
}, false);\r
evt = tar = void 0;\r
}, false);\r
-};\r
+} );\r
\r
-function SVGLineElement(_doc) {\r
+base.$1.upsvg("line")\r
+ .on("initialize", function (_doc) {\r
this._tar = _doc.createElement("v:shape");\r
var sl = SVGAnimatedLength;\r
/*readonly SVGAnimatedLength*/ this.x1 = new sl();\r
}, false);\r
evt = tar = void 0;\r
}, false);\r
-};\r
+} );\r
\r
-/*_GenericSVGPolyElementã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹\r
- *ã\80\80ã\81\93ã\81®ã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹はpolygonとpolyline要素共通のインターフェースとして使用。\r
+/*_GenericSVGPolyElementã\83¡ã\82½ã\83\83ã\83\89\r
+ *ã\80\80ã\81\93ã\81®ã\83¡ã\82½ã\83\83ã\83\89はpolygonとpolyline要素共通のインターフェースとして使用。\r
* ファイルサイズを軽量にすることができる\r
*/\r
-NAIBU._GenericSVGPolyElement = function (_doc, xclose) {\r
+base.$1._GenericSVGPolyElement = function (_doc, xclose) {\r
this._tar = _doc.createElement("v:shape");\r
_doc = void 0;\r
//interface SVGAnimatedPoints\r
- /*readonly SVGPointList*/ this.animatedPoints = this.points = base("$SVGStringList").$SVGPointList.up("$1");;\r
+ /*readonly SVGPointList*/ this.animatedPoints = this.points = base("$SVGStringList").$SVGPointList.up();;\r
this.addEventListener("DOMAttrModified", function(evt){\r
var tar = evt.target;\r
if (evt.attrName === "points") {\r
evt = tar = void 0;\r
}, false);\r
};\r
-function SVGPolylineElement(_doc) {\r
- NAIBU._GenericSVGPolyElement.call(this, _doc, "e");\r
+base.$1.upsvg("polyline")\r
+ .on("initialize", function (_doc) {\r
+ this._GenericSVGPolyElement( _doc, "e");\r
_doc = void 0;\r
-};\r
+} );\r
\r
-function SVGPolygonElement(_doc) {\r
- NAIBU._GenericSVGPolyElement.call(this, _doc, "x e");\r
+base.$1.upsvg("polygon")\r
+ .on("initialize", function (_doc) {\r
+ this._GenericSVGPolyElement(_doc, "x e");\r
_doc = void 0;\r
-};\r
+} );\r
\r
-function SVGTextContentElement(_doc) {\r
+base.$1.upsvg("text").mix( {\r
+ SVGTextContentElement: function(_doc) {\r
/*readonly SVGAnimatedLength*/ this.textLength = new SVGAnimatedLength();\r
- /*readonly SVGAnimatedEnumeration*/ this.lengthAdjust = base("$SVGAnimatedEnumeration").up("$1");\r
+ /*readonly SVGAnimatedEnumeration*/ this.lengthAdjust = base("$SVGAnimatedEnumeration").up();\r
this.addEventListener("DOMNodeInserted", function(evt){\r
var tar = evt.target,\r
cur = evt.currentTarget,\r
tar = evt = void 0;\r
}\r
}, false);\r
-};\r
-\r
-(function(t) {\r
- var tproto = t.prototype;\r
+},\r
// lengthAdjust Types\r
- /*unsigned short t.LENGTHADJUST_UNKNOWN = 0;\r
- /*unsigned short t.LENGTHADJUST_SPACING = 1;\r
- /*unsigned short t.LENGTHADJUST_SPACINGANDGLYPHS = 2;*/\r
- tproto._list = null; //文字の位置を格納しておくリストのキャッシュ\r
- tproto._length = null; //全文字数のキャッシュ\r
- tproto._stx = tproto._sty = 0; //初めの文字の位置\r
- tproto._chars = 0; //tspan (tref)要素が全体の何文字目から始まっているか\r
- tproto._isYokogaki = true; //横書きかどうか\r
-/*long*/ tproto.getNumberOfChars = function() {\r
+ /*unsigned short SVGTextContentElement.LENGTHADJUST_UNKNOWN = 0;\r
+ /*unsigned short SVGTextContentElement.LENGTHADJUST_SPACING = 1;\r
+ /*unsigned short SVGTextContentElement.LENGTHADJUST_SPACINGANDGLYPHS = 2;*/\r
+ _list: null, //文字の位置を格納しておくリストのキャッシュ\r
+ _length: null, //全文字数のキャッシュ\r
+ _stx: 0,\r
+ _sty: 0, //初めの文字の位置\r
+ _chars: 0, //tspan (tref)要素が全体の何文字目から始まっているか\r
+ _isYokogaki: true, //横書きかどうか\r
+/*long*/ getNumberOfChars: function() {\r
if (this._length) {\r
return (this._length);\r
} else {\r
this._length = s;\r
return s;\r
}\r
-};\r
-/*float*/ tproto.getComputedTextLength = function() {\r
+},\r
+/*float*/ getComputedTextLength: function() {\r
var l = this.textLength.baseVal;\r
if ((l.value === 0) && (this.getNumberOfChars() > 0)) {\r
/*何も設定されていない場合のみ、初期化を行う*/\r
}\r
l = void 0;\r
return (this.textLength.baseVal.value);\r
-};\r
+},\r
/*getSubStringLengthメソッド\r
*charnum番目の文字からnchars+charnum-1番目までの文字列の長さを求めて返す\r
*/\r
-/*float*/ tproto.getSubStringLength = function(/*unsigned long*/ charnum, /*unsigned long*/ nchars ) {\r
+/*float*/ getSubStringLength: function(/*unsigned long*/ charnum, /*unsigned long*/ nchars ) {\r
if (nchars === 0) {\r
return 0;\r
}\r
}\r
tg = end = st = void 0;\r
return s;\r
-};\r
-/*SVGPoint*/ tproto.getStartPositionOfChar = function (/*unsigned long*/ charnum ) {\r
+},\r
+/*SVGPoint*/ getStartPositionOfChar: function (/*unsigned long*/ charnum ) {\r
if (charnum > this.getNumberOfChars() || charnum < 0) {\r
throw (new DOMException(/*DOMException.INDEX_SIZE_ERR*/ 1));\r
} else {\r
s = s.matrixTransform(this.getScreenCTM());\r
return s;\r
}\r
-};\r
-/*SVGPoint*/ tproto.getEndPositionOfChar = function(/*unsigned long*/ charnum ) {\r
+},\r
+/*SVGPoint*/ getEndPositionOfChar: function(/*unsigned long*/ charnum ) {\r
if (charnum > this.getNumberOfChars() || charnum < 0) {\r
throw (new DOMException(/*DOMException.INDEX_SIZE_ERR*/ 1));\r
} else {\r
}\r
return s;\r
}\r
-};\r
-/*SVGRect*/ tproto.getExtentOfChar = function(/*unsigned long*/ charnum ) {\r
+},\r
+/*SVGRect*/ getExtentOfChar: function(/*unsigned long*/ charnum ) {\r
\r
-};\r
-/*float*/ tproto.getRotationOfChar = function(/*unsigned long*/ charnum ) {\r
+},\r
+/*float*/ getRotationOfChar: function(/*unsigned long*/ charnum ) {\r
\r
-};\r
-/*long*/ tproto.getCharNumAtPosition = function(/*SVGPoint*/ point ) {\r
+},\r
+/*long*/ getCharNumAtPosition: function(/*SVGPoint*/ point ) {\r
\r
-};\r
-/*void*/ tproto.selectSubString = function(/*unsigned long*/ charnum,/*unsigned long*/ nchars ) {\r
+},\r
+/*void*/ selectSubString: function(/*unsigned long*/ charnum,/*unsigned long*/ nchars ) {\r
\r
-};\r
- t = tproto = void 0;\r
-})(SVGTextContentElement);\r
+},\r
\r
-function SVGTextPositioningElement(_doc) {\r
- SVGTextContentElement.apply(this, arguments);\r
+SVGTextPositioningElement: function(_doc) {\r
+ this.SVGTextContentElement(_doc);\r
var sl = SVGAnimatedLengthList;\r
/*readonly SVGAnimatedLengthList*/ this.x = new sl();\r
/*readonly SVGAnimatedLengthList*/ this.y = new sl();\r
tar.addEventListener("DOMNodeInsertedIntoDocument", tar._texto, false);\r
evt = tar = void 0;\r
},false);\r
-};\r
-SVGTextPositioningElement.prototype = Object._create(SVGTextContentElement);\r
-SVGTextPositioningElement.prototype._texto = function(evt) {\r
+},\r
+ _texto: function(evt) {\r
var tar = evt.target,\r
ti = tar.firstChild,\r
ttp = tar._tar,\r
tts.display = "block";\r
}\r
tar._cacheMatrix = anchor = isEnd = isMiddle = searchChild = tstylefunc = isMore = mt = lh = isRect = evt = tar = style = tedeco = style = color = cursor = disp = vis = ttps = backr = backrs = jt = lts = deter = void 0;\r
-};\r
+}\r
+} )\r
+ .on("initialize", function (_doc) {\r
+ this.SVGTextPositioningElement(_doc);\r
+} );\r
\r
-function SVGTextElement(_doc) {\r
- SVGTextPositioningElement.apply(this, arguments);\r
-};\r
-SVGTextElement.prototype = Object._create(SVGTextPositioningElement);\r
+/*text要素のインターフェースとなるオブジェクトをtspan要素に流用する*/\r
+base.$1["http://www.w3.org/2000/svgtspan"] = base.$1["http://www.w3.org/2000/svgtext"].up()\r
\r
-function SVGTSpanElement() {\r
- SVGTextElement.apply(this, arguments);\r
-};\r
-SVGTSpanElement.prototype = Object._create(SVGTextPositioningElement);\r
\r
-function SVGTRefElement(_doc) {\r
- SVGTextPositioningElement.apply(this, arguments);\r
+/*text要素のインターフェースとなるオブジェクトをtref要素に流用する*/\r
+base.$1["http://www.w3.org/2000/svgtref"] = base.$1["http://www.w3.org/2000/svgtext"].up()\r
+ .on("initialize", function (_doc) {\r
+ this.SVGTextPositioningElement(_doc);\r
this.addEventListener("DOMNodeInserted", function(evt){\r
if (evt.eventPhase === /*Event.BUBBLING_PHASE*/ 3) {\r
return; //強制終了させる\r
tar = tic = evtt = void 0;\r
}, false);\r
SVGURIReference.apply(this);\r
-};\r
-SVGTRefElement.prototype = Object._create(SVGTextPositioningElement);\r
+} );\r
\r
-function SVGTextPathElement() {\r
- SVGTextContentElement.apply(this, arguments);\r
+/*text要素のインターフェースとなるオブジェクトをtextPath要素に流用する*/\r
+base.$1["http://www.w3.org/2000/svgtextPath"] = base.$1["http://www.w3.org/2000/svgtext"].up()\r
+ .on("initialize", function (_doc) {\r
+ this.SVGTextContentElement(_doc);\r
/*readonly SVGAnimatedLength*/ this.startOffset;\r
/*readonly SVGAnimatedEnumeration*/ this.method;\r
/*readonly SVGAnimatedEnumeration*/ this.spacing;\r
SVGURIReference.apply(this);\r
-};\r
-SVGTextPathElement.prototype = Object._create(SVGTextContentElement);\r
+} );\r
+\r
\r
-(function(t){\r
// textPath Method Types\r
- /*unsigned short t.TEXTPATH_METHODTYPE_UNKNOWN = 0;\r
+ /*t = SVGTextPathElement\r
+ *unsigned short t.TEXTPATH_METHODTYPE_UNKNOWN = 0;\r
/*unsigned short t.TEXTPATH_METHODTYPE_ALIGN = 1;\r
/*unsigned short t.TEXTPATH_METHODTYPE_STRETCH = 2;\r
// textPath Spacing Types\r
/*unsigned short t.TEXTPATH_SPACINGTYPE_UNKNOWN = 0;\r
/*unsigned short t.TEXTPATH_SPACINGTYPE_AUTO = 1;\r
/*unsigned short t.TEXTPATH_SPACINGTYPE_EXACT = 2;*/\r
-})(SVGTextPathElement);\r
\r
\r
base("$CSSValue").$SVGColor.up("$SVGPaint").mix( {\r
} ) ;\r
\r
/*makerのインタフェースをsvg要素のオブジェクトで補う場合のみ、getScreenCTMメソッドの扱いに注意すること*/\r
-function SVGMarkerElement(_doc) {\r
- _doc = void 0;\r
+base.$1.upsvg("marker")\r
+ .on("initialize", function () {\r
var sl = SVGAnimatedLength;\r
/*readonly SVGAnimatedLength*/ this.refX = new sl();\r
/*readonly SVGAnimatedLength*/ this.refY = new sl();\r
- /*readonly SVGAnimatedEnumeration*/ this.markerUnits = base("$SVGAnimatedEnumeration").up("$1");\r
+ /*readonly SVGAnimatedEnumeration*/ this.markerUnits = base("$SVGAnimatedEnumeration").up();\r
this.markerUnits.baseVal = /*SVGMarkerElement.SVG_MARKERUNITS_STROKEWIDTH*/ 2;\r
/*readonly SVGAnimatedLength*/ this.markerWidth = new sl();\r
/*readonly SVGAnimatedLength*/ this.markerHeight = new sl();\r
this.markerWidth.baseVal.newValueSpecifiedUnits(1, 3);\r
this.markerHeight.baseVal.newValueSpecifiedUnits(1, 3);\r
sl = void 0;\r
- /*readonly SVGAnimatedEnumeration*/ this.orientType = base("$SVGAnimatedEnumeration").up("$1");\r
+ /*readonly SVGAnimatedEnumeration*/ this.orientType = base("$SVGAnimatedEnumeration").up();\r
this.orientType.baseVal = /*SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE*/ 2;\r
/*readonly SVGAnimatedAngle*/ this.orientAngle = new SVGAnimatedAngle();\r
//SVGFitToViewBoxのインターフェースはhttp://www.w3.org/2000/svgsvgオブジェクトで代用\r
};\r
})(ns, id);\r
}, false);\r
-};\r
-(function(t){\r
+} )\r
+ .mix( {\r
// Marker Unit Types\r
/*unsigned short t.SVG_MARKERUNITS_UNKNOWN = 0;\r
/*unsigned short t.SVG_MARKERUNITS_USERSPACEONUSE = 1;\r
/*unsigned short t.SVG_MARKER_ORIENT_UNKNOWN = 0;\r
/*unsigned short t.SVG_MARKER_ORIENT_AUTO = 1;\r
/*unsigned short t.SVG_MARKER_ORIENT_ANGLE = 2;*/\r
- /*void*/ t.prototype.setOrientToAuto = function() {\r
- this.orientType.baseVal = /*t.SVG_MARKER_ORIENT_AUTO*/ 1;\r
-};\r
-/*void*/ t.prototype.setOrientToAngle = function(/*SVGAngle*/ angle ) {\r
- this.orientType.baseVal = /*t.SVG_MARKER_ORIENT_ANGLE*/ 2;\r
- this.orientAngle.baseVal = angle;\r
+ /*void*/ setOrientToAuto: function() {\r
+ this.orientType.baseVal = /*t.SVG_MARKER_ORIENT_AUTO*/ 1;\r
+ },\r
+/*void*/ setOrientToAngle: function(/*SVGAngle*/ angle ) {\r
+ this.orientType.baseVal = /*t.SVG_MARKER_ORIENT_ANGLE*/ 2;\r
+ this.orientAngle.baseVal = angle;\r
+ }\r
+} );\r
\r
-};\r
-})(SVGMarkerElement);\r
-function SVGColorProfileElement() {\r
+base.$1.upsvg("colorProfile")\r
+ .on("initialize", function () {\r
/*DOMString*/ this._local;\r
// raises DOMException on setting\r
// (NOTE: is prefixed by "_"\r
/*DOMString*/ this.name;\r
/*unsigned short*/ this.renderingIntent;\r
SVGURIReference.apply(this);\r
-};\r
+} );\r
\r
base("$CSSStyleRule").$SVGCSSRule.up("$SVGColorProfileRule").mix( {\r
/*DOMString this.src;*/\r
/*unsigned short this.renderingIntent;*/\r
} );\r
\r
-function SVGGradientElement() {\r
+/*$LinearGradientElementと$radialGradientElementの初期化として使う*/\r
+base.$1.SVGGradientElement = function () {\r
SVGURIReference.apply(this);\r
- /*readonly SVGAnimatedEnumeration*/ this.gradientUnits = base("$SVGAnimatedEnumeration").up("$1");\r
+ /*readonly SVGAnimatedEnumeration*/ this.gradientUnits = base("$SVGAnimatedEnumeration").up();\r
/*readonly SVGAnimatedTransformList*/ this.gradientTransform = new SVGAnimatedTransformList();\r
- /*readonly SVGAnimatedEnumeration*/ this.spreadMethod = base("$SVGAnimatedEnumeration").up("$1");\r
+ /*readonly SVGAnimatedEnumeration*/ this.spreadMethod = base("$SVGAnimatedEnumeration").up();\r
this.addEventListener("DOMNodeInsertedIntoDocument", function(evt) {\r
var grad = evt.target,\r
ele = evt._tar,\r
/*unsigned short SVGGradientElement.SVG_SPREADMETHOD_REFLECT = 2;\r
/*unsigned short SVGGradientElement.SVG_SPREADMETHOD_REPEAT = 3;*/\r
\r
-function SVGLinearGradientElement() {\r
- SVGGradientElement.apply(this);\r
+base.$1.upsvg("linearGradient").on("initialize", function () {\r
+ this.SVGGradientElement();\r
var sl = SVGAnimatedLength;\r
/*readonly SVGAnimatedLength*/ this.x1 = new sl();\r
/*readonly SVGAnimatedLength*/ this.y1 = new sl();\r
ele.setAttribute("angle", angle + "");\r
evt = ele = grad = angle = style = fontSize = void 0;\r
}, false);\r
-};\r
-SVGLinearGradientElement.prototype = Object._create(SVGGradientElement);\r
+} );\r
\r
-function SVGRadialGradientElement(_doc) {\r
- SVGGradientElement.apply(this);\r
+base.$1.upsvg("radialGradient").on("initialize", function (_doc) {\r
+ this.SVGGradientElement();\r
var sl = SVGAnimatedLength;\r
/*readonly SVGAnimatedLength*/ this.cx = new sl();\r
/*readonly SVGAnimatedLength*/ this.cy = new sl();\r
}\r
evt = tar = ele = gard = void 0;\r
}, false);\r
-};\r
-SVGRadialGradientElement.prototype = Object._create(SVGGradientElement);\r
+} );\r
\r
-function SVGStopElement() {\r
- /*readonly SVGAnimatedNumber*/ this.offset = base("$SVGAnimatedNumber").up("$1");\r
+base.$1.upsvg("stop").on("initialize", function () {\r
+ /*readonly SVGAnimatedNumber*/ this.offset = base("$SVGAnimatedNumber").up();\r
this.addEventListener("DOMAttrModified", function(evt) {\r
if (evt.attrName === "offset") {\r
var env = evt.newValue;\r
}\r
evt = void 0;\r
}, false);\r
-};\r
+} );\r
\r
-function SVGPatternElement() {\r
+base.$1.upsvg("pattern")\r
+ .on("initialize", function () {\r
var sl = SVGAnimatedLength;\r
- /*readonly SVGAnimatedEnumeration*/ this.patternUnits = base("$SVGAnimatedEnumeration").up("$1");\r
- /*readonly SVGAnimatedEnumeration*/ this.patternContentUnits = base("$SVGAnimatedEnumeration").up("$1");\r
+ /*readonly SVGAnimatedEnumeration*/ this.patternUnits = base("$SVGAnimatedEnumeration").up();\r
+ /*readonly SVGAnimatedEnumeration*/ this.patternContentUnits = base("$SVGAnimatedEnumeration").up();\r
/*readonly SVGAnimatedTransformList*/ this.patternTransform = new SVGAnimatedTransformList();\r
/*readonly SVGAnimatedLength*/ this.x = new sl();\r
/*readonly SVGAnimatedLength*/ this.y = new sl();\r
/*readonly SVGAnimatedRect*/ this.viewBox = new SVGAnimatedRect();\r
/*readonly SVGAnimatedPreserveAspectRatio*/ this.preserveAspectRatio = new SVGAnimatedPreserveAspectRatio();\r
/*unsigned short*/ this.zoomAndPan = /*SVGZoomAndPan.SVG_ZOOMANDPAN_DISABLE*/ 1;\r
-};\r
+} );\r
\r
-function SVGClipPathElement() {\r
- /*readonly SVGAnimatedEnumeration*/ this.clipPathUnits = base("$SVGAnimatedEnumeration").up("$1");\r
-};\r
+base.$1.upsvg("clipPath")\r
+ .on("initialize", function () {\r
+ /*readonly SVGAnimatedEnumeration*/ this.clipPathUnits = base("$SVGAnimatedEnumeration").up();\r
+} );\r
\r
-function SVGMaskElement() {\r
+base.$1.upsvg("mask")\r
+ .on("initialize", function () {\r
var sl = SVGAnimatedLength;\r
- /*readonly SVGAnimatedEnumeration*/ this.maskUnits = base("$SVGAnimatedEnumeration").up("$1");\r
- /*readonly SVGAnimatedEnumeration*/ this.maskContentUnits = base("$SVGAnimatedEnumeration").up("$1");\r
+ /*readonly SVGAnimatedEnumeration*/ this.maskUnits = base("$SVGAnimatedEnumeration").up();\r
+ /*readonly SVGAnimatedEnumeration*/ this.maskContentUnits = base("$SVGAnimatedEnumeration").up();\r
/*readonly SVGAnimatedLength*/ this.x = new sl();\r
/*readonly SVGAnimatedLength*/ this.y = new sl();\r
/*readonly SVGAnimatedLength*/ this.width = new sl();\r
/*readonly SVGAnimatedLength*/ this.height = new sl();\r
sl = void 0;\r
-};\r
+} );\r
\r
-function SVGFilterElement() {\r
+base.$1.upsvg("filter")\r
+ .on("initialize", function () {\r
var sl = SVGAnimatedLength;\r
- /*readonly SVGAnimatedEnumeration*/ this.filterUnits = base("$SVGAnimatedEnumeration").up("$1");\r
- /*readonly SVGAnimatedEnumeration*/ this.primitiveUnits = base("$SVGAnimatedEnumeration").up("$1");\r
+ /*readonly SVGAnimatedEnumeration*/ this.filterUnits = base("$SVGAnimatedEnumeration").up();\r
+ /*readonly SVGAnimatedEnumeration*/ this.primitiveUnits = base("$SVGAnimatedEnumeration").up();\r
/*readonly SVGAnimatedLength*/ this.x = new sl();\r
/*readonly SVGAnimatedLength*/ this.y = new sl();\r
/*readonly SVGAnimatedLength*/ this.width = new sl();\r
/*readonly SVGAnimatedLength*/ this.height = new sl();\r
sl = void 0;\r
- /*readonly SVGAnimatedInteger*/ this.filterResX = base("$SVGAnimatedInteger").up("$1");\r
- /*readonly SVGAnimatedInteger*/ this.filterResY = base("$SVGAnimatedInteger").up("$1");\r
+ /*readonly SVGAnimatedInteger*/ this.filterResX = base("$SVGAnimatedInteger").up();\r
+ /*readonly SVGAnimatedInteger*/ this.filterResY = base("$SVGAnimatedInteger").up();\r
SVGURIReference.apply(this);\r
//setFilterRes (/*unsigned long*/ filterResX,/*unsigned long*/ filterResY );\r
-};\r
+} );\r
\r
function SVGFilterPrimitiveStandardAttributes(ele) {\r
SVGStylable.apply(this, arguments);\r
/*readonly SVGAnimatedLength*/ this.y = new sl();\r
/*readonly SVGAnimatedLength*/ this.width = new sl();\r
/*readonly SVGAnimatedLength*/ this.height = new sl();\r
- /*readonly SVGAnimatedString*/ this.result = base("$SVGAnimatedString").up("$1");\r
+ /*readonly SVGAnimatedString*/ this.result = base("$SVGAnimatedString").up();\r
sl = void 0;\r
- };\r
-SVGFilterPrimitiveStandardAttributes.prototype = Object._create(SVGStylable);\r
+};\r
\r
-function SVGFEBlendElement() {\r
- /*readonly SVGAnimatedString*/ this.in1 = base("$SVGAnimatedString").up("$1");\r
- /*readonly SVGAnimatedString*/ this.in2 = base("$SVGAnimatedString").up("$1");\r
- /*readonly SVGAnimatedEnumeration*/ this.mode = base("$SVGAnimatedEnumeration").up("$1");\r
+base.$1.upsvg("feBlend")\r
+ .on("initialize", function () {\r
+ /*readonly SVGAnimatedString*/ this.in1 = base("$SVGAnimatedString").up();\r
+ /*readonly SVGAnimatedString*/ this.in2 = base("$SVGAnimatedString").up();\r
+ /*readonly SVGAnimatedEnumeration*/ this.mode = base("$SVGAnimatedEnumeration").up();\r
this._fpsa = SVGFilterPrimitiveStandardAttributes(this);\r
-};\r
+} );\r
// Blend Mode Types\r
/*unsigned short SVGFEBlendElement.SVG_FEBLEND_MODE_UNKNOWN = 0;\r
/*unsigned short SVGFEBlendElement.SVG_FEBLEND_MODE_NORMAL = 1;\r
/*unsigned short SVGFEBlendElement.SVG_FEBLEND_MODE_DARKEN = 4;\r
/*unsigned short SVGFEBlendElement.SVG_FEBLEND_MODE_LIGHTEN = 5;*/\r
\r
-function SVGFEGaussianBlurElement() {\r
- /*readonly SVGAnimatedString*/ this.in1 = base("$SVGAnimatedString").up("$1");\r
- /*readonly SVGAnimatedNumber*/ this.stdDeviationX = base("$SVGAnimatedNumber").up("$1");\r
- /*readonly SVGAnimatedNumber*/ this.stdDeviationY = base("$SVGAnimatedNumber").up("$1");\r
+base.$1.upsvg("feGaussianBlur")\r
+ .on("initialize", function () {\r
+ /*readonly SVGAnimatedString*/ this.in1 = base("$SVGAnimatedString").up();\r
+ /*readonly SVGAnimatedNumber*/ this.stdDeviationX = base("$SVGAnimatedNumber").up();\r
+ /*readonly SVGAnimatedNumber*/ this.stdDeviationY = base("$SVGAnimatedNumber").up();\r
this._fpsa = SVGFilterPrimitiveStandardAttributes(this);\r
-};\r
-/*void*/ SVGFEGaussianBlurElement.prototype.setStdDeviation = function(/*float*/ stdDeviationX, /*float*/ stdDeviationY ) {\r
+} )\r
+ /*void*/ .setStdDeviation = function(/*float*/ stdDeviationX, /*float*/ stdDeviationY ) {\r
\r
};\r
\r
-function SVGCursorElement() {\r
+base.$1.upsvg("cursor")\r
+ .on("initialize", function () {\r
/*readonly SVGAnimatedLength*/ this.x = new SVGAnimatedLength();\r
/*readonly SVGAnimatedLength*/ this.y = new SVGAnimatedLength();\r
SVGURIReference.apply(this);\r
-};\r
+} );\r
\r
-function SVGAElement(_doc) {\r
+base.$1.upsvg("a")\r
+ .on("initialize", function (_doc) {\r
this._tar = _doc.createElement("a");\r
_doc = void 0;\r
- /*readonly SVGAnimatedString*/ this.target = base("$SVGAnimatedString").up("$1");\r
+ /*readonly SVGAnimatedString*/ this.target = base("$SVGAnimatedString").up();\r
this.target.baseVal = "_self";\r
this.addEventListener("DOMAttrModified", function(evt){\r
var tar = evt.target;\r
tar = void 0;\r
}, false);\r
SVGURIReference.apply(this);\r
-};\r
+} );\r
\r
-function SVGViewElement() {\r
- /*readonly SVGStringList*/ this.viewTarget = base("$SVGStringList").up("$1");\r
+base.$1.upsvg("view")\r
+ .on("initialize", function () {\r
+ /*readonly SVGStringList*/ this.viewTarget = base("$SVGStringList").up();\r
//SVGFitToViewBoxのインターフェースを用いる\r
/*readonly SVGAnimatedRect*/ this.viewBox = new SVGAnimatedRect();\r
/*readonly SVGAnimatedPreserveAspectRatio*/ this.preserveAspectRatio = new SVGAnimatedPreserveAspectRatio();\r
/*unsigned short*/ this.zoomAndPan = /*SVGZoomAndPan.SVG_ZOOMANDPAN_DISABLE*/ 1;\r
-};\r
+} );\r
\r
-function SVGScriptElement() {\r
+base.$1.upsvg("script")\r
+ .on("initialize", function () {\r
/*DOMString*/ this.type;\r
SVGURIReference.apply(this);\r
this.addEventListener("DOMAttrModified", function(evt){\r
tar = evt = evtt = void 0;\r
}, false);\r
}, false);\r
-};\r
+} );\r
\r
base("$event").up("SVGEvents");\r
\r
base("$event").SVGZoomEvents = base("$event").UIEvents.up("SVGZoomEvents").on("itnitialize", function() {\r
- /*readonly SVGRect*/ this.zoomRectScreen = base("$SVGRect").up("$1");\r
+ /*readonly SVGRect*/ this.zoomRectScreen = base("$SVGRect").up();\r
/*readonly float*/ this.previousScale = this.newScale = 1;\r
- /*readonly SVGPoint*/ this.previousTranslate = base("$SVGPoint").up("$1");\r
- /*readonly SVGPoint*/ this.newTranslate = base("$SVGPoint").up("$1");\r
+ /*readonly SVGPoint*/ this.previousTranslate = base("$SVGPoint").up();\r
+ /*readonly SVGPoint*/ this.newTranslate = base("$SVGPoint").up();\r
});\r
\r
-function SVGAnimationElement() {\r
+base.$1.upsvg("animate")\r
+ .SVGAnimationElement = function() {\r
/*SIEにおけるSVGElementでは、fill属性とStyleSheetを結びつける機構があるため、\r
*styleのsetPropertyメソッドを無効化させておく必要がある\r
*/\r
tar._values = [null, tar._to];\r
} else if (tar._by) {\r
tar._values = [null, null, tar._by];\r
- } else if (!tar.hasChildNodes() && !tar.hasAttributeNS(null, "path")) { //SVGAnimateMotionElementに留意\r
+ } else if (!tar.hasChildNodes() && !tar.hasAttributeNS(null, "path")) { //animateMotion要素に留意\r
/*アニメーションの効果が出ないように調整する\r
*SMILアニメーションの仕様を参照\r
*\r
};\r
NAIBU.Clip = [];\r
\r
-function SVGAnimateElement(){\r
- SVGAnimationElement.apply(this);\r
+\r
+base.$1["http://www.w3.org/2000/svganimate"]\r
+ .on("initialize", function (_doc) {\r
+ this.SVGAnimationElement();\r
/*NAIBU.Clipについては、NAIBU.Timeで使う\r
*くわしくはNAIBU.Time.start関数のコードを参照\r
*/\r
ttr = tar.targetElement,\r
tta = ttr[attrName];\r
/*tar.valuesのリスト: ["12px", "13px"]\r
- *tar._valueList: [(base("$SVGPoint").up("$1")), (base("$SVGPoint").up("$1"))]\r
+ *tar._valueList: [(base("$SVGPoint").up()), (base("$SVGPoint").up())]\r
* tar.valuesを機械が理解できるように変換したものがtar._valueList\r
*この_valueListプロパティはアニメの際に使うので、_valuesプロパティはアニメ中に使わないことに注意\r
*/\r
this.addEventListener("repeatEvent", function(evt) {\r
var tar = evt.target;\r
}, false);\r
-};\r
-SVGAnimateElement.prototype = Object._create(SVGAnimationElement);\r
+} );\r
\r
-function SVGSetElement(){\r
- SVGAnimationElement.apply(this);\r
+/*set要素はanimate要素を流用する*/\r
+base.$1["http://www.w3.org/2000/svgset"] = base.$1["http://www.w3.org/2000/svganimate"].up()\r
+ .on("initialize", function (_doc) {\r
+ this.SVGAnimationElement();\r
NAIBU.Clip[NAIBU.Clip.length] = this;\r
this._to = "";\r
this.addEventListener("DOMAttrModified", function(evt) {\r
this.addEventListener("repeatEvent", function(evt) {\r
var tar = evt.target, attrName = tar.getAttributeNS(null, "attributeName"), style = tar.ownerDocument.defaultView.getComputedStyle(tar.targetElement, "");\r
}, false);\r
-};\r
-SVGSetElement.prototype = Object._create(SVGAnimationElement);\r
+} );\r
\r
-function SVGAnimateMotionElement(){\r
- SVGAnimationElement.apply(this);\r
+/*animateMotion要素はanimate要素を流用する*/\r
+base.$1["http://www.w3.org/2000/svganimateMotion"] = base.$1["http://www.w3.org/2000/svganimate"].up()\r
+ .on("initialize", function (_doc) {\r
+ this.SVGAnimationElement();\r
NAIBU.Clip[NAIBU.Clip.length] = this;\r
this.addEventListener("DOMAttrModified", function(evt){\r
if (evt.eventPhase === /*Event.BUBBLING_PHASE*/ 3) {\r
/*アニメーション中に変化すべき値をanimValプロパティに入力して、\r
*baseValと同じような値に設定。\r
*/\r
- trans.animVal = base("$SVGStringList").$SVGTransformList.up("$1");;\r
+ trans.animVal = base("$SVGStringList").$SVGTransformList.up();;\r
if (trans.baseVal.numberOfItems !== 0) {\r
trans.animVal.initialize(trans.baseVal.createSVGTransformFromMatrix(trans.baseVal.consolidate().matrix));\r
} else {\r
this.addEventListener("repeatEvent", function(evt) {\r
var tar = evt.target;\r
}, false);\r
-};\r
-SVGAnimateMotionElement.prototype = Object._create(SVGAnimationElement);\r
+} )\r
\r
-function SVGMPathElement() /* :\r
+base.$1.upsvg("mpath")\r
+ .on("initialize", function () {\r
+/* :\r
SVGElement,\r
SVGURIReference,\r
- SVGExternalResourcesRequired*/ {\r
+ SVGExternalResourcesRequired*/ \r
SVGURIReference.apply(this);\r
-};\r
+} );\r
\r
-function SVGAnimateColorElement() {\r
- SVGAnimationElement.apply(this);\r
+/*animateColor要素はanimate要素を流用する*/\r
+base.$1["http://www.w3.org/2000/svganimateColor"] = base.$1["http://www.w3.org/2000/svganimate"].up()\r
+ .on("initialize", function (_doc) {\r
+ this.SVGAnimationElement();\r
NAIBU.Clip[NAIBU.Clip.length] = this;\r
this._valueList = [];\r
this.addEventListener("DOMNodeInserted", function(evt){\r
this.addEventListener("repeatEvent", function(evt) {\r
var tar = evt.target;\r
}, false);\r
-};\r
-SVGAnimateColorElement.prototype = Object._create(SVGAnimationElement);\r
+} );\r
\r
-function SVGAnimateTransformElement() {\r
- SVGAnimationElement.apply(this);\r
+/*animateTransform要素はanimate要素を流用する*/\r
+base.$1["http://www.w3.org/2000/svganimateTransform"] = base.$1["http://www.w3.org/2000/svganimate"].up()\r
+ .on("initialize", function (_doc) {\r
+ this.SVGAnimationElement();\r
NAIBU.Clip[NAIBU.Clip.length] = this;\r
this.addEventListener("beginEvent", function(evt) {\r
var tar = evt.target, trans = tar.targetElement.transform;\r
/*アニメーション中に変化すべき値をanimValプロパティに入力して、\r
*baseValと同じような値に設定。\r
*/\r
- trans.animVal = base("$SVGStringList").$SVGTransformList.up("$1");\r
+ trans.animVal = base("$SVGStringList").$SVGTransformList.up();\r
if (trans.baseVal.numberOfItems !== 0) {\r
trans.animVal.initialize(trans.baseVal.createSVGTransformFromMatrix(trans.baseVal.getItem(0).matrix));\r
}\r
this.addEventListener("repeatEvent", function(evt) {\r
var tar = evt.target;\r
}, false);\r
-};\r
-SVGAnimateTransformElement.prototype = Object._create(SVGAnimationElement);\r
+} );\r
\r
-function SVGFontElement() /*:\r
+base.$1.upsvg("font").on("initialize", function () /*:\r
SVGElement,\r
SVGExternalResourcesRequired,\r
SVGStylable*/ {\r
}\r
}, false);\r
}, false);\r
-};\r
+} );\r
\r
-function SVGGlyphElement() /*:\r
+base.$1.upsvg("glyph"); /*:\r
SVGElement,\r
- SVGStylable*/ {\r
-};\r
+ SVGStylable*/\r
\r
-function SVGMissingGlyphElement() /*:\r
+base.$1.upsvg("missingGlyph"); /*:\r
SVGElement,\r
- SVGStylable*/ {\r
-};\r
+ SVGStylable*/\r
\r
-function SVGHKernElement() {\r
-};\r
-\r
-function SVGVKernElement() {\r
-};\r
+base.$1.upsvg("hkern");\r
+base.$1.upsvg("kkern");\r
\r
-function SVGFontFaceElement() {\r
+base.$1.upsvg("font-face").on("initialize", function () {\r
/*boolean(or number)*/ this._isLinked = 0;\r
this.addEventListener("DOMNodeInserted", function(evt){\r
if (evt.eventPhase === /*Event.BUBBLING_PHASE*/ 3) {\r
return; //強制終了させる\r
}\r
}, false);\r
-};\r
+} );\r
\r
-function SVGFontFaceSrcElement() {\r
-};\r
+base.$1.upsvg("font-face-src");\r
\r
-function SVGFontFaceUriElement() {\r
+base.$1.upsvg("font-face-uri").on("initialize", function () {\r
this.addEventListener("DOMNodeInserted", function(evt){\r
if (evt.eventPhase === /*Event.BUBBLING_PHASE*/ 3) {\r
return; //強制終了させる\r
evt = tar = tpp = void 0;\r
}, false);\r
SVGURIReference.apply(this);\r
-};\r
+} );\r
\r
-function SVGFontFaceFormatElement() {\r
-};\r
+base.$1.upsvg("font-face-format");\r
\r
-function SVGFontFaceNameElement() {\r
-};\r
+base.$1.upsvg("font-face-name");\r
\r
-function SVGDefinitionSrcElement() {\r
-};\r
+base.$1.upsvg("definitionSrc");\r
\r
-function SVGForeignObjectElement(_doc) /*:\r
+base.$1.upsvg("foreignObject")\r
+ .on("initialize", function (_doc) { /*:\r
SVGElement,\r
SVGTests,\r
SVGLangSpace,\r
SVGExternalResourcesRequired,\r
SVGStylable,\r
SVGTransformable,\r
- events::EventTarget*/ {\r
+ events::EventTarget*/\r
this._tar = _doc.createElement("v:group");\r
var sl = SVGAnimatedLength;\r
/*readonly SVGAnimatedLength*/ this.x = new sl();\r
return; //強制終了させる\r
}\r
tar._inserted__(tar);\r
- tar.addEventListener("DOMNodeInsertedIntoDocument", SVGImageElement.prototype._imageo, false);\r
+ tar.addEventListener("DOMNodeInsertedIntoDocument", this["http://www.w3.org/2000/svgimage"]._imageo, false);\r
evt = tar = void 0;\r
}, false);\r
this.addEventListener("DOMNodeInsertedIntoDocument", function(evt){\r
tar = ta = void 0;\r
}\r
}, true);\r
-};\r
+} );\r
\r
//#endif _SVG_IDL_\r
-base("DOMImplementation")["http://www.w3.org/2000/svg"] = {\r
- g: SVGGElement,\r
- path: NAIBU.SVGPathElement,\r
- title: SVGTitleElement,\r
- desc: SVGDescElement,\r
- defs: SVGDefsElement,\r
- linearGradient: SVGLinearGradientElement,\r
- radialGradient: SVGRadialGradientElement,\r
- stop: SVGStopElement,\r
- rect: SVGRectElement,\r
- circle: SVGCircleElement,\r
- ellipse: SVGEllipseElement,\r
- polyline: SVGPolylineElement,\r
- polygon: SVGPolygonElement,\r
- text: SVGTextElement,\r
- tspan: SVGTSpanElement,\r
- image: SVGImageElement,\r
- line: SVGLineElement,\r
- a: SVGAElement,\r
- animateColor: SVGAnimateColorElement,\r
- animate: SVGAnimateElement,\r
- animateMotion: SVGAnimateMotionElement,\r
- animateTransform:SVGAnimateTransformElement,\r
- clipPath: SVGClipPathElement,\r
- colorProfile: SVGColorProfileElement,\r
- cursor: SVGCursorElement,\r
- definitionSrc: SVGDefinitionSrcElement,\r
- feBlend: SVGFEBlendElement,\r
- feGaussianBlur: SVGFEGaussianBlurElement,\r
- filter: SVGFilterElement,\r
- font: SVGFontElement,\r
- "font-face": SVGFontFaceElement,\r
- "font-face-format":SVGFontFaceFormatElement,\r
- "font-face-name":SVGFontFaceNameElement,\r
- "font-face-src": SVGFontFaceSrcElement,\r
- "font-face-uri": SVGFontFaceUriElement,\r
- foreignObject: SVGForeignObjectElement,\r
- glyph: SVGGlyphElement,\r
- hkern: SVGHKernElement,\r
- marker: SVGMarkerElement,\r
- mask: SVGMaskElement,\r
- missingGlyph: SVGMissingGlyphElement,\r
- mpath: SVGMPathElement,\r
- script: SVGScriptElement,\r
- set: SVGSetElement,\r
- style: SVGStyleElement,\r
- "switch": SVGSwitchElement,\r
- "symbol": SVGSymbolElement,\r
- textPath: SVGTextPathElement,\r
- tref: SVGTRefElement,\r
- use: SVGUseElement,\r
- view: SVGViewElement,\r
- vkern: SVGVKernElement,\r
- pattern: SVGPatternElement\r
-};\r
-(function(){\r
- /*大幅な修正をせずに、base関数をsvg.jsのインターフェースに適用させるためのもの*/\r
- var svg = base("$document").$element.$svgelement,\r
- list = base("DOMImplementation")["http://www.w3.org/2000/svg"];\r
- for (var i in list) {\r
- list.hasOwnProperty(i) && svg.up("http://www.w3.org/2000/svg" + i)\r
- .on("initialize", list[i])\r
- .mix(list[i].prototype);\r
- }\r
-})();\r
\r
NAIBU._fontSearchURI = function(evt){\r
var doc = evt.target.ownerDocument;\r