/// <summary>
 /// Sets the current value for the given camera property.
 /// </summary>
 /// <param name="type">The camera property type.</param>
 /// <param name="value">The value to set.</param>
 /// <returns>True, if no errors. Otherwise false.</returns>
 public static bool SetCameraPropertyValue(VarjoCameraPropertyType type, VarjoCameraPropertyValue value)
 {
     if (!IsMRReady())
     {
         return(false);
     }
     varjo_MRSetCameraPropertyValue(GetVarjoSession(), type, ref value);
     return(CheckError());
 }
        /// <summary>
        /// Retrieves the current value for the given camera property.
        /// </summary>
        /// <param name="type">The camera property type.</param>
        /// <param name="value">The current value of the camera property.</param>
        /// <returns>True, if no errors. Otherwise false.</returns>
        public static bool GetCameraPropertyValue(VarjoCameraPropertyType type, out VarjoCameraPropertyValue value)
        {
            if (!IsMRReady())
            {
                value = new VarjoCameraPropertyValue();
                return(false);
            }

            value = varjo_MRGetCameraPropertyValue(GetVarjoSession(), type);
            return(CheckError());
        }
        /// <summary>
        /// Retrieves all possible values for the given camera property.
        /// </summary>
        /// <param name="type">The camera property type.</param>
        /// <param name="values">The list of possible values for the camera property.</param>
        /// <returns>True, if no errors. Otherwise false.</returns>
        public static bool GetCameraPropertyValues(VarjoCameraPropertyType type, out List <VarjoCameraPropertyValue> values)
        {
            if (!IsMRReady())
            {
                values = new List <VarjoCameraPropertyValue>();
                return(false);
            }

            int count = GetCameraPropertyValueCount(type);

            VarjoCameraPropertyValue[] valueArray = new VarjoCameraPropertyValue[count];
            varjo_MRGetCameraPropertyValues(GetVarjoSession(), type, valueArray, count);
            values = valueArray.ToList();
            return(CheckError());
        }
 private static extern void varjo_MRSetCameraPropertyValue(IntPtr session, VarjoCameraPropertyType type, ref VarjoCameraPropertyValue value);