2 using System.Collections.Generic;
5 using DirectOutput.General.Color;
6 using DirectOutput.Cab.Toys.Layer;
8 namespace DirectOutput.FX.MatrixFX
12 private const int RefreshIntervalMs = 30;
25 get {
return _ActiveColor; }
26 set { _ActiveColor = value; }
40 get {
return _InactiveColor; }
41 set { _InactiveColor = value; }
51 protected override RGBAColor GetEffectValue(
int TriggerValue)
55 int V = TriggerValue.Limit(0, 255);
56 D.
Red = InactiveColor.Red + (int)((
float)(ActiveColor.Red - InactiveColor.Red) * V / 255).Limit(0, 255);
57 D.
Green = InactiveColor.Green + (int)((
float)(ActiveColor.Green - InactiveColor.Green) * V / 255).Limit(0, 255);
58 D.
Blue = InactiveColor.Blue + (int)((
float)(ActiveColor.Blue - InactiveColor.Blue) * V / 255).Limit(0, 255);
59 D.
Alpha = InactiveColor.Alpha + (int)((
float)(ActiveColor.Alpha - InactiveColor.Alpha) * V / 255).Limit(0, 255);