/* * Copyright (c) 2025 LG Electronics Inc. * SPDX-License-Identifier: LicenseRef-LGE-Proprietary */ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using VisionCommon; namespace VisionUI.Camera { /// /// 메인 카메라 뷰 매니저 /// public class MainCameraViewManager { private static Dictionary _MainCameraViews = new Dictionary(); private static object LockObj = new object(); private static MainCameraViewManager _instance = null; /// /// 싱글톤 패턴 객체 /// public static MainCameraViewManager Instance { get { lock (LockObj) { if (_instance == null) { _instance = new MainCameraViewManager(); } return _instance; } } } /// /// 메인 카메라 뷰 가져오기 /// /// 디스플레이 타입 /// public MainCameraView GetMainCameraView(eDisplayType displayType) { foreach (var itemPairs in _MainCameraViews) { if (itemPairs.Key == displayType) { return itemPairs.Value; } } _MainCameraViews[displayType] = new MainCameraView(displayType); return _MainCameraViews[displayType]; } /// /// 생성자 /// public MainCameraViewManager() { _instance = this; } /// /// 메인 카메라 뷰 해제/제거 /// /// 디스플레이 타입 public void DisposeMainCameraView(eDisplayType displayType) { if (_MainCameraViews.ContainsKey(displayType)) { _MainCameraViews.Remove(displayType); } } } }