コード例 #1
0
ファイル: Group.cs プロジェクト: fegmm/LightControl
 public void ApplyPreset(IPresetAware from, IPresetAware to, double percentage)
 {
     if (from is Group groupFrom && to is Group groupTo && !Locked)
     {
         Percentage = (byte)(groupFrom.Percentage + (groupFrom.Percentage - groupFrom.Percentage) * percentage);
     }
 }
コード例 #2
0
ファイル: Lamp.cs プロジェクト: fegmm/LightControl
 public virtual void ApplyPreset(IPresetAware from, IPresetAware to, double percentage)
 {
     if (from is Lamp lampFrom && to is Lamp lampTarget && !Locked)
     {
         Strenght = (byte)(lampFrom.Strenght + (lampTarget.Strenght - lampFrom.Strenght) * percentage);
     }
 }
コード例 #3
0
        public override void ApplyPreset(IPresetAware from, IPresetAware to, double percentage)
        {
            if (from is EurolitePMB8 ledFrom && to is EurolitePMB8 ledTarget && !Locked)
            {
                Strenght    = (byte)(ledFrom.Strenght + (ledTarget.Strenght - ledFrom.Strenght) * percentage);
                Sensitivity = (byte)(ledFrom.Sensitivity + (ledTarget.Sensitivity - ledFrom.Sensitivity) * percentage);
                Speed       = (byte)(ledFrom.Speed + (ledTarget.Speed - ledFrom.Speed) * percentage);
                Flash       = (byte)(ledFrom.Flash + (ledTarget.Flash - ledFrom.Flash) * percentage);
                Mode        = ledTarget.Mode;

                int     numberOfColors = Colors.Length;
                Color[] tmpColors      = new Color[numberOfColors];
                for (int i = 0; i < numberOfColors; i++)
                {
                    tmpColors[i] = Color.Add(ledFrom.Colors[i], Color.Multiply(Color.Subtract(ledTarget.Colors[i], ledFrom.Colors[i]), (float)percentage));
                }
                Colors = tmpColors;
            }
コード例 #4
0
ファイル: GroupService.cs プロジェクト: fegmm/LightControl
 public void ApplyPreset(string name, IPresetAware oldValue, Group newValue, double percentage)
 {
     nameToGroup[name].ApplyPreset(oldValue, newValue, percentage);
 }