/*
show-constants.m
Show the control point values for the CAMediaTimingFunction class constants
To compile:
clang -framework QuartzCore -framework Foundation show-constants.m -o show-constants
*/
#import <QuartzCore/QuartzCore.h>
int main(int argc, char *argv[]) {
@autoreleasepool {
NSArray* functions = @[
kCAMediaTimingFunctionLinear,
kCAMediaTimingFunctionEaseIn,
kCAMediaTimingFunctionEaseOut,
kCAMediaTimingFunctionEaseInEaseOut,
kCAMediaTimingFunctionDefault,
];
float coords[2];
for (id obj in functions) {
NSString* function_name = (NSString*) obj;
CAMediaTimingFunction* func = [CAMediaTimingFunction functionWithName:function_name];
printf("%-13s ", [function_name cStringUsingEncoding:NSUTF8StringEncoding]);
for (int i = 0; i <= 3; i++) {
[func getControlPointAtIndex:i values:coords];
printf("(%.2f, %.2f)%s", coords[0], coords[1], i < 3 ? ", " : "\n");
}
}
return 0;
}
}