aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/SideChains
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-11-13 14:45:22 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-11-13 14:45:22 +0200
commitd0faa49dc04de0ceb5e9854e965bb32473bc5b85 (patch)
tree208cded75a11ffe5e49bbb5fcd76e665ed83fbd6 /Software/Visual_Studio/SideChains
parentdbfcaf1951add6694a8c6a1572b52af4208e1d0f (diff)
downloadTango-d0faa49dc04de0ceb5e9854e965bb32473bc5b85.tar.gz
Tango-d0faa49dc04de0ceb5e9854e965bb32473bc5b85.zip
Machine Studio v3.5.68
Prevent graph crashing on OnRender. Differed SynchronizeColorSpaces with timer. Implemented color calibration for Research module.
Diffstat (limited to 'Software/Visual_Studio/SideChains')
-rw-r--r--Software/Visual_Studio/SideChains/RealTimeGraphX/Renderers/GraphScrollingRenderer.cs71
1 files changed, 37 insertions, 34 deletions
diff --git a/Software/Visual_Studio/SideChains/RealTimeGraphX/Renderers/GraphScrollingRenderer.cs b/Software/Visual_Studio/SideChains/RealTimeGraphX/Renderers/GraphScrollingRenderer.cs
index e3bf6182e..3d127c448 100644
--- a/Software/Visual_Studio/SideChains/RealTimeGraphX/Renderers/GraphScrollingRenderer.cs
+++ b/Software/Visual_Studio/SideChains/RealTimeGraphX/Renderers/GraphScrollingRenderer.cs
@@ -27,52 +27,55 @@ namespace RealTimeGraphX.Renderers
/// <returns></returns>
protected override List<GraphPoint> OnRender(IEnumerable<PendingSeries> seriesCollection, TDataSeries series, PendingSeries toRender)
{
- XDataPoint min_x = toRender.XX.First();
- XDataPoint max_x = toRender.XX.Last();
-
- YDataPoint min_y = Input.Range.MinimumY;
- YDataPoint max_y = Input.Range.MaximumY;
+ List<GraphPoint> points = new List<GraphPoint>();
- if (Input.Range.AutoY)
+ if (toRender.XX.Count > 0 && toRender.YY.Count > 0)
{
- min_y = _current_min_y;
- max_y = _current_max_y;
- }
+ XDataPoint min_x = toRender.XX.First();
+ XDataPoint max_x = toRender.XX.Last();
+
+ YDataPoint min_y = Input.Range.MinimumY;
+ YDataPoint max_y = Input.Range.MaximumY;
- OnEffectiveRangeXChanged(min_x, max_x);
- OnEffectiveRangeYChanged(min_y, max_y);
+ if (Input.Range.AutoY)
+ {
+ min_y = _current_min_y;
+ max_y = _current_max_y;
+ }
- var dxList = toRender.XX.Select(x => x.ComputeRelativePosition(min_x, max_x)).ToList();
- var dyList = toRender.YY.Select(x => x.ComputeRelativePosition(min_y, max_y)).ToList();
+ OnEffectiveRangeXChanged(min_x, max_x);
+ OnEffectiveRangeYChanged(min_y, max_y);
- if (max_x - min_x > Input.Range.MaximumX)
- {
- var offset = ((max_x - min_x) - Input.Range.MaximumX) + min_x;
+ var dxList = toRender.XX.Select(x => x.ComputeRelativePosition(min_x, max_x)).ToList();
+ var dyList = toRender.YY.Select(x => x.ComputeRelativePosition(min_y, max_y)).ToList();
- for (int i = 0; i < toRender.XX.Count; i++)
+ if (max_x - min_x > Input.Range.MaximumX)
{
- if (toRender.XX[i] < offset)
- {
- toRender.XX.RemoveAt(i);
- toRender.YY.RemoveAt(i);
- i--;
- }
- else
+ var offset = ((max_x - min_x) - Input.Range.MaximumX) + min_x;
+
+ for (int i = 0; i < toRender.XX.Count; i++)
{
- break;
+ if (toRender.XX[i] < offset)
+ {
+ toRender.XX.RemoveAt(i);
+ toRender.YY.RemoveAt(i);
+ i--;
+ }
+ else
+ {
+ break;
+ }
}
}
- }
-
- List<GraphPoint> points = new List<GraphPoint>();
- for (int i = 0; i < dxList.Count; i++)
- {
- float image_x = ConvertXValueToRendererValue(dxList[i]);
- float image_y = (float)Math.Min(ConvertYValueToRendererValue(dyList[i]), Output.SurfaceHeight - 2);
+ for (int i = 0; i < dxList.Count; i++)
+ {
+ float image_x = ConvertXValueToRendererValue(dxList[i]);
+ float image_y = (float)Math.Min(ConvertYValueToRendererValue(dyList[i]), Output.SurfaceHeight - 2);
- GraphPoint point = new GraphPoint(image_x, image_y);
- points.Add(point);
+ GraphPoint point = new GraphPoint(image_x, image_y);
+ points.Add(point);
+ }
}
return points;