//public override void RegisterAddress(IPCManager ipcManager) //{ // base.RegisterAddress(ipcManager); // ipcManager.RegisterAddress(Settings.Address2, AppSettings.groupStringRead); // LastAddress2 = Settings.Address2; //} //public override void UpdateAddress(IPCManager ipcManager) //{ // base.UpdateAddress(ipcManager); // LastAddress2 = UpdateAddress(ipcManager, LastAddress2, Settings.Address2); //} //public override void DeregisterAddress(IPCManager ipcManager) //{ // base.DeregisterAddress(ipcManager); // ipcManager.DeregisterValue(Settings.Address2); // if (Settings.Address2 != LastAddress2) // Log.Logger.Error($"DeregisterValue: LastAddress and Address different for {ActionID} [ {Settings.Address2} != {LastAddress2} ] "); //} //public override void RefreshValue(IPCManager ipcManager) //{ // int results = 0; // if (RefreshValue(ipcManager, Address, out string currentValue)) // results++; // CurrentValue = currentValue; // if (RefreshValue(ipcManager, Settings.Address2, out currentValue)) // results++; // CurrentValue2 = currentValue; // if (results > 0) // IsChanged = true; //} protected override void DrawBar(string value, ImageRenderer render) { if (GaugeSettings.BarOrientation == (int)GaugeOrientation.LEFT) { GaugeSettings.IndicatorFlip = false; } else { GaugeSettings.IndicatorFlip = true; } base.DrawBar(value, render); value = ValueManager[ID.Second]; if (GaugeSettings.DecodeBCD) { value = ModelDisplay.ConvertFromBCD(value); } value = GaugeSettings.ScaleValue(value); float min = ModelDisplayText.GetNumValue(GaugeSettings.MinimumValue, 0); float max = ModelDisplayText.GetNumValue(GaugeSettings.MaximumValue, 100); render.DrawBarIndicator(GaugeSettings.GetBar(), ColorTranslator.FromHtml(GaugeSettings.IndicatorColor), ModelDisplayText.GetNumValue(GaugeSettings.IndicatorSize, 10), ModelDisplayText.GetNumValue(value, 0), min, max, !GaugeSettings.IndicatorFlip); }
public GaugeWatcher(GaugeSettings settings) { Settings = settings; Settings.PropertyChanged += Settings_PropertyChanged; InitSecondaryWatcher(); }
public PIDTextComponent(ushort pid, GaugeSettings gaugeSettings) : base(pid) { panel = new StackPanel(); textBlock = new TextBlock(); textBlock.Height = Height; Children.Add(panel); panel.Children.Add(textBlock); this.gaugeSettings = gaugeSettings; }
public override void Update(ImageManager imgManager) { base.Update(imgManager); RenderDefaultImage(imgManager); NeedRedraw = true; if (IsArc != GaugeSettings.DrawArc) { GaugeSettings.ResetCoords(); IsArc = GaugeSettings.DrawArc; UpdateSettingsModel = true; } }
protected override void DrawArc(string value, ImageRenderer render) { base.DrawArc(value, render); value = ValueManager[ID.Second]; if (GaugeSettings.DecodeBCD) { value = ModelDisplay.ConvertFromBCD(value); } value = GaugeSettings.ScaleValue(value); float min = ModelDisplayText.GetNumValue(GaugeSettings.MinimumValue, 0); float max = ModelDisplayText.GetNumValue(GaugeSettings.MaximumValue, 100); render.DrawArcIndicator(GaugeSettings.GetArc(), ColorTranslator.FromHtml(GaugeSettings.IndicatorColor), ModelDisplayText.GetNumValue(GaugeSettings.IndicatorSize, 10), ModelDisplayText.GetNumValue(value, 0), min, max, !GaugeSettings.IndicatorFlip); }
protected virtual void RenderDefaultImage(ImageManager imgManager) { ImageRenderer render = new ImageRenderer(imgManager.GetImageObject(GaugeSettings.DefaultImage, DeckType)); if (GaugeSettings.DrawArc) { render.DrawArc(GaugeSettings.GetArc(), ColorTranslator.FromHtml(GaugeSettings.GaugeColor)); } else { render.Rotate(GaugeSettings.BarOrientation, new PointF(0, 0)); render.DrawBar(ColorTranslator.FromHtml(GaugeSettings.GaugeColor), GaugeSettings.GetBar()); } DefaultImageRender = render.RenderImage64(); render.Dispose(); }
protected virtual void DrawText(string value, ImageRenderer render) { if (GaugeSettings.ShowText) { value = GaugeSettings.RoundValue(value); if (GaugeSettings.BarOrientation == (int)GaugeOrientation.LEFT && !GaugeSettings.DrawArc) { render.Rotate(180, new PointF(0, 0)); } GaugeSettings.GetFontParameters(TitleParameters, value, out Font drawFont, out Color drawColor); string text = ModelDisplay.FormatValue(value, GaugeSettings.Format); text = GaugeSettings.GetValueMapped(text); render.DrawText(text, drawFont, drawColor, ModelDisplayText.GetRectangleF(GaugeSettings.RectCoord)); } }
protected virtual void DrawArc(string value, ImageRenderer render) { Arc drawArc = GaugeSettings.GetArc(); float min = ModelDisplayText.GetNumValue(GaugeSettings.MinimumValue, 0); float max = ModelDisplayText.GetNumValue(GaugeSettings.MaximumValue, 100); render.DrawArc(drawArc, ColorTranslator.FromHtml(GaugeSettings.GaugeColor)); if (GaugeSettings.DrawWarnRange) { render.DrawArcRanges(drawArc, GaugeSettings.GetColorRange(), GaugeSettings.GetWarnRange(), min, max, GaugeSettings.SymmRange); } if (GaugeSettings.CenterLine) { render.DrawArcCenterLine(drawArc, ColorTranslator.FromHtml(GaugeSettings.CenterLineColor), ModelDisplayText.GetNumValue(GaugeSettings.CenterLineThickness, 2)); } render.DrawArcIndicator(drawArc, ColorTranslator.FromHtml(GaugeSettings.IndicatorColor), ModelDisplayText.GetNumValue(GaugeSettings.IndicatorSize, 10), ModelDisplayText.GetNumValue(value, 0), min, max, GaugeSettings.IndicatorFlip); }
protected virtual void DrawBar(string value, ImageRenderer render) { Bar drawBar = GaugeSettings.GetBar(); float min = ModelDisplayText.GetNumValue(GaugeSettings.MinimumValue, 0); float max = ModelDisplayText.GetNumValue(GaugeSettings.MaximumValue, 100); render.Rotate(GaugeSettings.BarOrientation, new PointF(0, 0)); render.DrawBar(ColorTranslator.FromHtml(GaugeSettings.GaugeColor), drawBar); if (GaugeSettings.DrawWarnRange) { render.DrawBarRanges(drawBar, GaugeSettings.GetColorRange(), GaugeSettings.GetWarnRange(), min, max, GaugeSettings.SymmRange); } if (GaugeSettings.CenterLine) { render.DrawBarCenterLine(drawBar, ColorTranslator.FromHtml(GaugeSettings.CenterLineColor), ModelDisplayText.GetNumValue(GaugeSettings.CenterLineThickness, 2)); } render.DrawBarIndicator(drawBar, ColorTranslator.FromHtml(GaugeSettings.IndicatorColor), ModelDisplayText.GetNumValue(GaugeSettings.IndicatorSize, 10), ModelDisplayText.GetNumValue(value, 0), min, max, GaugeSettings.IndicatorFlip); }
protected override void Redraw(ImageManager imgManager) { if (!ValueManager.IsChanged(ID.ControlState) && !ForceUpdate) { return; } //Stopwatch sw = new Stopwatch(); //sw.Start(); string value = ValueManager[ID.ControlState]; if (GaugeSettings.DecodeBCD) { value = ModelDisplay.ConvertFromBCD(value); } value = GaugeSettings.ScaleValue(value); ImageRenderer render = new ImageRenderer(imgManager.GetImageObject(GaugeSettings.DefaultImage, DeckType)); if (GaugeSettings.DrawArc) { DrawText(value, render); DrawArc(value, render); } else { DrawBar(value, render); DrawText(value, render); } DrawImage = render.RenderImage64(); render.Dispose(); IsRawImage = true; NeedRedraw = true; //sw.Stop(); //Log.Logger.Debug($"Time for Gauge-Frame: {sw.Elapsed.TotalMilliseconds}ms [{ActionID}]"); }
protected override void DrawText(string value, ImageRenderer render) { base.DrawText(value, render); if (!GaugeSettings.DrawArc) { value = ValueManager[ID.Second]; if (GaugeSettings.DecodeBCD) { value = ModelDisplay.ConvertFromBCD(value); } value = GaugeSettings.ScaleValue(value); if (GaugeSettings.ShowText) { value = GaugeSettings.RoundValue(value); GaugeSettings.GetFontParameters(TitleParameters, value, out Font drawFont, out Color drawColor); render.DrawText(ModelDisplay.FormatValue(value, GaugeSettings.Format), drawFont, drawColor, ModelDisplayText.GetRectangleF(Settings.RectCoord2)); } } }
public MultiBarComponentWrapper(ushort pid, GaugeSettings gaugeSettings) { this.gaugeSettings = gaugeSettings; this.pid = pid; parameter = ConfigurationManager.ConfigManager.ParamData.GetParam(pid); }
public BarGauge(GaugeSettings gaugeSettings) : base() { this.gaugeSettings = gaugeSettings; }