diff options
Diffstat (limited to 'Software/Visual_Studio/SideChains/RealTimeGraphX/IGraphSurface.cs')
| -rw-r--r-- | Software/Visual_Studio/SideChains/RealTimeGraphX/IGraphSurface.cs | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/Software/Visual_Studio/SideChains/RealTimeGraphX/IGraphSurface.cs b/Software/Visual_Studio/SideChains/RealTimeGraphX/IGraphSurface.cs new file mode 100644 index 000000000..07785cc1a --- /dev/null +++ b/Software/Visual_Studio/SideChains/RealTimeGraphX/IGraphSurface.cs @@ -0,0 +1,61 @@ +using RealTimeGraphX.EventArguments; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; + +namespace RealTimeGraphX +{ + /// <summary> + /// Represents a visual surface for display the output of an <see cref="IGraphPainter"/> + /// </summary> + /// <seealso cref="RealTimeGraphX.IGraphInputComponent{RealTimeGraphX.IGraphPainter}" /> + public interface IGraphSurface : IGraphInputComponent<IGraphPainter> + { + #region Events + + /// <summary> + /// Occurs when the surface size has changed. + /// </summary> + event EventHandler<SurfaceSizeChangedEventArgs> SurfaceSizeChanged; + + #endregion + + #region Properties + + /// <summary> + /// Gets the width of the surface. + /// </summary> + double SurfaceWidth { get; } + + /// <summary> + /// Gets the height of the surface. + /// </summary> + double SurfaceHeight { get; } + + #endregion + + #region Methods + + /// <summary> + /// Invokes a method on the surface thread. + /// </summary> + /// <param name="action">The method to invoke.</param> + void InvokeOnSurface(Action action); + + #endregion + } + + /// <summary> + /// Represents a visual surface for display the output of an <see cref="IGraphPainter{TImage}"/> + /// </summary> + /// <typeparam name="TImage">The type of the rendered graph image.</typeparam> + /// <typeparam name="TDataSeries">The type of the graph data series.</typeparam> + /// <seealso cref="RealTimeGraphX.IGraphInputComponent{RealTimeGraphX.IGraphPainter}" /> + public interface IGraphSurface<TDataSeries, TImage> : IGraphSurface, IGraphInputComponent<IGraphPainter<TDataSeries,TImage>> where TDataSeries : IGraphDataSeries + { + + } +} |
