public LineHistogramDialog(ViewerForm form, ImageViewer viewer, bool isGray) { InitializeComponent(); _image = viewer.Image; _isGrayScale = isGray; _form = form; _viewer = viewer; _button = downButtonPosition.NONE; _viewer.PostRender += new EventHandler <ImageViewerRenderEventArgs>(_viewer_PostRender); }
void _viewer_MouseDown(object sender, MouseEventArgs e) { Point point = _viewer.PointToScreen(new Point(0, 0)); Cursor.Clip = new Rectangle(point.X + Math.Max(0, _viewer.ViewBounds.Left), point.Y + Math.Max(0, _viewer.ViewBounds.Top), _viewer.ViewBounds.Width, _viewer.ViewBounds.Height); if (e.Button == MouseButtons.Left) { LeadPoint tmpPnt = _viewer.ConvertPoint(null, ImageViewerCoordinateType.Control, ImageViewerCoordinateType.Image, LeadPoint.Create(e.X, e.Y)); _pressed = true; if (_cbMovable.Checked) { if (_startRect.Contains(tmpPnt.X, tmpPnt.Y)) { _button = downButtonPosition.START_RECT; } else if (_endRect.Contains(tmpPnt.X, tmpPnt.Y)) { _button = downButtonPosition.END_RECT; } else { _button = downButtonPosition.NONE; _xEnd = _xStart = tmpPnt.X; _yEnd = _yStart = tmpPnt.Y; _numXStart.Text = _xStart.ToString(); _numYStart.Text = _yStart.ToString(); _startRect = new Rectangle(_ptStart.X - 10, _ptStart.Y - 10, 20, 20); _endRect = new Rectangle(_ptEnd.X - 10, _ptEnd.Y - 10, 20, 20); } } else { _xEnd = _xStart = tmpPnt.X; _yEnd = _yStart = tmpPnt.Y; _numXStart.Text = _xStart.ToString(); _numYStart.Text = _yStart.ToString(); } } }