Files
DynamicDataDisplay/PointMarkers/PointMarker.cs
2024-02-23 00:46:06 -05:00

27 lines
923 B
C#

using System.Windows;
using System.Windows.Media;
namespace Microsoft.Research.DynamicDataDisplay.PointMarkers
{
public delegate void MarkerRenderHandler(DrawingContext dc, Point screenPoint);
/// <summary>Renders markers along graph</summary>
public abstract class PointMarker : DependencyObject {
/// <summary>Renders marker on screen</summary>
/// <param name="dc">Drawing context to render marker on</param>
/// <param name="dataPoint">Point from data source</param>
/// <param name="screenPoint">Marker center coordinates on drawing context</param>
public abstract void Render(DrawingContext dc, Point screenPoint);
public static implicit operator PointMarker(MarkerRenderHandler renderer) {
return FromRenderer(renderer);
}
public static PointMarker FromRenderer(MarkerRenderHandler renderer)
{
return new DelegatePointMarker(renderer);
}
}
}