public void SelectOverlay(IOverlayArtwork oa, bool select = true) { if (select) { m_selectedOverlays.Add(oa); } else { m_selectedOverlays.Remove(oa); } Invalidate(); }
private bool findHandle(PointF location, out IOverlayArtwork oa, out int index, out PointF clickOffset) { foreach (IOverlayArtwork ioa in m_overlayList) { if (ioa.findHandle(location, abs2scr, out index, out clickOffset)) { oa = ioa; return(true); } } index = -1; oa = null; clickOffset = new PointF(); return(false); }
protected override void OnMouseDown(MouseEventArgs e) { PointF loc = new PointF(absx(e.Location.X), absy(e.Location.Y)); if (m_image == null || loc.X < 0 || loc.Y < 0 || loc.X >= m_image.Width || loc.Y >= m_image.Height) { base.OnMouseMove(e); return; } if (e.Button == MouseButtons.Left) { if (ZoomWindowEnabled) { m_dragActive = DragMode.dmWindowZoom; m_dragStartPoint = e.Location; } else { IOverlayArtwork oa; int index; if (findHandle(loc, out oa, out index, out m_dragHandleMouseOffset)) { m_dragActive = DragMode.dmDragHandle; m_dragOa = oa; m_dragIndex = index; e_OverArtworkSelectedEventHandler?.Invoke(oa); m_selectedOverlays.Clear(); m_selectedOverlays.Add(oa); Invalidate(); } } } else if (e.Button == MouseButtons.Middle) { m_dragActive = DragMode.dmPan; m_dragStartPoint = e.Location; m_dragStartScrollPosition = this.AutoScrollPosition; } base.OnMouseDown(e); Focus(); }
public void RemoveOverlay(IOverlayArtwork removeOverlay) { m_selectedOverlays.Remove(removeOverlay); m_overlayList.Remove(removeOverlay); Invalidate(); }
public void AddOverlay(IOverlayArtwork newOverlay) { m_overlayList.Add(newOverlay); Invalidate(); }
private void zoomableImageViewer1_e_ArtworkChanged(IOverlayArtwork sender) { propertyGrid1.Refresh(); }
private void zoomableImageViewer1_e_OverArtworkSelectedEventHandler(IOverlayArtwork sender) { Console.WriteLine("OA selected"); propertyGrid1.SelectedObject = sender; }