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