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を自力で実装すればいいだけですけど。
そんなに難しいことじゃないはず。