public static ToonzParam CreateToonzParam(otpParam param) { var info = default(otpParamInfo); otpGetParamInfo(param, ref info); ToonzParam ret = null; switch (info.type) { case otpParamType.Double: ret = new ToonzDoubleParam(param); break; case otpParamType.Range: ret = new ToonzRangeParam(param); break; case otpParamType.Color: ret = new ToonzColorParam(param); break; case otpParamType.Point: ret = new ToonzPointParam(param); break; case otpParamType.Enum: ret = new ToonzEnumParam(param); break; case otpParamType.Int: ret = new ToonzIntParam(param); break; case otpParamType.Bool: ret = new ToonzBoolParam(param); break; case otpParamType.String: ret = new ToonzStringParam(param); break; } return(ret); }
public static void SetParamValue(otpParam param, ToonzParam v) { var t = v.GetType(); if (t == typeof(ToonzDoubleParam)) { otpSetParamValue(param, ref ((ToonzDoubleParam)v).value); } else if (t == typeof(ToonzRangeParam)) { otpSetParamValue(param, ref ((ToonzRangeParam)v).value); } else if (t == typeof(ToonzColorParam)) { otpSetParamValue(param, ref ((ToonzColorParam)v).value); } else if (t == typeof(ToonzPointParam)) { otpSetParamValue(param, ref ((ToonzPointParam)v).value); } else if (t == typeof(ToonzEnumParam)) { otpSetParamValue(param, ref ((ToonzEnumParam)v).value); } else if (t == typeof(ToonzIntParam)) { otpSetParamValue(param, ref ((ToonzIntParam)v).value); } else if (t == typeof(ToonzBoolParam)) { otpSetParamValue(param, ref ((ToonzBoolParam)v).value); } else if (t == typeof(ToonzStringParam)) { otpSetParamValue(param, ((ToonzStringParam)v).value); } }
[DllImport("OpenToonzPlugin")] public static extern void otpSetParamValue(otpParam param, ref otpBoolParamValue v);
[DllImport("OpenToonzPlugin")] public static extern void otpSetParamValue(otpParam param, string v);
[DllImport("OpenToonzPlugin")] public static extern void otpGetParamValue(otpParam param, ref byte v);
[DllImport("OpenToonzPlugin")] public static extern void otpGetParamTraits(otpParam param, ref otpStringParamTraits v);
[DllImport("OpenToonzPlugin")] public static extern void otpSetParamValue(otpParam param, IntPtr src);
// return count of elements if param type is string or tonecurve. otherwise 1 [DllImport("OpenToonzPlugin")] public static extern int otpGetParamLength(otpParam param);
[DllImport("OpenToonzPlugin")] public static extern void otpGetParamInfo(otpParam param, ref otpParamInfo pinfo);