仕事などでたまにあるのが Webアプリケーションのスクリーンショットを撮る作業。1枚ならともかく何枚も撮る場合がある。SimpleCapでこれをサポートしよう。よくあるのがショートカットキー(ホットキー)で連続してキャプチャする方法。悪くはないし実装も楽なのだが、あくまでもショートカットキーは補助的なもので慣れた人向けの機能としては良いが、基本は GUIでうまく使える用に実装すべきだというのが私の考え。そこでショートカットキーは後で実装するとして、 SimpleCapではまず GUIでの実現方法を考える。
一つは専用の子ウィンドウを用意してそこのボタンを押してもらう。悪くない。タイマーウィンドウが似た役割を果たしている。ただそれだと普通?なのでもうひとひねり欲しい。
そこで現在のウィンドウキャプチャ同様に右上にボタンを配置するようにする。それならインターフェイスの統一性も保たれる。
で、やってみた。こんな感じ。
キャプチャ起動時に一番上に表示されていたウィンドウをトラッキング対象として、このウィンドウの右上にボタンを配置する。ウィンドウを移動したりサイズを変更した場合はそれに合わせてボタン位置も調整する。
トラッキングは原始的で、0.1秒毎に対象のウィンドウの位置をチェックしそれに合わせてボタンの載っている透明なウィンドウの位置合わせを行っている。ウィンドウをドラッグすると、ボタンが若干遅れて付いてくる感じだがこれで十分。この辺りは以前のウィンドウのタイマーキャプチャと同じ手法。