using RealTimeGraphX.EventArguments; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; namespace RealTimeGraphX { /// /// Represents a visual surface for display the output of an /// /// public interface IGraphSurface : IGraphInputComponent { #region Events /// /// Occurs when the surface size has changed. /// event EventHandler SurfaceSizeChanged; #endregion #region Properties /// /// Gets the width of the surface. /// double SurfaceWidth { get; } /// /// Gets the height of the surface. /// double SurfaceHeight { get; } #endregion #region Methods /// /// Invokes a method on the surface thread. /// /// The method to invoke. void InvokeOnSurface(Action action); #endregion } /// /// Represents a visual surface for display the output of an /// /// The type of the rendered graph image. /// The type of the graph data series. /// public interface IGraphSurface : IGraphSurface, IGraphInputComponent> where TDataSeries : IGraphDataSeries { } }