using RealTimeGraphX.EventArguments; using System; using System.Collections.Generic; using System.Drawing; using System.Text; namespace RealTimeGraphX { /// /// Represents a graph renderer capable of receiving a series of data points from a controller and transforming them to drawing points. /// /// The type of the data series. /// public interface IGraphRenderer : IGraphComponent where TDataSeries : IGraphDataSeries { /// /// Arranges the series of data points and returns a series of drawing points. /// /// The target graph surface. /// The instance of the current rendered data series. /// Instance of graph range. /// Collection of x coordinates. /// Collection of y coordinates. /// The minimum x coordinates value. /// The maximum x coordinates value. /// The minimum y coordinates value. /// The maximum y coordinates value. /// IEnumerable Render(IGraphSurface surface, TDataSeries series, IGraphRange range, List xx, List yy, GraphDataPoint minimumX, GraphDataPoint maximumX, GraphDataPoint minimumY, GraphDataPoint maximumY); /// /// Draws the specified data series points on the target surface. /// /// The target graph surface. /// The instance of the current rendered data series. /// The collection of the current data series drawing points. /// The index of the current data series within the collection of data series. /// The length of the data series collection. void Draw(IGraphSurface surface, TDataSeries series, IEnumerable points, int index, int count); } }