private static void UpdateElementsSmooth(PeakRendererData data) { UpdateElementsSmooth(data.Values, data.ValueElements, data.Width, data.Height, data.Renderer.SmoothingFactor.Value, data.Orientation); if (data.Rms != null && data.RmsElements != null) { UpdateElementsSmooth(data.Rms, data.RmsElements, data.Width, data.Height, data.Renderer.SmoothingFactor.Value, data.Orientation); } }
private static void UpdateElementsFast(PeakRendererData data) { UpdateElementsFast(data.Values, data.ValueElements, data.Width, data.Height, data.Orientation); if (data.Rms != null && data.RmsElements != null) { UpdateElementsFast(data.Rms, data.RmsElements, data.Width, data.Height, data.Orientation); } }
public static PeakRendererData Create(PeakRenderer renderer, int width, int height, Orientation orientation) { var data = new PeakRendererData() { Renderer = renderer, Width = width, Height = height, Orientation = orientation }; return(data); }
private static void UpdateValues(PeakRendererData data) { UpdateValues(data.Samples, data.Values, data.Rms, data.Channels, data.SampleCount); }
private static void Render(BitmapHelper.RenderInfo valueRenderInfo, BitmapHelper.RenderInfo rmsRenderInfo, PeakRendererData rendererData) { var valueElements = rendererData.ValueElements; var rmsElements = rendererData.RmsElements; var peakElements = rendererData.PeakElements; var orientation = rendererData.Orientation; BitmapHelper.Clear(valueRenderInfo); if (valueElements != null) { for (var a = 0; a < valueElements.Length; a++) { BitmapHelper.DrawRectangle( valueRenderInfo, valueElements[a].X, valueElements[a].Y, valueElements[a].Width, valueElements[a].Height ); if (rmsElements != null) { if (rmsElements[a].Height > 0) { BitmapHelper.DrawRectangle( rmsRenderInfo, rmsElements[a].X, rmsElements[a].Y, rmsElements[a].Width, rmsElements[a].Height ); } } if (peakElements != null) { if (orientation == Orientation.Horizontal) { if (peakElements[a].X > valueElements[a].Width) { BitmapHelper.DrawRectangle( valueRenderInfo, peakElements[a].X, peakElements[a].Y, peakElements[a].Width, peakElements[a].Height ); } } else if (orientation == Orientation.Vertical) { if (peakElements[a].Y < valueElements[a].Y) { BitmapHelper.DrawRectangle( valueRenderInfo, peakElements[a].X, peakElements[a].Y, peakElements[a].Width, peakElements[a].Height ); } } } } } }