| /* | |
| 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; | |
| } | |
| } |