Vuo  2.0.0
VuoCurveEasing.c
Go to the documentation of this file.
1 
10 #include <stdio.h>
11 #include <stdlib.h>
12 #include <string.h>
13 #include "type.h"
14 
16 #ifdef VUO_COMPILER
18  "title" : "Curve Easing",
19  "description" : "Specifies which part of a curve is eased.",
20  "keywords" : [ ],
21  "version" : "1.0.0",
22  "dependencies" : [
23  "VuoList_VuoCurveEasing"
24  ]
25  });
26 #endif
27 
34 {
35  const char *valueAsString = "";
36  if (json_object_get_type(js) == json_type_string)
37  valueAsString = json_object_get_string(js);
38 
39  if (strcmp(valueAsString, "out") == 0)
40  return VuoCurveEasing_Out;
41  else if (strcmp(valueAsString, "in+out") == 0)
42  return VuoCurveEasing_InOut;
43  else if (strcmp(valueAsString, "middle") == 0)
44  return VuoCurveEasing_Middle;
45 
46  return VuoCurveEasing_In;
47 }
48 
54 {
55  char *valueAsString = "in";
56 
57  if (value == VuoCurveEasing_Out)
58  valueAsString = "out";
59  else if (value == VuoCurveEasing_InOut)
60  valueAsString = "in+out";
61  else if (value == VuoCurveEasing_Middle)
62  valueAsString = "middle";
63 
64  return json_object_new_string(valueAsString);
65 }
66 
71 {
73  VuoListAppendValue_VuoCurveEasing(l, VuoCurveEasing_In);
74  VuoListAppendValue_VuoCurveEasing(l, VuoCurveEasing_Out);
75  VuoListAppendValue_VuoCurveEasing(l, VuoCurveEasing_InOut);
76  VuoListAppendValue_VuoCurveEasing(l, VuoCurveEasing_Middle);
77  return l;
78 }
79 
85 {
86  char *valueAsString = "In";
87 
88  if (value == VuoCurveEasing_Out)
89  valueAsString = "Out";
90  else if (value == VuoCurveEasing_InOut)
91  valueAsString = "In + Out";
92  else if (value == VuoCurveEasing_Middle)
93  valueAsString = "Middle";
94 
95  return strdup(valueAsString);
96 }