ページ

2008年8月27日水曜日

マウスカーソルのキャプチャ (13)

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

さて今度はメニューキャプチャにマウスカーソルを合成する。メニューキャプチャでは以前紹介した Windowクラスは使わずベタで CGWindowListCopyWindowInfo( )を使っていた。これに手をいれて Windowベースの実装へ変更する。こうすると CaptureController側のマウスカーソル画像合成はウィンドウほかの共通処理が使える。

早速修正処理に入るがコードがちょっとわかりづらい(自分で書いたのだが。。)。そこで一旦メニュー処理を整理してみた。

まずコードは何をやっているのかを追ってみた。


おおざっぱすぎてよくわからない。もう少し詳細に追って見る。


なんとなくやりたいことが見えてきた。つまり(当時自分で考えたことは)こういうこと。



メニューの種類によって、メインメニューバーやステータスバーを追加する処理を加えている。

例えばこんなのや、


こんなの、


そしてこんな感じ。



その為に処理が若干わかりづらくなっている。今回 Window対応するのに合わせてここをリファクタリングしてしまおう。

(続く)