OSDN Git Service
(root)
/
sie
/
sie.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
39df9c7
)
Modify the push method to support SVG API as the beginElement method
author
dhrname
<dhrname@users.sourceforge.jp>
Mon, 31 Oct 2016 13:53:56 +0000
(22:53 +0900)
committer
dhrname
<dhrname@users.sourceforge.jp>
Mon, 31 Oct 2016 13:53:56 +0000
(22:53 +0900)
org/w3c/dom/smil.js
patch
|
blob
|
history
diff --git
a/org/w3c/dom/smil.js
b/org/w3c/dom/smil.js
index
276a309
..
48a0d23
100644
(file)
--- a/
org/w3c/dom/smil.js
+++ b/
org/w3c/dom/smil.js
@@
-413,8
+413,6
@@
base("$frame").mix ( {
objList.value = this.begin = eventOffset + base("$frame").currentFrame;
\r
endList.value = this.begin + this.activeTime;
\r
this.isResolved = true;
\r
objList.value = this.begin = eventOffset + base("$frame").currentFrame;
\r
endList.value = this.begin + this.activeTime;
\r
this.isResolved = true;
\r
- console.log(base("$frame").currentFrame, this.$list);
\r
-
\r
};
\r
this.eventOffset = eventOffset;
\r
if (this.repeat > 0) {
\r
};
\r
this.eventOffset = eventOffset;
\r
if (this.repeat > 0) {
\r
@@
-1115,16
+1113,36
@@
base("$calcMode").up("$attribute").mix( {
$frame.addLine(frame.$list.init());
\r
/*beginElementメソッドを追加*/
\r
function eleMethod (obj, eventName) {
\r
$frame.addLine(frame.$list.init());
\r
/*beginElementメソッドを追加*/
\r
function eleMethod (obj, eventName) {
\r
- return (obj.string !== "indefinite") ? function(){}
\r
+ /*objListのvalueプロパティはあとで書き換えられる(イベントの場合のみ)*/
\r
+
\r
+ return
\r
+ };
\r
+
\r
+ /*beginElementメソッドを追加*/
\r
+ var objList = frame.$list.addList(Number.MAX_VALUE),
\r
+ /*endListのvalueプロパティには、活動継続フレーム数と開始フレーム数を足したものが入る*/
\r
+ endList = frame.$list.addEndList(Number.MAX_VALUE);
\r
+ ele.beginElement = (frame.string !== "indefinite") ? function(){}
\r
: function() {
\r
: function() {
\r
+ objList.value = frame.begin = base("$frame").currentFrame;
\r
+ endList.value = frame.begin + frame.activeTime;
\r
+ frame.isResolved = true;
\r
var evt = this.ownerDocument.createEvent("MouseEvents");
\r
var evt = this.ownerDocument.createEvent("MouseEvents");
\r
- evt.initMouseEvent(
eventName + "
Event" ,true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, this);
\r
+ evt.initMouseEvent(
"begin
Event" ,true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, this);
\r
this.dispatchEvent(evt);
\r
};
\r
this.dispatchEvent(evt);
\r
};
\r
- };
\r
- ele.beginElement = eleMethod(frame, "begin");
\r
/*endElementメソッドを追加*/
\r
/*endElementメソッドを追加*/
\r
- ele.endElement = eleMethod(frame.$activate.end || {}, "end");
\r
+ var endFrame = frame.$activate.end || {};
\r
+ ele.endElement = (endFrame.string !== "indefinite") ? function(){}
\r
+ : function() {
\r
+ if (frame.isResolved) {
\r
+ endList.value = frame.begin + frame.activeTime;
\r
+ endFrame.isResolved = true;
\r
+ var evt = this.ownerDocument.createEvent("MouseEvents");
\r
+ evt.initMouseEvent("endEvent" ,true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, this);
\r
+ this.dispatchEvent(evt);
\r
+ }
\r
+ };
\r
/*setFrameメソッドを使ったときの、再帰スタックの使いすぎを防ぐため*/
\r
frame.timelines = [];
\r
begin = ele = void 0;
\r
/*setFrameメソッドを使ったときの、再帰スタックの使いすぎを防ぐため*/
\r
frame.timelines = [];
\r
begin = ele = void 0;
\r