X-Git-Url: https://git.yukkurigames.com/?a=blobdiff_plain;ds=sidebyside;f=TargetMouseScroll.m;h=3c417c1264a56576d0d4d2870af97d219acfdbb3;hb=08c920c47d68423c16a6deba2a59488772066f6b;hp=79bc5421f371bfe97e6aecd24882e183247a810d;hpb=51d43664909060e85c943c4d63cc3cff307ceb1d;p=enjoyable.git diff --git a/TargetMouseScroll.m b/TargetMouseScroll.m index 79bc542..3c417c1 100644 --- a/TargetMouseScroll.m +++ b/TargetMouseScroll.m @@ -12,22 +12,25 @@ @synthesize howMuch; --(NSString*) stringify { - return [[NSString alloc] initWithFormat: @"mscroll~%d", howMuch]; ++ (NSString *)serializationCode { + return @"mscroll"; } -+(TargetMouseScroll*) unstringifyImpl: (NSArray*) comps { - NSParameterAssert([comps count] == 2); - TargetMouseScroll* target = [[TargetMouseScroll alloc] init]; - [target setHowMuch: [comps[1] integerValue]]; - return target; +- (NSDictionary *)serialize { + return @{ @"type": @"mscroll", @"howMuch": @(self.howMuch) }; } ++ (Target *)targetDeserialize:(NSDictionary *)serialization + withConfigs:(NSArray *)configs { + TargetMouseScroll *target = [[TargetMouseScroll alloc] init]; + target.howMuch = [serialization[@"howMuch"] intValue]; + return target; +} -(void) trigger { CGEventRef scroll = CGEventCreateScrollWheelEvent(NULL, kCGScrollEventUnitLine, 1, - [self howMuch]); + self.howMuch); CGEventPost(kCGHIDEventTap, scroll); CFRelease(scroll); }