forked from cloudycliff/CaptureMyScreen
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ActivatorListener.mm
42 lines (30 loc) · 1.23 KB
/
ActivatorListener.mm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#import <libactivator/libactivator.h>
#import "CaptureMyScreen.h"
@interface CaptureMyScreenListener : NSObject<LAListener, UIAlertViewDelegate> {}
@end
@implementation CaptureMyScreenListener
+(void)load {
[[LAActivator sharedInstance] registerListener:[self new] forName:@"com.cloudycliff.capturemyscreen"];
}
- (void)activator:(LAActivator *)listener receiveEvent:(LAEvent *)event
{
UIAlertView *error = [[UIAlertView alloc] initWithTitle:@"Title" message:@"Message" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil];
[error show];
[error release];
[event setHandled:YES];
}
-(void)activator:(LAActivator *)listener abortEvent:(LAEvent *)event
{
}
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
if(buttonIndex == 1) {
CaptureMyScreen *_screenCapturer = [[CaptureMyScreen alloc] init];
CGImageRef cgImage = [_screenCapturer captureMyScreen];
UIImage *img = [UIImage imageWithCGImage:cgImage];
NSString *pngPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/test.png"];
[UIImagePNGRepresentation(img) writeToFile:pngPath atomically:YES];
CGImageRelease(cgImage);
[_screenCapturer release];
}
}
@end;