private void FloorPlanControlClick(object sender, MouseEventArgs e) { var local = new Point(e.X, e.Y); double xRat = Convert.ToDouble(Width) / ImageWidth; double yRat = Convert.ToDouble(Height) / ImageHeight; double hittargetw = 22 * xRat; double hittargeth = 22 * yRat; double wrat = Convert.ToDouble(ImageWidth) / 533d; double hrat = Convert.ToDouble(ImageHeight) / 400d; foreach (objectsFloorplanObjectsEntry fpoe in Fpobject.objects.@object) { if (((fpoe.x * wrat) - hittargetw) * xRat <= local.X && ((fpoe.x * wrat) + hittargetw) * xRat > local.X && ((fpoe.y * hrat) - hittargeth) * yRat <= local.Y && ((fpoe.y * hrat) + hittargeth) * yRat > local.Y) { switch (fpoe.type) { case "camera": CameraWindow cw = Owner.GetCameraWindow(fpoe.id); cw.Location = new Point(Location.X + e.X, Location.Y + e.Y); cw.BringToFront(); break; case "microphone": VolumeLevel vl = Owner.GetMicrophone(fpoe.id); vl.Location = new Point(Location.X + e.X, Location.Y + e.Y); vl.BringToFront(); break; } break; } } }
private void FloorPlanControlClick(object sender, MouseEventArgs e) { var local = new Point(e.X, e.Y); double xRat = Convert.ToDouble(Width) / ImageWidth; double yRat = Convert.ToDouble(Height) / ImageHeight; double hittargetw = 22 * xRat; double hittargeth = 22 * yRat; double wrat = Convert.ToDouble(ImageWidth) / 533d; double hrat = Convert.ToDouble(ImageHeight) / 400d; bool changeHighlight = true; if (Highlighted) { foreach (objectsFloorplanObjectsEntry fpoe in Fpobject.objects.@object) { if (((fpoe.x * wrat) - hittargetw) * xRat <= local.X && ((fpoe.x * wrat) + hittargetw) * xRat > local.X && ((fpoe.y * hrat) - hittargeth) * yRat <= local.Y && ((fpoe.y * hrat) + hittargeth) * yRat > local.Y) { switch (fpoe.type) { case "camera": CameraWindow cw = MainClass.GetCameraWindow(fpoe.id); if (cw != null) { //cw.Location = new Point(Location.X + e.X, Location.Y + e.Y); cw.BringToFront(); cw.Focus(); } changeHighlight = false; break; case "microphone": VolumeLevel vl = MainClass.GetVolumeLevel(fpoe.id); if (vl != null) { //vl.Location = new Point(Location.X + e.X, Location.Y + e.Y); vl.BringToFront(); vl.Focus(); } changeHighlight = false; break; } break; } } } if (changeHighlight) { bool hl = Highlighted; MainClass._pnlCameras.ClearHighlights(); Highlighted = !hl; } if (Highlighted) { foreach (objectsFloorplanObjectsEntry fpoe in Fpobject.objects.@object) { switch (fpoe.type) { case "camera": CameraWindow cw = MainClass.GetCameraWindow(fpoe.id); if (cw != null) { cw.Highlighted = true; } break; case "microphone": VolumeLevel vl = MainClass.GetVolumeLevel(fpoe.id); if (vl != null) { vl.Highlighted = true; } break; } } } MainClass.Invalidate(true); }