public void SetAllAreas(object obj)
        {
            var patternCombItem = new CommUI.Pattern_Comb_Item
            {
                Bg_Brush_Solid = { Color = (Color)obj },
                Sel_Item       = { Style = null }
            };

            patternCombItem.Sel_Item.Background          = patternCombItem.Bg_Brush_Solid;
            patternCombItem.Sel_Item.Content             = string.Empty;
            patternCombItem.But_Args                     = CommUI.Get_Color_Sceenes_class_From_Brush(patternCombItem.Bg_Brush_Solid);
            patternCombItem.But_Args[0].Scenes_type      = 0;
            patternCombItem.But_Args[1].Scenes_type      = 0;
            patternCombItem.But_Args[0].TransitionsTeime = 10;
            patternCombItem.But_Args[1].TransitionsTeime = 10;
            patternCombItem.Bri   = 9;
            patternCombItem.Speed = 2;
            patternCombItem.Type  = 0;

            var allAreaInfo = _allAreaInfo.Select(areaInfo => new CommUI.Area_class(patternCombItem, areaInfo.Area_index, null)).ToList();

            var allExtAreaInfo = _allExtAreaInfo.Select(areaInfo => new CommUI.Area_class(patternCombItem, areaInfo.Area_index, null)
            {
                Ext_Area_id = areaInfo.Ext_Area_id
            }).ToList();

            allAreaInfo.AddRange(allExtAreaInfo);
            _ledFun.Set_Adv_mode(allAreaInfo, true);
        }
        private void CreateAreaCommands()
        {
            if (_commands.Count <= 0)
            {
                return;
            }

            FastRingAreaInfoCommands.Clear();
            NormalRingAreaInfoCommands.Clear();
            SlowRingAreaInfoCommands.Clear();

            foreach (var command in _commands)
            {
                if (command.AreaId == -1)
                {
                    SetAllAreas(command.NewColor);
                    continue;
                }

                var patternCombItem = new CommUI.Pattern_Comb_Item
                {
                    Bg_Brush_Solid = { Color = command.NewColor },
                    Sel_Item       = { Style = null }
                };

                patternCombItem.Sel_Item.Background = patternCombItem.Bg_Brush_Solid;
                patternCombItem.Sel_Item.Content    = string.Empty;
                patternCombItem.But_Args            = CommUI.Get_Color_Sceenes_class_From_Brush(patternCombItem.Bg_Brush_Solid);

                patternCombItem.Bri   = command.Bright;
                patternCombItem.Speed = command.Speed;

                patternCombItem.Type = command.NewMode;
                var area = new CommUI.Area_class(patternCombItem, command.AreaId, null);

                foreach (var extAreaInfo in _allExtAreaInfo.Where(extAreaInfo => extAreaInfo.Area_index == area.Area_index))
                {
                    area.Ext_Area_id = extAreaInfo.Ext_Area_id;
                }

                if (area.Ext_Area_id == LedLib2.ExtLedDev.None)
                {
                    FastRingAreaInfoCommands.Add(area);
                }
                else if (area.Ext_Area_id == LedLib2.ExtLedDev.Kingston_RAM)
                {
                    NormalRingAreaInfoCommands.Add(area);
                }
                else
                {
                    SlowRingAreaInfoCommands.Add(area);
                }
            }
        }
        public static void Creative_Profile(string proXmlFilePath, int areaCount, Color defaultColor, string profileName = "")
        {
            var lang        = new Lang();
            var areaClasses = new List <CommUI.Area_class>();

            for (var i = 0; i < areaCount; i++)
            {
                if (areaCount != 8 && areaCount != 9)
                {
                    var patternCombItem = new CommUI.Pattern_Comb_Item
                    {
                        Type           = 0,
                        Bg_Brush_Solid = { Color = defaultColor },
                        Sel_Item       = { Style = null }
                    };
                    patternCombItem.Sel_Item.Background = patternCombItem.Bg_Brush_Solid;
                    patternCombItem.Sel_Item.Content    = lang.Get_Lang_Resource("Still");
                    patternCombItem.But_Args            = CommUI.Get_Color_Sceenes_class_From_Brush(patternCombItem.Bg_Brush_Solid);
                    areaClasses.Add(new CommUI.Area_class(patternCombItem, i, null));
                }
                else if (i == 7 || i == 8)
                {
                    var mPatternInfo = new CommUI.Pattern_Comb_Item
                    {
                        Type           = 0,
                        Bg_Brush_Solid = { Color = defaultColor },
                        Sel_Item       = { Style = null }
                    };
                    mPatternInfo.Sel_Item.Background = mPatternInfo.Bg_Brush_Solid;
                    mPatternInfo.Sel_Item.Content    = lang.Get_Lang_Resource("Still");
                    mPatternInfo.But_Args            = CommUI.Get_Color_Sceenes_class_From_Brush(mPatternInfo.Bg_Brush_Solid);
                    areaClasses.Add(new CommUI.Area_class(mPatternInfo, i, null));
                }
                else
                {
                    var bgBrushSolid = new CommUI.Pattern_Comb_Item
                    {
                        Type           = 0,
                        Bg_Brush_Solid = { Color = defaultColor },
                        Sel_Item       = { Style = null }
                    };
                    bgBrushSolid.Sel_Item.Background = bgBrushSolid.Bg_Brush_Solid;
                    bgBrushSolid.Sel_Item.Content    = lang.Get_Lang_Resource("Still");
                    bgBrushSolid.But_Args            = CommUI.Get_Color_Sceenes_class_From_Brush(bgBrushSolid.Bg_Brush_Solid);
                    areaClasses.Add(new CommUI.Area_class(bgBrushSolid, i, null));
                }
            }
            CommUI.Export_to_xml(areaClasses, proXmlFilePath, profileName);
        }
        private void FillAllAreaInfo()
        {
            _allAreaInfo.Clear();
            foreach (CommUI.Area_class area in GetAllAreaInfo())
            {
                var patternCombItem = new CommUI.Pattern_Comb_Item
                {
                    Bg_Brush_Solid = { Color = area.Pattern_info.Bg_Brush_Solid.Color },
                    Sel_Item       = { Style = null }
                };

                patternCombItem.Sel_Item.Background = patternCombItem.Bg_Brush_Solid;
                patternCombItem.Sel_Item.Content    = string.Empty;
                patternCombItem.But_Args            = CommUI.Get_Color_Sceenes_class_From_Brush(patternCombItem.Bg_Brush_Solid);
                patternCombItem.Bri   = area.Pattern_info.Bri;
                patternCombItem.Speed = area.Pattern_info.Speed;
                patternCombItem.Type  = area.Pattern_info.Type;
                CommUI.Area_class newArea = new CommUI.Area_class(patternCombItem, area.Area_index, null);
                _allAreaInfo.Add(area.Area_index, newArea);
            }

            var y = GetAllExtAreaInfo();

            foreach (CommUI.Area_class extArea in GetAllExtAreaInfo())
            {
                var patternCombItem = new CommUI.Pattern_Comb_Item
                {
                    Bg_Brush_Solid = { Color = extArea.Pattern_info.Bg_Brush_Solid.Color },
                    Sel_Item       = { Style = null }
                };

                patternCombItem.Sel_Item.Background = patternCombItem.Bg_Brush_Solid;
                patternCombItem.Sel_Item.Content    = string.Empty;
                patternCombItem.But_Args            = CommUI.Get_Color_Sceenes_class_From_Brush(patternCombItem.Bg_Brush_Solid);
                patternCombItem.Bri   = extArea.Pattern_info.Bri;
                patternCombItem.Speed = extArea.Pattern_info.Speed;
                patternCombItem.Type  = extArea.Pattern_info.Type;
                CommUI.Area_class newExtArea = new CommUI.Area_class(patternCombItem, extArea.Area_index, null);
                newExtArea.Ext_Area_id = extArea.Ext_Area_id;
                _allAreaInfo.Add(newExtArea.Area_index, newExtArea);
            }
        }
        public static void Creative_Profile_Ext(string proXmlFilePath, List <Comm_LED_Fun.Ext_Led_class> extAreaInfo, Color defaultColor, string profileName = "")
        {
            var areaClasses = new List <CommUI.Area_class>();

            foreach (var areaInfo in extAreaInfo)
            {
                var patternCombItem = new CommUI.Pattern_Comb_Item
                {
                    Type           = 0,
                    Bg_Brush_Solid = { Color = defaultColor },
                    Sel_Item       = { Style = null }
                };
                patternCombItem.Sel_Item.Background = patternCombItem.Bg_Brush_Solid;
                patternCombItem.Sel_Item.Content    = string.Empty;
                patternCombItem.But_Args            = CommUI.Get_Color_Sceenes_class_From_Brush(patternCombItem.Bg_Brush_Solid);
                var areaClass = new CommUI.Area_class(patternCombItem, areaInfo.DivsNum, null)
                {
                    Ext_Area_id = areaInfo.extLDev
                };
                areaClasses.Add(areaClass);
            }
            CommUI.Export_to_xml(areaClasses, proXmlFilePath, profileName);
        }
