/Main/src/DynamicDataDisplay/PointMarkers/DelegatePointMarker.cs

# · C# · 24 lines · 18 code · 4 blank · 2 comment · 2 complexity · 941c8bd417b55acfc4074965ff3d0846 MD5 · raw file

  1. using System;
  2. using System.Windows;
  3. using System.Windows.Media;
  4. namespace Microsoft.Research.DynamicDataDisplay.PointMarkers
  5. {
  6. /// <summary>Invokes specified delegate for rendering custon marker
  7. /// at every point of graph</summary>
  8. public sealed class DelegatePointMarker : PointMarker {
  9. public MarkerRenderHandler RenderCallback { get; set; }
  10. public DelegatePointMarker() { }
  11. public DelegatePointMarker(MarkerRenderHandler renderCallback) {
  12. if (renderCallback == null)
  13. throw new ArgumentNullException("renderCallback");
  14. RenderCallback = renderCallback;
  15. }
  16. public override void Render(DrawingContext dc, Point screenPoint) {
  17. RenderCallback(dc, screenPoint);
  18. }
  19. }
  20. }