using System; namespace ytLive.Models; public class ZoomState { public bool IsActive { get; set; } public double X { get; set; } public double Y { get; set; } public double Width { get; set; } public double Height { get; set; } /// Master-space top-left of the FIXED capture window (the box/2 region /// centred on the click). The box can be dragged anywhere; this never changes — /// the box always shows this same region magnified 2x (creator ruling 2026-10-08). public double CaptureX { get; set; } public double CaptureY { get; set; } public bool IsMoving { get; set; } public double GrabOffsetX { get; set; } public double GrabOffsetY { get; set; } public double Left => X; public double Top => Y; public double Right => X + Width; public double Bottom => Y + Height; }