コード例 #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);
            }
        }
コード例 #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);
            }
        }
コード例 #3
0
ファイル: DrawingLine.cs プロジェクト: jfpk/kinoveaIDS
        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);
            }
        }
コード例 #4
0
ファイル: DrawingLine2D.cs プロジェクト: robwahl/watchalerts
        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);
            }
        }