X-Git-Url: https://git.yukkurigames.com/?a=blobdiff_plain;f=TargetMouseMove.m;h=aa503069441645295ebe4bf9551a485eaa646735;hb=25dd74a4a34f4ba7ec797360bd8f92cbd7bc758e;hp=86dd7367749b562936018f232bfb253b8da3caa4;hpb=51ca12b552a9c17c4d4029b0340e193b273044a8;p=enjoyable.git diff --git a/TargetMouseMove.m b/TargetMouseMove.m index 86dd736..aa50306 100644 --- a/TargetMouseMove.m +++ b/TargetMouseMove.m @@ -27,37 +27,30 @@ return target; } --(void) trigger: (JoystickController *)jc { - return; -} - --(void) untrigger: (JoystickController *)jc { - return; -} - --(void) update: (JoystickController *)jc { +- (BOOL)update:(JoystickController *)jc { //printf("Dir %d inputValue %f\n", [self dir], [self inputValue]); - if (fabs([self inputValue]) < 0.01) - return; // dead zone + if (fabs(self.magnitude) < 0.01) + return NO; // dead zone NSRect screenRect = [[NSScreen mainScreen] frame]; NSInteger height = screenRect.size.height; // TODO - double speed = 4.0; + float speed = 4.0; if ([jc frontWindowOnly]) speed = 12.0; - double dx = 0.0, dy = 0.0; + float dx = 0.0, dy = 0.0; if ([self dir] == 0) - dx = [self inputValue] * speed; + dx = self.magnitude * speed; else - dy = [self inputValue] * speed; - NSPoint *mouseLoc = &jc->mouseLoc; - mouseLoc->x += dx; - mouseLoc->y -= dy; + dy = self.magnitude * speed; + NSPoint mouseLoc = jc.mouseLoc; + mouseLoc.x += dx; + mouseLoc.y -= dy; + jc.mouseLoc = mouseLoc; CGEventRef move = CGEventCreateMouseEvent(NULL, kCGEventMouseMoved, - CGPointMake(mouseLoc->x, height - mouseLoc->y), + CGPointMake(mouseLoc.x, height - mouseLoc.y), 0); CGEventSetType(move, kCGEventMouseMoved); CGEventSetIntegerValueField(move, kCGMouseEventDeltaX, dx); @@ -73,6 +66,7 @@ } CFRelease(move); + return dx || dy; } @end