/* * Copyright (c) 2025 LG Electronics Inc. * SPDX-License-Identifier: LicenseRef-LGE-Proprietary */ using Aurora.Api; using VisionCommon; using System; using System.Windows; using System.Windows.Controls; using VisionLight; using Aurora.Api.Devices; namespace VisionCommonUI { public partial class CameraLightSettingViewEachCh : UserControl { private Logger _Logger = new Logger(typeof(CameraLightSettingViewEachCh).Name); private FovInfo _FovInfo; private LightConfigInfo _LightConfigInfo; private int _ChNum; private int _ChLevel; private eLightId _LightId; private Range _DimRange; public CameraLightSettingViewEachCh(FovInfo fovInfo, LightConfigInfo lightConfigInfo) { if (fovInfo == null) { _Logger.FuncE("fovInfo is null."); return; } _FovInfo = fovInfo; _LightConfigInfo = lightConfigInfo; InitializeComponent(); Init(_LightConfigInfo); } private void Init(LightConfigInfo lightConfigInfo) { _ChNum = lightConfigInfo.ChConfig.Ch; _ChLevel = lightConfigInfo.ChConfig.Level; _LightId = lightConfigInfo.LightId; _DimRange = (lightConfigInfo.DimRange.Min, lightConfigInfo.DimRange.Max); InitLedSliderRange(); InitLedSliderValue(); } private void InitLedSliderRange() { SliderLED.Minimum = _DimRange.Min; SliderLED.Maximum = _DimRange.Max; if (_DimRange.Max > 255) { repeatBtnPlus.Interval = 10; repeatBtnMinus.Interval = 10; } } private void InitLedSliderValue() { SliderLED.Value = _ChLevel; } public void Checked_LightOn(object sender, RoutedEventArgs e) { LightHub.Instance.SetOn(_LightId.ToString(), _ChNum); } public void Checked_LightOff(object sender, RoutedEventArgs e) { LightHub.Instance.SetOff(_LightId.ToString(), _ChNum); } public void SliderValueChanged(object sender, RoutedPropertyChangedEventArgs e) { var slider = sender as Slider; if (slider != null) { _ChLevel = Convert.ToInt16(slider.Value); } if ((bool)cbOnOff.IsChecked) { LightHub.Instance.SetLevel(_LightId.ToString(), _ChLevel, _ChNum); } else { _Logger.FuncW("The light is off."); } } private void OnLightPlusBtnClicked(object sender, RoutedEventArgs e) { SliderLED.Value += 1; } private void OnLightMinusBtnClicked(object sender, RoutedEventArgs e) { SliderLED.Value -= 1; } public VisionLight.LightDeviceType GetLightType() { return _LightConfigInfo.ChConfig.DeviceType; } } }