2008-11-01から1ヶ月間の記事一覧

CSSセレクタの開発から得られたノウハウのフィードバック + IE8でメソッドをフックする(HTMLElementプロトタイピング)

ここ数日は、CSSセレクタ(uupaa-selector.js)の高速化と同時に、DOM Level2 Mutation Events をサポートする小さなライブラリ(uupaa-mutationevent.js)を作っていました。uupaa-mutationevent.js は、 CSSセレクタにキャッシュを導入するなら、DOMツリーの改…

CSSセレクタがトータルで100倍速くなったからそろそろ終わり

function _fakeMutationEvents(elm) { elm.style.behavior = "none"; (function(n) { var fn = n.removeChild; n.removeChild = function(oldChild) { // DOMNodeRemoved uuClass.Selector.clearCache(); return fn(oldChild); } })(elm); elm.attachEvent("…

DOMNodeInserted と DOMNodeRemoved に似た仕組みを IE でも使えるようにして、セレクタの実行結果をキャッシュする

セレクタ(id, tag, class, css, xpath)の実行速度を改善するには、2つの方法があります。 ロジックを改善する キャッシュを使う 今日は2の方法について検討したことを書き残します。 心配事 キャッシュを使う上での心配事は「キャッシュが古くなったらどうす…

IE8での変化点一覧 + 備忘録(その2)

このエントリは、IE8での変化点一覧 + 備忘録 - latest logの続きです。 IE8モードで、CSS expression が無視される。 バグ回避や、max-width などを実装するため必要不可欠だった expression 構文は廃止される。 ただし、IE7モードとQuirksモードでは下位互…

uupaa-selector 2.0 できました。

2008-11-23追記: http://app.blog.livedoor.jp/sourcewalker/tb.cgi/51408207 で紹介されていたので、peppy と sizzle を追加 peppy と sizzle がキャッシュを使ってて(なんかズルイ)ので、彼らに負けじと謎の技術を惜しげもなくぶち込んでみた。JavaScript…

Silverlight で HTML5::Canvas を実装した

11/1 の思いつきから始まった「Silverlight + VML = HTML5::Canvas」も、やっと一段落しました。 実装済みの機能 clearRect, beginPath, moveTo, lineTo, bezierCurveTo, quadraticCurveTo, rect, strokeRect, fillRect, closePath, drawImage(キャンバスの…

Silverlight で HTML5::Canvas を実装中(clipが実装できない)

VMLモードで clip を実装できないかと try 〜 error を繰り返しています。VMLにはクリッピング用途に使える機能がほとんど見当たりませんし、ExplorerCanvasの開発チーム(Googleの中の人 × 3名様)が出来なかったことを(clipに限らず色々と)やろうとしている…

Silverlight で HTML5::Canvas を実装中(今日はテキストAPIを実装)

VMLモードのレンダリングを改善しました。細かなことは昨日の日記などをご覧下さい。 Silverlightモードの変更箇所 fillText(), strokeText() を実装 (ただし strokeText() は fillText() と同じレンダリングを行う)。 A canvas fillText and strokeText exa…

Silverlight で HTML5::Canvas を実装中

追記: サンプルを追加しました。 実装済みの機能 clearRect, beginPath, moveTo, lineTo, bezierCurveTo, quadraticCurveTo, rect, strokeRect, fillRect, closePath, createLinearGradient, createRadialGradient, stroke, fill, arc, save, restore, trans…

Silverlight で HTML5::Canvas を実装中

必須と思われる機能をあらかた実装できました。 実装済みの機能 clearRect, beginPath, moveTo, lineTo, bezierCurveTo, quadraticCurveTo, rect, strokeRect, fillRect, closePath, createLinearGradient, createRadialGradient, stroke, fill, arc, save, …

Silverlight の Path.Data には長さ制限があるらしい。

長さが 32598 だと問題なしで、33533 だとエラーが発生するため、32768 辺りに境界が有ると思われる。 # MSDNにはその手の記述はなし。この制限により、https://developer.mozilla.org/samples/canvas-tutorial/5_2_canvas_translate.html の右上と中央の図…

HTML5::Canvas を Silverlight で実装

現状 デモ バウンドするドット excanvas.js(ver0.2)でレンダリング VMLモードでレンダリング Silverlightモードでレンダリング 回転するボックス excanvas.js(ver0.2)でレンダリング VMLモードでレンダリング Silverlightモードでレンダリング # IE以外のブ…

Silverlight で HTML5::Canvas を実現するライブラリの実装を開始しました

「Silverlight で HTML5::Canvas を実現できないか」から早5日(うち3日はサボり)。ぼちぼち動くようになってきました。 今回書いたライブラリは、Silverlightがインストールされている環境ではSilverlightを使い、インストールされていなければ、VMLでレンダ…

Silverlight の勉強

調べながら書いてるので、どんどん追記していきます。 とりあえずSilverlight2.0 の SDK をインストール SDKをインストールすると、Silverlight.js というファイルが手に入る。 Silverlight.js は SWFObject.js 的なもの。500行と結構ボリュームはあるけど中…

CSSセレクタの最新版(uupaa-selector.js version 1.5)をリリースしました。

2008-11-27追記: version 2.0 が最新になります。uupaa.js (ver 0.7)に実装されているCSSセレクタの機能を、単体で動作可能にパッケージしなおしたJavaScriptライブラリ(uupaa-selector.js)の最新版をリリースしました。今回は、 使用可能な場合は、DOM Elem…

Silverlight で HTML5::Canvas を実現できないか

IE限定になりますが、Silverlight で描画のためのフロントエンド(描画API)を組めないか考えてました。 excanvas.js を最終手段としておいて、使える環境なら Silverlight を使ってしまおうかと。 HTML5::Canvas と Silverlight Silverlight は、MS 発の Flas…