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
{
}
}