using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace butterflow_ui { /// A butterflow video subregion. Represents a snippet of a video on which butterflow will act. [Serializable] public class ButterflowSubregion : PropertyChangedAlerter { #region Members /// The start of the subregion. private TimeSpan start = TimeSpan.Zero; /// The end of the subregion. private TimeSpan end = TimeSpan.Zero; /// Type of opersion to perform on the subregion. private RegionType subregionType; /// The value targeted for the subregion. private decimal value; /// True if the subregion runs to the end, false if not. private bool toEnd; /// A unique identifier used to locate this subregion withing a subregion collection. private Guid identifier = new Guid(); #endregion #region Properties /// Gets or sets the start of the subregion. /// The start of the subregion. public TimeSpan Start { get { return this.start; } set { this.start = value; OnPropertyChanged(); } } /// Gets or sets the end of the subregion. /// The end of the subregion. public TimeSpan End { get { return this.end; } set { this.end = value; OnPropertyChanged(); } } /// Gets or sets the operation to be performed on the subregion. /// The operation to be performed on subregion. public RegionType SubregionType { get { return this.subregionType; } set { this.subregionType = value; OnPropertyChanged(); } } /// Gets or sets the targeted value of the subregion. /// The value targeted for the subregion. public decimal Value { get { return this.value; } set { this.value = value; OnPropertyChanged(); } } /// Gets or sets a value indicating whether the subregion runs to the end of the video. /// True if the subregion runs to the end, false if not. public bool ToEnd { get { return this.toEnd; } set { this.toEnd = value; OnPropertyChanged(); } } /// Gets a unique identifier used to locate this subregion withing a subregion collection. /// The unique identifier. public Guid Identifier { get { return this.identifier; } private set { this.identifier = value; OnPropertyChanged(); } } #endregion } }