2010年1月4日月曜日

エディタ(JVerticalText)

エディタを作るに当たって考えることがいくつかあります。
  • データの持ち方
  • 書き込みキャレットと書き込まれた際の画面の書き換え
データに関しては、「行」をStringBufferとして持ち、 文章をLinkedListとして持つのがやっぱり順当だと思われます。1文字挿入する度に全メモリを操作するのはあんまり良いと思えませんし。
問題は、「行」を描画する際に、画面のどこを描画するべきかを考えなくてはならないこと。1文字挿入/削除する度に「行」が始まるところから描画を行い直し、直前の「行」の縦幅と違うようであれば、それ以前の行を全て見えているところに関しては描画し直すというのが順当かなぁ。
ちなみに、これに加えて日本語で描画を行う際にはIMEの未確定文字/変換文字/変換ウィンドウの位置をきちんと指定しないとおかしな位置にIMEのウィンドウが出る羽目になります。
けど、まずは縦書きで英語の文章を書くことを目指していきましょう。

0 件のコメント:

コメントを投稿