ページ

2008年4月7日月曜日

SimpleCap (2) - 基本機能実装

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

SimpleCap(スクリーンキャプチャソフト)の開発報告。基本機能の実装ができた。

・単一ウィンドウ
・選択範囲
・タイマー

ソース:SimpleCap-2.zip

クラス構成は試行錯誤の上、下図のようになった。



キャプチャの種類によってマウスイベントに対する処理が異なる。今回はNSViewのサブクラスで分けるのではなくイベント処理と描画を行なう別のクラスを作って、これを切り替えて使うことにした。Handlerという名前のついたクラス群がこの処理を行なう。マウスイベントと描画に関するメソッドを Handlerというプロトコルで切り出しておき、NSViewの mouseDown: や drawRect: などのメソッドから、このプロトコルを呼出すようにした。CaptureController が HandlerとNSViewやその他の調整を行なう。これによってキャプチャの種類を増やしたい場合は Handlerを追加するだけで良い(もちろんファクトリ、メニュー呼び出しなどにも追加が必要)。

- - - -
次は細部をきちんと作り込むのと、複数ウィンドウ対応や新機能を加えていく。