Esempio n. 1
0
        private void ContourPresenter_MouseDown(object sender, MouseButtonEventArgs e)
        {
            var presenter = (ContourPresenterControl)sender;
            var size      = presenter.RenderSize;

            if (!m_isContourInputMode && e.LeftButton == MouseButtonState.Pressed)
            {
                var point = e.GetPosition(presenter).ToContourPoint(size);

                if (IsClosedContour)
                {
                    m_rawContour = new Contour(new ContourAnalysis.Core.Point[] { point, point });
                }
                else
                {
                    m_rawContour = new Contour(new ContourAnalysis.Core.Point[] { point });
                }

                m_isContourInputMode = true;

                ContourPresenter.CaptureMouse();

                ContoursChanged();
            }
        }
Esempio n. 2
0
        private void ContourPresenter_MouseUp(object sender, MouseButtonEventArgs e)
        {
            if (m_isContourInputMode)
            {
                m_isContourInputMode = false;

                ContourPresenter.ReleaseMouseCapture();
            }
        }
Esempio n. 3
0
        private void ContoursChanged()
        {
            if (m_rawContour == null)
            {
                return;
            }

            m_simplifiedContour = m_rawContour.EventlyRearrange().BringLength(TargetLength);

            if (ContourPresenter.Contour != m_rawContour)
            {
                ContourPresenter.Contour = m_rawContour;
            }
            else
            {
                ContourPresenter.Draw();
            }

            SimplifiedContourPresenter.Contour = m_simplifiedContour;

            OnContourChanged();
        }