if(window.requestAnimationFrame && requestAnimationFrame\r
&& !document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#Animation", "1.1")) {\r
/*IE11などSMILアニメーションに対応していないブラウザ用*/\r
- }\r
- /*$frame オブジェクト\r
- * 全体のフレームの管理を行う\r
- */\r
- base("$frame").mix ( {\r
- /*フレームレート。1ミリ秒何フレームか。計算を省略するためミリ秒使用*/\r
- fpms: 0.024,\r
+}\r
+/*$frame オブジェクト\r
+ * 全体のフレームの管理を行う\r
+ */\r
+base("$frame").mix ( {\r
+ /*フレームレート。1ミリ秒何フレームか。計算を省略するためミリ秒使用*/\r
+ fpms: 0.024,\r
\r
- /*タイムラインのリスト (時間区間の設定ができる)*/\r
- timelines: [],\r
+ /*タイムラインのリスト (時間区間の設定ができる)*/\r
+ timelines: [],\r
\r
- /*開始フレーム数。アニメーションの開始条件となる*/\r
- begin: 0,\r
+ /*開始フレーム数。アニメーションの開始条件となる*/\r
+ begin: 0,\r
\r
- /*活動持続時間 (Active Duration)のフレーム数。アニメーションの継続条件となる\r
- * 単位はフレーム数であって、秒数ではない*/\r
- activeTime: Number.MAX_VALUE,\r
+ /*活動持続時間 (Active Duration)のフレーム数。アニメーションの継続条件となる\r
+ * 単位はフレーム数であって、秒数ではない*/\r
+ activeTime: Number.MAX_VALUE,\r
\r
- /*setFrame メソッド\r
- * フレーム数を数値num まで進めるか、戻す*/\r
- setFrame: function( /*number*/ num) {\r
- if((num < this.begin) || (num >= (this.begin+this.activeTime))) {\r
- return;\r
- }\r
- var timelines = this.timelines;\r
- for (var i=0;i<timelines.length;++i) {\r
- timelines[i].setFrame(num);\r
- }\r
- },\r
- /*addLineメソッド\r
- * タイムラインを追加したあと、trueを返す\r
- * ただし、引数objのobj.beginとobj.activeTimeが定まっていない場合はfalseを返す*/\r
- addLine: function( /*Object*/ obj ) {\r
- if(!obj || (!obj.begin && (obj.begin !== 0))\r
- || (!obj.activeTime && (obj.activeTime !== 0)) ) {\r
- /*どちらのプロパティも未確認の場合、タイムラインは追加されない*/\r
- return false;\r
- }\r
- /*objを適用*/\r
- this.timelines.push( this.up("$line").of(obj) );\r
- return true;\r
- },\r
- \r
- /*removeLine メソッド\r
- * 指定されたタイムラインのオブジェクトを、リストから削除する*/\r
- removeLine: function( /*Object*/ timeline ) {\r
- var list = this.timelines,\r
- j = 0,\r
- t;\r
- while (t = list[j]) {\r
- if (t === timeline) {\r
- list.splice(j, 1); //Arrayのspliceを利用して、リストからtimelineを排除\r
- break;\r
- }\r
- ++j;\r
+ /*setFrame メソッド\r
+ * フレーム数を数値num まで進めるか、戻す*/\r
+ setFrame: function( /*number*/ num) {\r
+ if((num < this.begin) || (num >= (this.begin+this.activeTime))) {\r
+ return;\r
+ }\r
+ var timelines = this.timelines;\r
+ for (var i=0;i<timelines.length;++i) {\r
+ timelines[i].setFrame(num);\r
+ }\r
+ },\r
+ /*addLineメソッド\r
+ * タイムラインを追加したあと、trueを返す\r
+ * ただし、引数objのobj.beginとobj.activeTimeが定まっていない場合はfalseを返す*/\r
+ addLine: function( /*Object*/ obj ) {\r
+ if(!obj || (!obj.begin && (obj.begin !== 0))\r
+ || (!obj.activeTime && (obj.activeTime !== 0)) ) {\r
+ /*どちらのプロパティも未確認の場合、タイムラインは追加されない*/\r
+ return false;\r
+ }\r
+ /*objを適用*/\r
+ this.timelines.push( this.up("$line").of(obj) );\r
+ return true;\r
+ },\r
+ \r
+ /*removeLine メソッド\r
+ * 指定されたタイムラインのオブジェクトを、リストから削除する*/\r
+ removeLine: function( /*Object*/ timeline ) {\r
+ var list = this.timelines,\r
+ j = 0,\r
+ t;\r
+ while (t = list[j]) {\r
+ if (t === timeline) {\r
+ list.splice(j, 1); //Arrayのspliceを利用して、リストからtimelineを排除\r
+ break;\r
}\r
+ ++j;\r
}\r
- } );\r
+ }\r
+} );\r
+ \r
\r
//#endif // _SMIL_IDL_\r