X-Git-Url: https://git.yukkurigames.com/?p=enjoyable.git;a=blobdiff_plain;f=TargetMouseScroll.m;fp=TargetMouseScroll.m;h=0000000000000000000000000000000000000000;hp=8f87c02e32557ee7d0b99a2e2c20dc03b580b177;hb=dcedf147ddcb6c21768cea94a2f06b93007d2a82;hpb=e2a4d830dd9817f6a515a3b1b6aa152d3bb98c2b diff --git a/TargetMouseScroll.m b/TargetMouseScroll.m deleted file mode 100644 index 8f87c02..0000000 --- a/TargetMouseScroll.m +++ /dev/null @@ -1,69 +0,0 @@ -// -// TargetMouseScroll.m -// Enjoy -// -// Created by Yifeng Huang on 7/28/12. -// - -#import "TargetMouseScroll.h" - -@implementation TargetMouseScroll { - int sign; -} - -+ (NSString *)serializationCode { - return @"mscroll"; -} - -- (NSDictionary *)serialize { - return @{ @"type": @"mscroll", @"amount": @(_amount) }; -} - -+ (Target *)targetDeserialize:(NSDictionary *)serialization - withMappings:(NSArray *)mappings { - TargetMouseScroll *target = [[TargetMouseScroll alloc] init]; - target.amount = [serialization[@"amount"] intValue]; - return target; -} - -- (void)trigger { - if (!self.magnitude) { - CGEventRef scroll = CGEventCreateScrollWheelEvent(NULL, - kCGScrollEventUnitLine, - 1, - _amount); - CGEventPost(kCGHIDEventTap, scroll); - CFRelease(scroll); - } -} - -- (BOOL)update:(NJInputController *)jc { - if (fabsf(self.magnitude) < 0.01f) { - sign = 0; - return NO; // dead zone - } - - // If the input crossed over High/Low, this target is done. - if (!sign) - sign = self.magnitude < 0 ? -1 : 1; - else if (sign / self.magnitude < 0) { - sign = 0; - return NO; - } - - int amount = (int)(16.f * fabsf(self.magnitude) * _amount); - CGEventRef scroll = CGEventCreateScrollWheelEvent(NULL, - kCGScrollEventUnitPixel, - 1, - amount); - CGEventPost(kCGHIDEventTap, scroll); - CFRelease(scroll); - - return YES; -} - -- (BOOL)isContinuous { - return YES; -} - -@end