[Sie-announce] SIEコード [1435]

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2009年 11月 25日 (水) 23:16:15 JST


Revision: 1435
          http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=1435
Author:   dhrname
Date:     2009-11-25 23:16:15 +0900 (Wed, 25 Nov 2009)

Log Message:
-----------


Modified Paths:
--------------
    branches/05x/055/sie.js

Modified: branches/05x/055/sie.js
===================================================================
--- branches/05x/055/sie.js	2009-11-24 13:15:07 UTC (rev 1434)
+++ branches/05x/055/sie.js	2009-11-25 14:16:15 UTC (rev 1435)
@@ -2162,56 +2162,77 @@
 };
 
 function STSetElement(/*Element*/ ele, /*Matrix*/ matrix, /*float*/w, h) {
-  var parent = ele.parentNode, pnodeName = parent.nodeName, ancestors = [];
-  try {
-    while (pnodeName === "group" || pnodeName === "A" || pnodeName === "DIV") {
-      parent = parent.parentNode;
-      pnodeName = parent.nodeName;
-      ancestors[ancestors.length] = parent;
-    }
-    for (var i=ancestors.length-1;i>=0--i) {
-      matrix = NAIBU.transformToCTM(ancestors[i], matrix);
-    }
-  } catch(e) {}
+  var parent = ele.parentNode, dummy = new Matrix(1, 0, 0, 1, 0, 0), s = {};
   if (parent.nodeName === "shape") {
     switch (parent.getAttribute("tag")) {
       case "path":
-        s = new STPath(parent, matrix);
+        s = new STPath(parent, dummy);
       break;
       case "rect":
-        s = new STRectElement(parent, matrix, w, h);
+        s = new STRectElement(parent, dummy, w, h);
       break;
       case "circle":
-        s = new STCircle(parent, matrix, w, h);
+        s = new STCircle(parent, dummy, w, h);
       break;
       case "ellipse":
-        s = new STEllipse(parent, matrix, w, h);
+        s = new STEllipse(parent, dummy, w, h);
       break;
       case "polyline":
-        s = new STPolyline(parent, matrix);
+        s = new STPolyline(parent, dummy);
       break;
       case "polygon":
-        s = new STPolygon(parent, matrix);
+        s = new STPolygon(parent, dummy);
       break;
       case "line":
-        s = new STLine(parent, matrix, w, h);
-       break;
-     }
-   } else if (parent.nodeName === "DIV") {
-     s = new STText(parent, matrix, w, h);
-   } else if (parent.nodeName === "group") {
-     s = new STGroupElement(parent, matrix, w, h);
-   } else if (parent.nodeName === "A") {
-     s = new STAElement(parent, matrix);
-   } else if (parent.nodeName === "image") {
-     s = new STImage(parent, matrix, w, h);
-   }
+        s = new STLine(parent, dummy, w, h);
+      break;
+    }
+  } else if (parent.nodeName === "DIV") {
+    s = new STText(parent, dummy, w, h);
+  } else if (parent.nodeName === "group") {
+    s = new STGroupElement(parent, dummy, w, h);
+  } else if (parent.nodeName === "A") {
+    s = new STAElement(parent, dummy);
+  } else if (parent.nodeName === "image") {
+    s = new STImage(parent, dummy, w, h);
+  }
+  s.transformable = matrix;
   this.target = s;
   this.transformable = matrix;
+  this.currentTime = 0;
+  this._begin = this._end = this._active = null;
+  dummy = null;
   return this;
 };
 STSetElement.prototype.set = function (w,h){
 };
+//sはフレーム数であることに気をつけること
+STSetElement.prototype._frame = function (/*int*/ s){
+  if (this._begin && this._end) {
+    if (this._begin >= s && this.currentTime === 0) {
+      this.beginElement();
+      this.currentTime++;
+    }
+    if (this._end >= s && this.currentTime !== 0) {
+      this.endElement();
+      this.currentTime = 0;
+      this._begin = null;
+    }
+  }
+};
+};STSetElement.prototype.beginElement = function (){
+  var target = this.target;
+};
+STSetElement.prototype.endElement = function (){
+  var target = this.target;
+};
+STSetElement.prototype.beginElementAt = function (offset){
+  this._begin = offset * 0.8 * 0.024;  //フレーム数に変換(軽量化のために、1s = 800msで計算)
+};
+STSetElement.prototype.endElementAt = function (offset){
+  this._end = offset * 0.8 * 0.024;
+};
+
 function utf16( /*string*/ s)  {
   return unescape(s);
 }




Sie-announce メーリングリストの案内
Back to archive index