1{ Parsed from SceneKit.framework SCNAction.h } 2 3 4{$ifdef TYPES} 5type 6 SCNActionPtr = ^SCNAction; 7 SCNActionableProtocolPtr = ^SCNActionableProtocol; 8{$endif} 9 10{$ifdef TYPES} 11type 12 SCNActionTimingMode = NSInteger; 13 SCNActionTimingModePtr = ^SCNActionTimingMode; 14 15const 16 SCNActionTimingModeLinear = 0; 17 SCNActionTimingModeEaseIn = 1; 18 SCNActionTimingModeEaseOut = 2; 19 SCNActionTimingModeEaseInEaseOut = 3; 20 21type 22 SCNActionTimingFunction = OpaqueCBlock; 23{$endif} 24 25{$ifdef PROTOCOLS} 26 27type 28 SCNActionableProtocol = objcprotocol external name 'SCNActionable' (NSObjectProtocol) 29 procedure runAction (action: SCNAction); message 'runAction:'; { available in 10_10, 8_0 } 30 procedure runAction_completionHandler (action: SCNAction; block: OpaqueCBlock); message 'runAction:completionHandler:'; { available in 10_10, 8_0 } 31 procedure runAction_forKey (action: SCNAction; key: NSString); message 'runAction:forKey:'; { available in 10_10, 8_0 } 32 procedure runAction_forKey_completionHandler (action: SCNAction; key: NSString; block: OpaqueCBlock); message 'runAction:forKey:completionHandler:'; { available in 10_10, 8_0 } 33 function hasActions: ObjCBOOL; message 'hasActions'; { available in 10_10, 8_0 } 34 function actionForKey (key: NSString): SCNAction; message 'actionForKey:'; { available in 10_10, 8_0 } 35 procedure removeActionForKey (key: NSString); message 'removeActionForKey:'; { available in 10_10, 8_0 } 36 procedure removeAllActions; message 'removeAllActions'; { available in 10_10, 8_0 } 37 end; 38{$endif} 39 40{$ifdef CLASSES} 41 42type 43 SCNAction = objcclass external (NSObject, NSCopyingProtocol, NSSecureCodingProtocol) 44 private 45 _reserved: id; 46 public 47 procedure setDuration(newValue: NSTimeInterval); message 'setDuration:'; 48 function duration: NSTimeInterval; message 'duration'; 49 procedure setTimingMode(newValue: SCNActionTimingMode); message 'setTimingMode:'; 50 function timingMode: SCNActionTimingMode; message 'timingMode'; 51 procedure setTimingFunction(newValue: SCNActionTimingFunction); message 'setTimingFunction:'; 52 function timingFunction: SCNActionTimingFunction; message 'timingFunction'; 53 procedure setSpeed(newValue: CGFloat); message 'setSpeed:'; 54 function speed: CGFloat; message 'speed'; 55 function reversedAction: SCNAction; message 'reversedAction'; 56 57 { Adopted protocols } 58 function copyWithZone (zone: NSZonePtr): id; message 'copyWithZone:'; 59 procedure encodeWithCoder (aCoder: NSCoder); message 'encodeWithCoder:'; 60 function initWithCoder (aDecoder: NSCoder): id; message 'initWithCoder:'; 61 class function supportsSecureCoding: ObjCBOOL; message 'supportsSecureCoding'; 62 end; 63 64 65type 66 SCNActions = objccategory external (SCNAction) 67 class function moveByX_y_z_duration (deltaX: CGFloat; deltaY: CGFloat; deltaZ: CGFloat; duration_: NSTimeInterval): SCNAction; message 'moveByX:y:z:duration:'; 68 class function moveBy_duration (delta: SCNVector3; duration_: NSTimeInterval): SCNAction; message 'moveBy:duration:'; 69 class function moveTo_duration (location: SCNVector3; duration_: NSTimeInterval): SCNAction; message 'moveTo:duration:'; 70 class function rotateByX_y_z_duration (xAngle: CGFloat; yAngle: CGFloat; zAngle: CGFloat; duration_: NSTimeInterval): SCNAction; message 'rotateByX:y:z:duration:'; 71 class function rotateToX_y_z_duration (xAngle: CGFloat; yAngle: CGFloat; zAngle: CGFloat; duration_: NSTimeInterval): SCNAction; message 'rotateToX:y:z:duration:'; 72 class function rotateToX_y_z_duration_shortestUnitArc (xAngle: CGFloat; yAngle: CGFloat; zAngle: CGFloat; duration_: NSTimeInterval; shortestUnitArc: ObjCBOOL): SCNAction; message 'rotateToX:y:z:duration:shortestUnitArc:'; 73 class function rotateByAngle_aroundAxis_duration (angle: CGFloat; axis: SCNVector3; duration_: NSTimeInterval): SCNAction; message 'rotateByAngle:aroundAxis:duration:'; 74 class function rotateToAxisAngle_duration (axisAngle: SCNVector4; duration_: NSTimeInterval): SCNAction; message 'rotateToAxisAngle:duration:'; 75 class function scaleBy_duration (scale: CGFloat; sec: NSTimeInterval): SCNAction; message 'scaleBy:duration:'; 76 class function scaleTo_duration (scale: CGFloat; sec: NSTimeInterval): SCNAction; message 'scaleTo:duration:'; 77 class function sequence (actions: NSArray): SCNAction; message 'sequence:'; 78 class function group (actions: NSArray): SCNAction; message 'group:'; 79 class function repeatAction_count (action: SCNAction; count: NSUInteger): SCNAction; message 'repeatAction:count:'; 80 class function repeatActionForever (action: SCNAction): SCNAction; message 'repeatActionForever:'; 81 class function fadeInWithDuration (sec: NSTimeInterval): SCNAction; message 'fadeInWithDuration:'; 82 class function fadeOutWithDuration (sec: NSTimeInterval): SCNAction; message 'fadeOutWithDuration:'; 83 class function fadeOpacityBy_duration (factor: CGFloat; sec: NSTimeInterval): SCNAction; message 'fadeOpacityBy:duration:'; 84 class function fadeOpacityTo_duration (opacity: CGFloat; sec: NSTimeInterval): SCNAction; message 'fadeOpacityTo:duration:'; 85 class function waitForDuration (sec: NSTimeInterval): SCNAction; message 'waitForDuration:'; 86 class function waitForDuration_withRange (sec: NSTimeInterval; durationRange: NSTimeInterval): SCNAction; message 'waitForDuration:withRange:'; 87 class function removeFromParentNode: SCNAction; message 'removeFromParentNode'; 88 class function runBlock (block: OpaqueCBlock): SCNAction; message 'runBlock:'; 89 class function runBlock_queue (block: OpaqueCBlock; queue: dispatch_queue_t): SCNAction; message 'runBlock:queue:'; 90 class function javaScriptActionWithScript_duration (script: NSString; seconds: NSTimeInterval): SCNAction; message 'javaScriptActionWithScript:duration:'; 91 class function customActionWithDuration_actionBlock (seconds: NSTimeInterval; block: OpaqueCBlock): SCNAction; message 'customActionWithDuration:actionBlock:'; 92 end; 93{$endif} 94 95