Ejemplo n.º 1
0
        public override void Draw(Graphics _canvas, CoordinateSystem _transformer, bool _bSelected, long _iCurrentTimestamp)
        {
            double fOpacityFactor = m_InfosFading.GetOpacityFactor(_iCurrentTimestamp);

            if (fOpacityFactor <= 0)
            {
                return;
            }

            int   iAlpha = (int)(fOpacityFactor * 255);
            Point c      = _transformer.Transform(m_Center);

            using (Pen p = m_StyleHelper.GetPen(iAlpha))
                using (SolidBrush b = m_StyleHelper.GetBrush((int)(fOpacityFactor * m_iDefaultBackgroundAlpha)))
                {
                    _canvas.DrawLine(p, c.X - m_iDefaultRadius, c.Y, c.X + m_iDefaultRadius, c.Y);
                    _canvas.DrawLine(p, c.X, c.Y - m_iDefaultRadius, c.X, c.Y + m_iDefaultRadius);
                    _canvas.FillEllipse(b, c.Box(m_iDefaultRadius + 1));
                }

            if (m_bShowCoordinates)
            {
                m_LabelCoordinates.SetText(m_ParentMetadata.CalibrationHelper.GetPointText(m_Center, true));
                m_LabelCoordinates.Draw(_canvas, _transformer, fOpacityFactor);
            }
        }
Ejemplo n.º 2
0
        public override void Draw(Graphics canvas, DistortionHelper distorter, IImageToViewportTransformer transformer, bool selected, long currentTimestamp)
        {
            double opacityFactor = infosFading.GetOpacityFactor(currentTimestamp);

            if (tracking)
            {
                opacityFactor = 1.0;
            }

            if (opacityFactor <= 0)
            {
                return;
            }

            int   iAlpha = (int)(opacityFactor * 255);
            Point c      = transformer.Transform(points["0"]);

            using (Pen p = styleHelper.GetPen(iAlpha))
                using (SolidBrush b = styleHelper.GetBrush((int)(opacityFactor * defaultBackgroundAlpha)))
                {
                    canvas.DrawLine(p, c.X - defaultRadius, c.Y, c.X + defaultRadius, c.Y);
                    canvas.DrawLine(p, c.X, c.Y - defaultRadius, c.X, c.Y + defaultRadius);
                    canvas.FillEllipse(b, c.Box(defaultRadius + 1));
                }

            if (ShowMeasurableInfo)
            {
                labelCoordinates.SetText(CalibrationHelper.GetPointText(new PointF(points["0"].X, points["0"].Y), true, true, infosFading.ReferenceTimestamp));
                labelCoordinates.Draw(canvas, transformer, opacityFactor);
            }
        }
Ejemplo n.º 3
0
        public override void Draw(Graphics _canvas, double _fStretchFactor, bool _bSelected, long _iCurrentTimestamp, Point _DirectZoomTopLeft)
        {
            double fOpacityFactor = m_InfosFading.GetOpacityFactor(_iCurrentTimestamp);
            int    iPenAlpha      = (int)((double)255 * fOpacityFactor);

            if (iPenAlpha > 0)
            {
                m_fStretchFactor    = _fStretchFactor;
                m_DirectZoomTopLeft = new Point(_DirectZoomTopLeft.X, _DirectZoomTopLeft.Y);
                RescaleCoordinates(m_fStretchFactor, m_DirectZoomTopLeft);

                Pen penEdges = m_PenStyle.GetInternalPen(iPenAlpha);

                _canvas.DrawLine(penEdges, m_RescaledStartPoint.X, m_RescaledStartPoint.Y, m_RescaledEndPoint.X, m_RescaledEndPoint.Y);

                // Handlers
                penEdges.Width = 1;

                if (_bSelected)
                {
                    penEdges.Width++;
                }

                if (m_PenStyle.Shape == LineShape.Simple)
                {
                    _canvas.DrawEllipse(penEdges, GetRescaledHandleRectangle(1));
                    _canvas.DrawEllipse(penEdges, GetRescaledHandleRectangle(2));
                }
                else if (m_PenStyle.Shape == LineShape.EndArrow)
                {
                    _canvas.DrawEllipse(penEdges, GetRescaledHandleRectangle(1));
                }

                if (m_bShowMeasure)
                {
                    // Text of the measure. (The helpers knows the unit)
                    string text = m_ParentMetadata.CalibrationHelper.GetLengthText(m_StartPoint, m_EndPoint);
                    m_LabelMeasure.TextInfos[0] = text;

                    SetMeasureLabelConnector();
                    m_LabelMeasure.ResetBackground(_fStretchFactor, _DirectZoomTopLeft);

                    // Draw.
                    m_LabelMeasure.Draw(_canvas, fOpacityFactor);
                }
            }
        }
Ejemplo n.º 4
0
        public override void Draw(Graphics canvas, DistortionHelper distorter, IImageToViewportTransformer transformer, bool selected, long currentTimestamp)
        {
            double opacityFactor = infosFading.GetOpacityFactor(currentTimestamp);

            if (tracking)
            {
                opacityFactor = 1.0;
            }

            if (opacityFactor <= 0)
            {
                return;
            }

            Point start = transformer.Transform(points["a"]);
            Point end   = transformer.Transform(points["b"]);

            using (Pen penEdges = styleHelper.GetPen((int)(opacityFactor * 255), transformer.Scale))
            {
                if (distorter != null && distorter.Initialized)
                {
                    DrawDistorted(canvas, distorter, transformer, penEdges, start, end);
                }
                else
                {
                    DrawStraight(canvas, transformer, penEdges, start, end);
                }
            }

            if (ShowMeasurableInfo)
            {
                // Text of the measure. (The helpers knows the unit)
                PointF a = new PointF(points["a"].X, points["a"].Y);
                PointF b = new PointF(points["b"].X, points["b"].Y);
                labelMeasure.SetText(CalibrationHelper.GetLengthText(a, b, true, true));
                labelMeasure.Draw(canvas, transformer, opacityFactor);
            }
        }
Ejemplo n.º 5
0
        public override void Draw(Graphics _canvas, CoordinateSystem _transformer, bool _bSelected, long _iCurrentTimestamp)
        {
            double fOpacityFactor = m_InfosFading.GetOpacityFactor(_iCurrentTimestamp);

            if (fOpacityFactor <= 0)
            {
                return;
            }

            Point start = _transformer.Transform(m_StartPoint);
            Point end   = _transformer.Transform(m_EndPoint);

            using (Pen penEdges = m_StyleHelper.GetPen((int)(fOpacityFactor * 255), _transformer.Scale))
            {
                _canvas.DrawLine(penEdges, start, end);

                // Handlers
                penEdges.Width = _bSelected ? 2 : 1;
                if (m_StyleHelper.LineEnding.StartCap != LineCap.ArrowAnchor)
                {
                    _canvas.DrawEllipse(penEdges, start.Box(3));
                }

                if (m_StyleHelper.LineEnding.EndCap != LineCap.ArrowAnchor)
                {
                    _canvas.DrawEllipse(penEdges, end.Box(3));
                }
            }

            if (m_bShowMeasure)
            {
                // Text of the measure. (The helpers knows the unit)
                m_LabelMeasure.SetText(m_ParentMetadata.CalibrationHelper.GetLengthText(m_StartPoint, m_EndPoint));
                m_LabelMeasure.Draw(_canvas, _transformer, fOpacityFactor);
            }
        }