[Sie-announce] SIEコード [1064] radialGradient要素のグラデーションの表示

Zurück zum Archiv-Index

svnno****@sourc***** svnno****@sourc*****
2009年 3月 11日 (水) 22:14:22 JST


Revision: 1064
          http://svn.sourceforge.jp/view?root=sie&view=rev&rev=1064
Author:   dhrname
Date:     2009-03-11 22:14:22 +0900 (Wed, 11 Mar 2009)

Log Message:
-----------
radialGradient要素のグラデーションの表示

Modified Paths:
--------------
    branches/04x/044/sie.js

Modified: branches/04x/044/sie.js
===================================================================
--- branches/04x/044/sie.js	2009-03-11 12:28:55 UTC (rev 1063)
+++ branches/04x/044/sie.js	2009-03-11 13:14:22 UTC (rev 1064)
@@ -832,7 +832,6 @@
     var ele = this.tar;
     ele.setAttribute("path", dat);
     ele.setAttribute("coordsize", w + " " + h);
-    this.paint.mx = x; this.paint.my = y; this.paint.mright = xw; this.paint.mbottom = yh;
     this.paint.set(w, h, ttm);
   } catch(ee) {stlog.add(ee,576);}
 }
@@ -1257,6 +1256,15 @@
     ele.setAttribute("type", "gradientTitle");
     ele.setAttribute("focus", "100%");
     ele.setAttribute("focusposition", "0.5 0.5");
+    var degis = (this.tar.getAttribute("path")+"").match(/[0-9\-]+/g);
+    var el = this.w, et = this.h, er = 0, eb = 0;
+    for (var i=0,degisli=degis.length;i<degisli;i+=2) {
+      var nx = parseInt(degis[i]), ny = parseInt(degis[i+1]);
+      el = el > nx ? nx : el;
+      et = et > ny ? ny : et;
+      er = er > nx ? er : nx;
+      eb = eb > ny ? eb : ny;
+    }
     var outline = document.getElementById("_NAIBU_outline");
     var background = document.createElement("div"), gradient = document.createElement("div");
     background.style.position = "absolute"; gradient.style.position = "absolute";
@@ -1266,7 +1274,7 @@
     background.style.filter = "progid:DXImageTransform.Microsoft.Compositor";
     background.filters.item('DXImageTransform.Microsoft.Compositor').Function = 23;
     var elout = ele.outerHTML;
-    var et = this.my, el = this.mx, er = this.mright, eb = this.mbottom, er2 = er - el / 2;
+    var er2 = er - el / 2;
     var ellipse = "ar " +el+ "," +et+ "," +er+ "," +eb+ " " +er2+ ",0 " +er2+ ",0 e";
     var coord = 'coordsize="' +this.w+ ' ' +this.h+ '"';
     background.innerHTML = '<v:shape style="position:relative;"' +coord+ 'path="' +data+ '" stroked="f" fillcolor="' +color[color.length-1]+ '" />';
@@ -1275,7 +1283,7 @@
     background.innerHTML = '<v:shape style="position:relative; antialias:false;"' +coord+ 'path="' +ellipse+ '" stroked="f">' +elout+ '</v:shape>';
     background.filters[0].play();
     this.tar.parentNode.insertBefore(background, this.tar);
-    background.style.left = "-40";
+    background.style.left = "-40"; //ずれを修正
     this.tar.setAttribute("filled", "false");
     return true;
     } catch(e) {stlog.add(e,1175);}




Sie-announce メーリングリストの案内
Zurück zum Archiv-Index