Beispiel #6
0
        public void SetAreas()
        {
            while (_newChangeThread.IsAlive)
            {
                _commandEvent.WaitOne();
                _commandEvent.Reset();

                var areaInfo = new List <CommUI.Area_class>();

                foreach (var command in _commands)
                {
                    if (command.AreaId == -1)
                    {
                        SetAllAreas(command.NewColor);
                        continue;
                    }

                    var patternCombItem = new CommUI.Pattern_Comb_Item
                    {
                        Bg_Brush_Solid = { Color = command.NewColor },
                        Sel_Item       = { Style = null }
                    };
                    patternCombItem.Sel_Item.Background = patternCombItem.Bg_Brush_Solid;
                    patternCombItem.Sel_Item.Content    = string.Empty;
                    patternCombItem.But_Args            = CommUI.Get_Color_Sceenes_class_From_Brush(patternCombItem.Bg_Brush_Solid);

                    patternCombItem.Bri   = command.Bright;
                    patternCombItem.Speed = command.Speed;

                    patternCombItem.Type = command.NewMode;
                    var area = new CommUI.Area_class(patternCombItem, command.AreaId, null);

                    foreach (var extAreaInfo in _allExtAreaInfo.Where(extAreaInfo => extAreaInfo.Area_index == area.Area_index))
                    {
                        area.Ext_Area_id = extAreaInfo.Ext_Area_id;
                    }

                    areaInfo.Add(area);
                }

                if (_commands.Count > 0)
                {
                    //_ledFun.Set_Sync(false);
                    _ledFun.Set_Adv_mode(areaInfo, true);
                    //Not required anymore

                    /*
                     * var requireNonDirectModeAreaInfo = areaInfo.FindAll(i => i.Pattern_info.Type > 0);
                     * if (requireNonDirectModeAreaInfo.Count > 0)
                     * {
                     *
                     *  _ledFun.Set_Adv_mode(requireNonDirectModeAreaInfo);
                     *  do
                     *  {
                     *      Thread.Sleep( 10);
                     *  }
                     *  while (!_areaChangeApplySuccess);
                     * }
                     */
                }
            }
        }