現在の開発状況
ver.0.25からの課題について
前回書いていました課題において、さらりと、どのくらい進行しているのかどうか報告します。
実験用として、次のページで公開しています。(注:警告が出るのはわざとやっていますので、ご注意を)http://dhr.at.infoseek.co.jp/workingvml.html
軽量化
7行目に以下のコードを追加。
/*@cc_on _d=document;eval('var document=_d')@*/
また、for(var i=0;i
評価
この二つは「軽量化」が目的というよりも、処理が早くなるのではないかということで導入。処理の効率という面では不安あり。テストをする必要がある。
グラデーションのバグを取り除く
linearGradient要素からVMLに変換するとき、私が勘違いをしていた。VMLのfill要素のangle属性は、正の角度と負の角度で出発点が違ったのである。
例えば、10度は「真下」から「反時計回り」に、図形の中心を10度回る。
- 10度は「真上」から「時計回り」に図形の中心を10度回るのである。
したがって、角度を調節したコード(710行目)を以下のように修正した。
ang = 270 - Math.atan2(y2-y1,x2-x1)*180/Math.PI; if(ang>=360){ang = ang-360;}
評価
バグは取り除かれており、新たなバグ報告がない限りは、テストを続けるのみ。
そのほかのバグ
- path要素のQコマンドやマイナスの座標やArctoには対応していない
- text要素に対応せず
- viewBox属性におけるwidth属性等との関連づけ
評価
次回の記事で詳しく述べたい。