/* * Copyright (c) 2025 LG Electronics Inc. * SPDX-License-Identifier: LicenseRef-LGE-Proprietary */ using VisionCommon; using Matrox.MatroxImagingLibrary; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MilUI { public static class DiplayModeEvent { public const string On = "DiplayModeEvent_On"; public const string Off = "DiplayModeEvent_Off"; public const string SubMode = "DiplayModeEvent_SubMode"; public const string Action = "DiplayModeEvent_Action"; } public class DisplayModeParam { public eDisplayType DisplayType { get; set; } public DisplayMode DisplayMode { get; set; } public object Data { get; set; } public DisplayModeParam( eDisplayType displayType, DisplayMode displayMode, object data = null) { DisplayType = displayType; DisplayMode = displayMode; Data = data; } } public abstract class DisplayMode { public abstract void MouseLeftDown(MIL_ID EventID); public abstract void MouseRightDown(MIL_ID EventID); public abstract void MouseMove(MIL_ID EventID); public abstract void GraphicSelectionModified(MIL_ID EventID); public abstract void Clear(); protected ImagePoint GetMousePoint(MIL_ID EventID) { double x = 0; double y = 0; MIL.MdispGetHookInfo(EventID, MIL.M_MOUSE_POSITION_BUFFER_X, ref x); MIL.MdispGetHookInfo(EventID, MIL.M_MOUSE_POSITION_BUFFER_Y, ref y); return new ImagePoint(x, y); } } }