RubberBandの組み込みが終わったのでキャプチャ機能を追加する。
ボタンを押した時のハンドラに以前のキャプチャコードを貼付けるだけ。
SelectionHandler.m
-(void)clickedAtTag:(NSNumber*)tag
{
CGImageRef cgimage;
switch ([tag intValue]) {
case TAG_CANCEL:
break;
case TAG_TIMER:
break;
case TAG_COPY:
cgimage = CGWindowListCreateImage([self CGRectFromNSRect:_rect],
kCGWindowListOptionOnScreenBelowWindow,
[_capture_controller windowID],
kCGWindowImageDefault);
[_capture_controller copyImage:cgimage];
break;
case TAG_RECORD:
cgimage = CGWindowListCreateImage([self CGRectFromNSRect:_rect],
kCGWindowListOptionOnScreenBelowWindow,
[_capture_controller windowID],
kCGWindowImageDefault);
[_capture_controller saveImage:cgimage];
break;
default:
break;
}
[_capture_controller exit];
}
CANCEL と COPY(クリップボード)、RECORD(キャプチャ)を実装した。TIMER(タイマー)は今後実装する。
ちなみにボタンや数字を少し大きくした。実際に画面全体で使ってみると小さくて見づらかったため。
ソース:SimpleCap-3.zip