/// <summary> /// Clones this instance. /// </summary> /// <returns> /// A new object that is a copy of this instance. /// </returns> public XlsxEffectsCollection Clone() { var cloned = new XlsxEffectsCollection() { Properties = Properties.Clone() }; foreach (XlsxBaseEffect sheet in this) { cloned.Add(sheet.Clone()); } return(cloned); }
/// <summary> /// Sets the element that owns this <see cref="XlsxBaseEffect"/>. /// </summary> /// <param name="reference">Reference to owner.</param> internal void SetOwner(XlsxEffectsCollection reference) { Owner = reference; }
/// <summary> /// Converter for <see cref="XlsxEffectsCollection"/> reference to <see cref="IEnumerable{EffectType}"/>. /// </summary> /// <param name="effects">Effects collections.</param> /// <returns> /// A <see cref="IEnumerable{EffectType}"/> containing a effects collection. /// </returns> /// <exception cref="ArgumentNullException"><paramref name="effects"/> is <b>null</b> (<b>Nothing</b> in Visual Basic).</exception> public static IEnumerable <EffectType> ToEffectTypeCollection(this XlsxEffectsCollection effects) { SentinelHelper.ArgumentNull(effects, nameof(effects)); Collection <EffectType> result = new Collection <EffectType>(); foreach (var effect in effects) { switch (effect) { case XlsxBrightnessEffect _: result.Add(EffectType.Brightness); break; case XlsxDarkEffect _: result.Add(EffectType.Dark); break; case XlsxDisabledEffect _: result.Add(EffectType.Disabled); break; case XlsxGrayScaleBlueEffect _: result.Add(EffectType.GrayScaleBlue); break; case XlsxGrayScaleEffect _: result.Add(EffectType.GrayScale); break; case XlsxGrayScaleGreenEffect _: result.Add(EffectType.GrayScaleGreen); break; case XlsxGrayScaleRedEffect _: result.Add(EffectType.GrayScaleRed); break; case XlsxMoreBrightnessEffect _: result.Add(EffectType.MoreBrightness); break; case XlsxMoreDarkEffect _: result.Add(EffectType.MoreDark); break; case XlsxOpacityEffect opacityEffect: if (opacityEffect.Value > 0 && opacityEffect.Value <= 5) { result.Add(EffectType.OpacityPercent05); } else if (opacityEffect.Value > 5 && opacityEffect.Value <= 10) { result.Add(EffectType.OpacityPercent10); } else if (opacityEffect.Value > 10 && opacityEffect.Value <= 20) { result.Add(EffectType.OpacityPercent20); } else if (opacityEffect.Value > 20 && opacityEffect.Value <= 30) { result.Add(EffectType.OpacityPercent30); } else if (opacityEffect.Value > 30 && opacityEffect.Value <= 40) { result.Add(EffectType.OpacityPercent40); } else if (opacityEffect.Value > 40 && opacityEffect.Value <= 50) { result.Add(EffectType.OpacityPercent50); } else if (opacityEffect.Value > 50 && opacityEffect.Value <= 60) { result.Add(EffectType.OpacityPercent60); } else if (opacityEffect.Value > 60 && opacityEffect.Value <= 70) { result.Add(EffectType.OpacityPercent70); } else if (opacityEffect.Value > 70 && opacityEffect.Value <= 80) { result.Add(EffectType.OpacityPercent80); } else if (opacityEffect.Value > 80 && opacityEffect.Value <= 90) { result.Add(EffectType.OpacityPercent90); } else { result.Add(EffectType.OpacityPercent90); } break; } } return(result); }