uupaa-excanvas.js 0.4 alpha

IEHTML5::Canvas を利用可能にする uupaa-excanvas.js 0.4 alpha をプレリリースしています。

version 0.4 は VMLSilverlight を使って実装可能と思われる HTML5::Canvas API 互換機能を全て実装したバージョンです。

ダウンロード: http://code.google.com/p/uupaa-js-spinoff/downloads/list

CHANGE LOG: http://uupaa-js-spinoff.googlecode.com/svn/trunk/uupaa-excanvas.js/CHANGELOG.htm

なにができるか

今回の version を使うと、HTML + JavaScriptで 時間と共に色味や外見が変化する UI 部品などが作れます。
http://uupaa-js-spinoff.googlecode.com/svn/trunk/uupaa-excanvas.js/demo/layer_button.htm

ちょっと頑張れば、色がほわんほわん変化するタブコントロールやら、角丸ボックスも作れますよ。

ゲームなんかも作りやすくなってると思いますが、そういうのは Flash でやるべきかもしれません。

変更点

  • ver 0.3 とは I/F レベルで互換性がありません。
  • canvas から canvas へのコピー drawImage(canvas) をサポート
    • 引数9個版は制限あり
    • canvasのコピーは、全ての描画命令をスタックに保存しておき、コピー先のcanvas上で復元することで実現しています。
      • とても重い機能なので、画像が使えるなら素直に画像を使うほうが色々な面でお得です。
  • uuCanvas.ready, uuCanvas.already の引数を変更
  • BugFix
    • Silverlightcanvasリサイズ時の不具合をfix
    • font のパース処理をリテイク
    • その他色々
  • Firefox3.0, Opera9.5+ で fillText() をサポート
    • Opera9.5+ なら Text Shadowをサポート
  • VML の Text Shadow のレンダリングを改善
  • Opera9.2x と Firefox2.0 をサポートブラウザから除外
    • ケアはしませんが、動かないというわけではありません。単に開発リソースが不足しているためです。
  • レイヤー構造を管理する uuCanvas.Layer に コンビニエンスクラス uuCanvas.Draw の機能を統合

なにか

  • uuCanvas.Layer は大幅に書き直しているので、何かありそう。
  • VML モードは ExplorerCanvas(r3) とくらべて5〜10%ぐらい速く動くようです。
  • ファミコンのカラーパレットをこっそり仕込んでます。
    • uuCanvas.color.hash["fc00"] から hash["fc3f"] まで
      • どんな色があるかは、Google("ファミコン パレット") で検索してみてください。
  • かなり機能を詰め込みましたが、uupaa-excanvas.js 自体のファイルサイズは ver 0.3 よりも小さくなってます。
  • デモを見れば、「何ができて何ができないか」を確認できます。
    • サポートできていない機能の多くは SilverlightVML の制限に起因します。
    • ですので、現時点でサポートできていない機能は、今後もサポートする予定はありません(限界まで実装したつもり)。

興味がある方は デモ を試してみてください。

バグレポートやご意見、「試してみたよ!」等のご報告をお待ちしております。

反省会

  • これでWeb OSを作るうえで欠かせない道具が二つできた。
  • 音が無いのはちょっとさみしい
    • VML(+TIME) も Silverlight も音を再生するポテンシャルは持ってた気がするので、そっち系の実装もやりたい。
  • 一年前までは JavaScript は不得意かつ苦手な言語だったけど、近頃は苦手意識がなくなったかも。
    • 不得意なのはあいわらず。