Home > Latest topics

Latest topics > ルーラーバー 0.3.2008102201

宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能! シス管系女子って何!? - 「シス管系女子」特設サイト

ルーラーバー 0.3.2008102201 - Oct 22, 2008

Ruler Bar更新した。結局、今までのやり方はほとんど全部うっちゃって、ピクセル単位で位置合わせするようにした。

ピクセル単位で現在のカーソル位置を取得するには、カーソル位置=長さ0の選択範囲の位置に何かダミーの要素を挿入して、その要素の画面上でのX座標を取得すればいい。ただ、メール本文の編集中にこれをやると、場合によっては再描画とかノードがブツ切りにされまくるとかでかなり怖いことになるんじゃないだろうかという心配があったり、そもそもテキストノードの切断を伴うような処理をやると選択範囲が失われる(=カーソルが一時的に消える)のでその復活のための処理が面倒だったり、といくつかの理由があってこの方法を採るのをずっとためらってた。

でも上手い解決方法を思いついたので、今回この方法に切り替えることにした。

種を明かすと、非表示のフレームを一つ用意しておいて、編集中のメール本文のうちカーソルがある段落の箇所だけをその隠しフレームに複製して、そっちでテキストノードの切断を伴うような処理をやってる。フォントや文字の大きさ、body要素の幅などを合わせてやれば、そこで起こる折り返しは基本的に本物と全く同じ結果になるはずなので。編集されるのは複製の方で、しかもカーソル前後の段落だけ抜き出したものだから、ノードを切り刻んでも再描画のコストは最低限で済んでる……と思う。

分類:Mozilla > 拡張機能 > rulerbar, , , , , , , 時刻:01:08 | Comments/Trackbacks (0) | Edit

Comments/Trackbacks

TrackBack ping me at


の末尾に2020年11月30日時点の日本の首相のファミリーネーム(ローマ字で回答)を繋げて下さい。例えば「noda」なら、「2008-10-22_pos.trackbacknoda」です。これは機械的なトラックバックスパムを防止するための措置です。

Post a comment

writeback message: Ready to post a comment.

2020年11月30日時点の日本の首相のファミリーネーム(ひらがなで回答)

Powered by blosxom 2.0 + starter kit
Home

カテゴリ一覧

過去の記事

1999.2~2005.8

最近のコメント

最近のつぶやき