public GraphicsPath GetPointerPath(GaugeGraphics g) { if (!this.Visible) { return(null); } GraphicsPath graphicsPath = new GraphicsPath(); ScaleBase scale = this.GetScale(); scale.GetPositionFromValue(scale.GetValueLimit(base.Position)); if (this.Type == LinearPointerType.Marker || this.Image != string.Empty) { MarkerStyleAttrib markerStyleAttrib = this.GetMarkerStyleAttrib(g); if (markerStyleAttrib.path != null) { graphicsPath.AddPath(markerStyleAttrib.path, false); } } else if (this.Type == LinearPointerType.Bar) { BarStyleAttrib barStyleAttrib = this.GetBarStyleAttrib(g); if (barStyleAttrib.primaryPath == null) { graphicsPath.Dispose(); return(null); } if (barStyleAttrib.primaryPath != null) { graphicsPath.AddPath(barStyleAttrib.primaryPath, false); } } else if (this.Type == LinearPointerType.Thermometer) { BarStyleAttrib thermometerStyleAttrib = this.GetThermometerStyleAttrib(g); if (thermometerStyleAttrib.primaryPath == null) { graphicsPath.Dispose(); return(null); } if (thermometerStyleAttrib.totalPath != null) { graphicsPath.AddPath(thermometerStyleAttrib.primaryPath, false); } } return(graphicsPath); }
void IPointerProvider.DataValueChanged(bool initialize) { if (!initialize) { GetGaugeBase()?.PointerValueChanged(this); } ScaleBase scaleBase = GetScaleBase(); if (scaleBase != null) { double valueLimit = scaleBase.GetValueLimit(data.Value, snappingEnabled, snappingInterval); if (initialize || !dampeningEnabled || !Data.StartDampening(valueLimit, scaleBase.MinimumLog, scaleBase.Maximum, dampeningSweepTime, Common.GaugeCore.RefreshRate)) { Position = valueLimit; } } }
internal virtual void DragTo(int x, int y, PointF refPoint) { ScaleBase scaleBase = GetScaleBase(); double value = scaleBase.GetValue(refPoint, new PointF(x, y)); value = scaleBase.GetValueLimit(value, SnappingEnabled, SnappingInterval); PointerPositionChangeEventArgs pointerPositionChangeEventArgs = new PointerPositionChangeEventArgs(value, DateTime.Now, Name, playbackMode: false); if (Common != null) { Common.GaugeContainer.OnPointerPositionChange(this, pointerPositionChangeEventArgs); if (pointerPositionChangeEventArgs.Accept) { dragging = true; Value = value; } } }
public virtual void DragTo(int x, int y, PointF refPoint) { ScaleBase scaleBase = this.GetScaleBase(); double value = scaleBase.GetValue(refPoint, new PointF((float)x, (float)y)); value = scaleBase.GetValueLimit(value, this.SnappingEnabled, this.SnappingInterval); PointerPositionChangeEventArgs pointerPositionChangeEventArgs = new PointerPositionChangeEventArgs(value, DateTime.Now, this.Name, false); if (this.Common != null) { this.Common.GaugeContainer.OnPointerPositionChange(this, pointerPositionChangeEventArgs); if (pointerPositionChangeEventArgs.Accept) { this.dragging = true; this.Value = value; } } }
public MarkerStyleAttrib GetMarkerStyleAttrib(GaugeGraphics g) { MarkerStyleAttrib markerStyleAttrib = new MarkerStyleAttrib(); float absoluteDimension = g.GetAbsoluteDimension(this.MarkerLength); float absoluteDimension2 = g.GetAbsoluteDimension(this.Width); markerStyleAttrib.path = g.CreateMarker(new PointF(0f, 0f), absoluteDimension2, absoluteDimension, this.MarkerStyle); float num = 0f; if (this.Placement == Placement.Cross || this.Placement == Placement.Inside) { num = (float)(num + 180.0); } if (this.GetGauge().GetOrientation() == GaugeOrientation.Vertical) { num = (float)(num + 270.0); } if (num > 0.0) { using (Matrix matrix = new Matrix()) { matrix.Rotate(num); markerStyleAttrib.path.Transform(matrix); } } float num2 = this.CalculateMarkerDistance(); ScaleBase scale = this.GetScale(); float positionFromValue = scale.GetPositionFromValue(scale.GetValueLimit(base.Position)); PointF pointOrigin = Point.Empty; pointOrigin = ((this.GetGauge().GetOrientation() != 0) ? g.GetAbsolutePoint(new PointF(num2, positionFromValue)) : g.GetAbsolutePoint(new PointF(positionFromValue, num2))); markerStyleAttrib.brush = g.GetMarkerBrush(markerStyleAttrib.path, this.MarkerStyle, pointOrigin, 0f, this.FillColor, this.FillGradientType, this.FillGradientEndColor, this.FillHatchStyle); using (Matrix matrix2 = new Matrix()) { matrix2.Translate(pointOrigin.X, pointOrigin.Y, MatrixOrder.Append); markerStyleAttrib.path.Transform(matrix2); return(markerStyleAttrib); } }
void IPointerProvider.DataValueChanged(bool initialize) { if (!initialize) { GaugeBase gaugeBase = this.GetGaugeBase(); if (gaugeBase != null) { gaugeBase.PointerValueChanged(this); } } ScaleBase scaleBase = this.GetScaleBase(); if (scaleBase != null) { double valueLimit = scaleBase.GetValueLimit(this.data.Value, this.snappingEnabled, this.snappingInterval); if (!initialize && this.dampeningEnabled && this.Data.StartDampening(valueLimit, scaleBase.MinimumLog, scaleBase.Maximum, this.dampeningSweepTime, this.Common.GaugeCore.RefreshRate)) { return; } this.Position = valueLimit; } }