aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/SideChains/RealTimeGraphEx/DX2D/NativeMethods.cs
blob: 7855c80ae27fdd51cc997c0d3c57a5b1463d7626 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using System;
using
m.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Media; using System.Windows.Media.Imaging; namespace RealTimeGraphEx.FastGraphs { /// <summary> /// Represents a real-time graph with a single scrollable wave form. /// </summary> public class RealTimeGraphExWaveScroll : RealTimeGraphExLineScroll { #region Constructors public RealTimeGraphExWaveScroll() : base() { } #endregion #region Override Methods /// <summary> /// Set the cross thread fields. /// </summary> protected override void OnSetCrossThreadFields() { base.OnSetCrossThreadFields(); this.Dispatcher.Invoke(() => { _minimum = _maximum * -1; }, System.Windows.Threading.DispatcherPriority.Send); } /// <summary> /// Draw the actual polygon on the image. /// </summary> /// <param name="bmp"></param> protected override void OnDrawVisuals(WriteableBitmap bmp) { Color stroke = _graphController.dataSeries.GetStrokeColor() != null ? _graphController.dataSeries.GetStrokeColor().Value : _stroke; Color fill = _graphController.dataSeries.GetFillColor() != null ? _graphController.dataSeries.GetFillColor().Value : _fill; double scale = GetPolygonScaleFactor(); if (_fillGraph) //Fill Graph { bmp.FillPolygon(graphPolygon.ToPolygonPointsWaveFill(_offSetX, _offSetY, _width, _height, scale, ConvertYToImageYFliped), fill); } DrawPolyline(bmp, graphPolygon.ToPolygonPoints(_offSetX, _offSetY, scale, ConvertYToImageYFliped), stroke); DrawPolyline(bmp, graphPolygon.ToPolygonPointsReflection(_offSetX, _offSetY, _height, scale, ConvertYToImageYFliped), stroke); } #endregion } }