iアプリでブラウザを作る Canvas編
以前、しょうもないブラウザを作成した。
このときには、高レベルAPIを使用した。
Panelクラスとその周辺。
ただ、こいつらは、融通が利かない。
なので、どんなふうにも融通の利くCanvasクラスを使用する。
点の1つですら自分で実装するような感じで、何も用意されていない。
用意されているのは、点を画面に表示する という機能のみ。
(大げさかしら?)
PanelをCanvasにするだけで、かなり茨の道となりましょうw
ちゃんとかななかったけど、
iアプリでブラウザを作る マウス実装完了
のマウスは、Canvasから使用するように作られている。
Panel上で「開発側から表示したもの」をぶんぶん移動させて、
イベントを発生させるやりかたが、ちょっとよくわからなかったので、
Canvasになった。
HTMLのformタグ周辺を考えるとこのPanelクラス周辺は非常に使用したいのだが、
まぁしょうがない。
レッツ茨道。
えーと、まず何考えるんだろう。
とりあえず、「Hello Mouse Browser」かな。
仕様は:
デフォルトの画面が表示される
↓
ボタンを押すとURLが表示される?
↓
さらにボタンを押すとURLを入力モードになる→入力完了
↓
入力したURLが表示される?
↓
さらにボタンを押すとリクエストが走る
↓
(画面がロックされる)
↓
また、HTMLソースが表示されるw
↓
マウスを十字キーで動かすとソース上を縦横無尽に動ける
↓
2つ目の、「ボタンを押すとURLが表示される?」に戻る
次の目標はこんな感じ。
一応書いていて、すでに挙がっている問題点として、
リクエスト飛ばしているとき画面がロックされるわけだ。
これは、HttpConnectionクラスがStreamとIN/OUTしている間、
repaint();がコールできないためである。
この問題点もクリアしないといけませんね。
ThreadPoolを自力で実装すればいいだけですけど。
そんなに難しいことじゃないはず。