/*
* Copyright (c) 2025 LG Electronics Inc.
* SPDX-License-Identifier: LicenseRef-LGE-Proprietary
*/
using Aurora.Api.DataType;
using System.Collections.Generic;
namespace VisionCommon {
public interface ICameraDisplay {
FovInfo GetDisplayFovInfo();
object GetImageObject();
int SetImage(object image);
void ClearImage();
int FitImage(ImageSize imageSize);
bool IsSetImage();
eDisplayType GetDisplayType();
void SetPatternInfo(PatternInfo patternInfo, eRoiIdx roiIdx = eRoiIdx.Roi0);
///
/// 레퍼런스 위치에 십자가 그리기
///
/// 십자가 길이
/// 십자가 색상
void DrawRefCross(int length = 10, eColor color = eColor.Yellow);
int AddCross(Cross cross, eColor color);
int AddLine(eColor color, ImagePoint p1, ImagePoint p2);
void AddRoi(ROI roi, eColor color, bool isRotatable = false);
int AddTrainRoi(ImagePoint imageCenter, bool isRotatable = false);
int AddTrainRoi(ROI trainRoi, bool isRotatable = false);
ROI GetTrainRoi();
int AddTrainOrigin(Cross imageCenter);
Cross GetTrainOrigin();
int AddDefaultFindRoi(ImageSize imageSize, bool isRotatable = false);
int AddFindRoi(ROI findRoi, bool isRotatable = false);
ROI GetFindRoi(eRoiIdx roiIdx = eRoiIdx.Roi0);
bool HasFindRoi(eRoiIdx roiIdx = eRoiIdx.Roi0);
void ClearFindRoi(eRoiIdx roiIdx = eRoiIdx.Roi0);
int AddTextList(eColor color, ImagePoint p, List msgs);
int AddTextList(object color, ImagePoint p, List msgs);
int AddTextList(object color, ImagePoint p, List msgs, int lineInterval);
int AddColorTextList(ImagePoint p, List colorTextList);
int AddColorTextList(ImagePoint p, List colorTextList, int lineInterval);
int SetPatternTracking(Cross cross);
int DrawPatternTrackings(List crosses);
int ClearAllGraphics();
int ClearMeasureGraphics(eGraphicToClear graphicToClear = eGraphicToClear.ALL);
int ClearTrainGraphics(eGraphicToClear graphicToClear = eGraphicToClear.ALL);
int ClearFindGraphics(eGraphicToClear graphicToClear = eGraphicToClear.ALL);
int ClearPatternTrackingGraphics(eGraphicToClear graphicToClear = eGraphicToClear.ALL);
void ClearFindLabelNumGraphicsAll();
void SetVisibility();
}
}