LGES-2170-ACW_CCW-Welder/AuroraVision/VisionCommonUI/Light/Camera/CameraLightSettingViewEachCh.xaml.cs
2026-01-26 18:56:53 +09:00

94 lines
2.9 KiB
C#

/*
* 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<int> _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<double> 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;
}
}
}