Example #1
0
        private void LoadAcceleration(Json.AccelerationItem accelerationItem)
        {
            if (accelerationItem == null)
            {
                return;
            }

            switch (accelerationItem.Type)
            {
            case Json.LytroRefocusStack.Key:
                _refocusStack = accelerationItem.VendorContent as Json.LytroRefocusStack;
                break;

            case Json.LytroEdofParallax.Key:
                _parallaxStack = accelerationItem.VendorContent as Json.LytroEdofParallax;
                break;
            }
        }
        private void EnsureAcceleration(string key, object accelerationValue, string generator)
        {
            if (JsonPicture.AccelerationArray == null || JsonPicture.AccelerationArray.Length < 1)
            {
                JsonPicture.AccelerationArray = new Json.AccelerationItem[1];
            }

            int emptyIndex = -1;

            for (int i = 0; i < JsonPicture.AccelerationArray.Length; i++)
            {
                if (JsonPicture.AccelerationArray[i] == null)
                {
                    emptyIndex = i;
                }
                else if (JsonPicture.AccelerationArray[i].Type == key)
                {
                    JsonPicture.AccelerationArray[i].Generator     = generator;
                    JsonPicture.AccelerationArray[i].VendorContent = accelerationValue;
                    return;
                }
            }

            Json.AccelerationItem newItem = new Json.AccelerationItem
            {
                Type          = Json.LytroRefocusStack.Key,
                Generator     = generator,
                VendorContent = accelerationValue
            };

            if (emptyIndex >= 0)
            {
                JsonPicture.AccelerationArray[emptyIndex] = newItem;
            }
            else
            {
                JsonPicture.AccelerationArray = JsonPicture.AccelerationArray.Append(newItem);
            }
        }