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); } }
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); } }
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); } } }
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); } }
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); } }