diff --git a/RGB.NET.Core/Devices/AbstractRGBDevice.cs b/RGB.NET.Core/Devices/AbstractRGBDevice.cs index ba6b84d..abed2da 100644 --- a/RGB.NET.Core/Devices/AbstractRGBDevice.cs +++ b/RGB.NET.Core/Devices/AbstractRGBDevice.cs @@ -1,5 +1,6 @@ // ReSharper disable MemberCanBePrivate.Global // ReSharper disable UnusedMember.Global +// ReSharper disable AutoPropertyCanBeMadeGetOnly.Global using System; using System.Collections; @@ -42,6 +43,11 @@ namespace RGB.NET.Core set => SetProperty(ref _location, value); } + /// + /// Gets or sets if the device needs to be flushed on every update. + /// + protected bool RequiresFlush { get; set; } = false; + /// public DeviceUpdateMode UpdateMode { get; set; } = DeviceUpdateMode.Sync; @@ -74,13 +80,13 @@ namespace RGB.NET.Core #region Methods /// - public virtual void Update(bool render = true, bool flushLeds = false) + public virtual void Update(bool flushLeds = false) { // Device-specific updates DeviceUpdate(); // Send LEDs to SDK - IEnumerable ledsToUpdate = (flushLeds ? LedMapping.Values : LedMapping.Values.Where(x => x.IsDirty)).ToList(); + IEnumerable ledsToUpdate = ((RequiresFlush || flushLeds) ? LedMapping.Values : LedMapping.Values.Where(x => x.IsDirty)).ToList(); foreach (Led ledToUpdate in ledsToUpdate) ledToUpdate.Update(); diff --git a/RGB.NET.Core/Devices/IRGBDevice.cs b/RGB.NET.Core/Devices/IRGBDevice.cs index 1576cc6..9ba17c4 100644 --- a/RGB.NET.Core/Devices/IRGBDevice.cs +++ b/RGB.NET.Core/Devices/IRGBDevice.cs @@ -65,11 +65,9 @@ namespace RGB.NET.Core /// /// Perform an update for all dirty , or all if flushLeds is set to true. - /// Only physically syncs the colors to the device if is set to true. /// - /// Specifies whether the colors should be synced to the device or not. /// Specifies whether all (including clean ones) should be updated. - void Update(bool sync = true, bool flushLeds = false); + void Update(bool flushLeds = false); /// /// Synchronizes the internal state of the device to the real (physical) state.