@implementation TargetMouseScroll
-@synthesize howMuch;
++ (NSString *)serializationCode {
+ return @"mscroll";
+}
--(NSString*) stringify {
- return [[NSString alloc] initWithFormat: @"mscroll~%d", howMuch];
+- (NSDictionary *)serialize {
+ return @{ @"type": @"mscroll", @"amount": @(_amount) };
}
-+(TargetMouseScroll*) unstringifyImpl: (NSArray*) comps {
- NSParameterAssert([comps count] == 2);
- TargetMouseScroll* target = [[TargetMouseScroll alloc] init];
- [target setHowMuch: [comps[1] integerValue]];
++ (Target *)targetDeserialize:(NSDictionary *)serialization
+ withConfigs:(NSArray *)configs {
+ TargetMouseScroll *target = [[TargetMouseScroll alloc] init];
+ target.amount = [serialization[@"amount"] intValue];
return target;
}
-
-(void) trigger {
CGEventRef scroll = CGEventCreateScrollWheelEvent(NULL,
kCGScrollEventUnitLine,
1,
- [self howMuch]);
+ _amount);
CGEventPost(kCGHIDEventTap, scroll);
CFRelease(scroll);
}