一通り検証ができたので SimpleCap へ組み込んでみる。
SimpleCapではタイマー機能でのみマウスカーソルのキャプチャを行なうことにする。対象は次の通り。
・ウィンドウタイマー(Windows)
・範囲選択タイマー(Selection)
・メニュータイマー(Menu)
・スクリーンタイマー (Screen)
・アプリケーションタイマー(Application)
・ ウィジェットタイマー(Widget)
結構あるな。
前回までの通り、マウスカーソルはキャプチャ画像とは別に用意して合成する方法を取る。
画像の用意そのものは前回までの MouseCursorクラスで一元的に対応できる。やっかいなのはキャプチャ画像との合成処理。キャプチャ画像のどこへカーソルを描画(合成)すべきかを正確に計算する必要がある。スクリーンタイマーや範囲選択タイマーは元々座標を管理しているので容易にできるが、ウィンドウタイマーやメニュータイマーは複数のウィンドウを扱うため少々面倒である。今まで気にしていなかった各ウィンドウの座標をきちんと管理してやる必要がある。特にタイマーはメインメニューを合成するなどの特別な処理を行っているのでちょっとやっかい。
次回からすこしずつ実装していこう。