Beispiel #1
0
 public void SelectOverlay(IOverlayArtwork oa, bool select = true)
 {
     if (select)
     {
         m_selectedOverlays.Add(oa);
     }
     else
     {
         m_selectedOverlays.Remove(oa);
     }
     Invalidate();
 }
Beispiel #2
0
 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);
 }
Beispiel #3
0
        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();
        }
Beispiel #4
0
 public void RemoveOverlay(IOverlayArtwork removeOverlay)
 {
     m_selectedOverlays.Remove(removeOverlay);
     m_overlayList.Remove(removeOverlay);
     Invalidate();
 }
Beispiel #5
0
 public void AddOverlay(IOverlayArtwork newOverlay)
 {
     m_overlayList.Add(newOverlay);
     Invalidate();
 }
Beispiel #6
0
 private void zoomableImageViewer1_e_ArtworkChanged(IOverlayArtwork sender)
 {
     propertyGrid1.Refresh();
 }
Beispiel #7
0
 private void zoomableImageViewer1_e_OverArtworkSelectedEventHandler(IOverlayArtwork sender)
 {
     Console.WriteLine("OA selected");
     propertyGrid1.SelectedObject = sender;
 }