public override void OnDraw() { Graphic.Clear(); Graphic.FitSizesToWindow(); var temp1 = GetSafePixelsList(paintPixels); for (int i = 0; i < temp1.Count; i++) { Graphic.Add(temp1[i].Char.ToString(), temp1[i].Position, temp1[i].Color); } var temp2 = GetSafePixelsList(tempPixels); for (int i = 0; i < temp2.Count; i++) { Graphic.Add(temp2[i].Char.ToString(), temp2[i].Position, temp2[i].Color); } temp2.Clear(); if (justSaved || justLoaded) { if (justSaved) { Graphic.AddRectangle(" ", new Colors(Colors.Color.Default, Colors.Color.Green), new Coords(3, 2), new Coords(Graphic.Width - 4, Graphic.Height - 3)); justSaved = false; } if (justLoaded) { Graphic.AddRectangle(" ", new Colors(Colors.Color.Default, Colors.Color.Gray), new Coords(3, 2), new Coords(Graphic.Width - 4, Graphic.Height - 3)); justLoaded = false; } } drawInterface(); drawHelp(); drawDebug(); if (MousePosition.IsInRectangle(new Coords(3, 2), new Coords(Graphic.Width - 4, Graphic.Height - 3))) { Graphic.Add(" ", MousePosition, brush.BrushColor); } Graphic.Draw(); }
void drawInterface() { Graphic.AddRectangleBorder(" ", " ", " ", " ", " ", " ", " ", " ", Colors.Default, Coords.Zero, new Coords(Graphic.Width - 1, Graphic.Height - 1)); Graphic.AddRectangleBorder(" ", " ", " ", " ", " ", " ", " ", " ", Colors.Default, new Coords(1, 0), new Coords(Graphic.Width - 2, Graphic.Height - 1)); Graphic.AddRectangleBorder("═", "║", "═", "║", "╔", "╗", "╝", "╚", Colors.Default, new Coords(2, 1), new Coords(Graphic.Width - 3, Graphic.Height - 2)); Graphic.Add(" Debug: Q ", new Coords(1, 0), new Colors(Colors.Color.DarkGray, Colors.Color.Default)); if (MousePosition.IsInRectangle(new Coords(3, 2), new Coords(Graphic.Width - 4, Graphic.Height - 3))) { Graphic.SetOrigin(new Origin(Origin.HorizontalOrigin.Center, Origin.VerticalOrigin.Top)); Graphic.Add($"{MousePosition.X - 2}", new Coords(-2, 0)); Graphic.Add($"{MousePosition.Y - 1}", new Coords(2, 0)); } Graphic.SetOrigin(new Origin(Origin.HorizontalOrigin.Right, Origin.VerticalOrigin.Top)); Graphic.Add(" Save: ENT, Load: SPC ", new Coords(-1, 0)); Graphic.SetOrigin(new Origin(Origin.HorizontalOrigin.Left, Origin.VerticalOrigin.Bottom)); Graphic.Add(" Colors:", new Coords(1, 0)); Graphic.Add(" (1), (2), (3), (4), (5), (6), (7), (8).", new Coords(9, 0), new Colors(Colors.Color.DarkGray, Colors.Color.Default)); Graphic.Add(highlight.Text, highlight.Coords, highlight.Color); Graphic.Add(" ", new Coords(10, 0), new Colors(Colors.Color.Default, Colors.Color.Red)); Graphic.Add(" ", new Coords(11, 0), new Colors(Colors.Color.Default, Colors.Color.DarkRed)); Graphic.Add(" ", new Coords(18, 0), new Colors(Colors.Color.Default, Colors.Color.Yellow)); Graphic.Add(" ", new Coords(19, 0), new Colors(Colors.Color.Default, Colors.Color.DarkYellow)); Graphic.Add(" ", new Coords(26, 0), new Colors(Colors.Color.Default, Colors.Color.Green)); Graphic.Add(" ", new Coords(27, 0), new Colors(Colors.Color.Default, Colors.Color.DarkGreen)); Graphic.Add(" ", new Coords(34, 0), new Colors(Colors.Color.Default, Colors.Color.Cyan)); Graphic.Add(" ", new Coords(35, 0), new Colors(Colors.Color.Default, Colors.Color.DarkCyan)); Graphic.Add(" ", new Coords(42, 0), new Colors(Colors.Color.Default, Colors.Color.Blue)); Graphic.Add(" ", new Coords(43, 0), new Colors(Colors.Color.Default, Colors.Color.DarkBlue)); Graphic.Add(" ", new Coords(50, 0), new Colors(Colors.Color.Default, Colors.Color.Magenta)); Graphic.Add(" ", new Coords(51, 0), new Colors(Colors.Color.Default, Colors.Color.DarkMagenta)); Graphic.Add(" ", new Coords(58, 0), new Colors(Colors.Color.Default, Colors.Color.Gray)); Graphic.Add(" ", new Coords(59, 0), new Colors(Colors.Color.Default, Colors.Color.DarkGray)); Graphic.Add(" ", new Coords(66, 0), new Colors(Colors.Color.Default, Colors.Color.White)); Graphic.Add(" ", new Coords(67, 0), new Colors(Colors.Color.Default, Colors.Color.Black)); Graphic.SetOrigin(new Origin(Origin.HorizontalOrigin.Right, Origin.VerticalOrigin.Bottom)); Graphic.Add(" First: LMB, Second: RMB, Clear: MMB ", new Coords(-1, 0)); Graphic.SetOrigin(Origin.Default); }
void drawDebug() { if (!showDebug) { return; } Graphic.AddRectangle(" ", Colors.Default, new Coords(2, 1), new Coords(27, 7)); Graphic.AddRectangleBorder("═", "│", "─", "║", "╔", "╤", "┘", "╟", Colors.Default, new Coords(2, 1), new Coords(27, 7)); Graphic.Add($"Tick rate: .....: {CurrentTickRate}/{TickRate}", new Coords(3, 2)); Graphic.Add($"Frame rate: ....: {CurrentFrameRate}/{FrameRate}", new Coords(3, 3)); Graphic.Add($"Draw calls: ....: {Graphic.LastDrawCallsCount}", new Coords(3, 4)); Graphic.Add($"Pixels painted .: {paintPixels.Count}", new Coords(3, 5)); Graphic.Add($"Pixels in temp .: {tempPixels.Count}", new Coords(3, 6)); Graphic.SetOrigin(Origin.Default); }
void drawHelp() { if (!showHelp) { return; } Graphic.SetOrigin(new Origin(Origin.HorizontalOrigin.Center, Origin.VerticalOrigin.Middle)); Graphic.AddRectangle(" ", Colors.Default, new Coords(0, -5), new Coords(30, 4)); Graphic.AddRectangleBorder("═", "║", "═", "║", "╔", "╗", "╝", "╚", Colors.Default, new Coords(-15, -5), new Coords(15, 4)); Graphic.Add("Terminal Paint v1.0 100", new Coords(0, -3)); Graphic.Add("by KostarSf", new Coords(0, -2)); Graphic.Add("powered by", new Coords(0, 1)); Graphic.Add("StripedEngine", new Coords(0, 2)); Graphic.SetOrigin(Origin.Default); }
public void AddGraphic(string code, string name, string comment, string units, DataType dataType, double?min, double?max) { var graphicSeries = new Graphic(code, name, "", units, DataType.Real, min, max); if (_fg) { _time0 = DateTime.Now; } var dot = new MomentReal(_time0, 0.6 * (max ?? 0 + min ?? 0), 0, 1, 0); graphicSeries.IsUpdated = true; graphicSeries.Add(dot); graphicSeries.IsUpdated = false; ucGraphic.DictionaryOfGraphics.Add(code, graphicSeries); graphicSeries.Series.Color = Colors.GetColor(); int i; for (i = 0; i < Numbers.Count; i++) { if (Numbers[i] == false) { Numbers[i] = true; } } if (i == Numbers.Count) { Numbers.Add(true); } graphicSeries.Number = ++i; if (_fg) { ucGraphic.Draw(); _fg = false; } }
//public void AddGraphic(string moduleAddress, string channel) //{ // var addr = Convert.ToString(int.Parse(moduleAddress), 16).ToUpper(); // if (addr.Length == 1) addr = "0" + addr; // //-int ch = int.Parse(channel); // byte ch = byte.Parse(channel); // var code = Program.Net.Modules[addr].Channels[ch].Code ?? addr + "." + channel; // //var code = addr + "." + channel; // //-var chn = channel != "CJC" ? Program.Net.Modules[addr].Channels[ch] : Program.Net.Modules[addr]).Cjc; // var chn = (channel != "CJC") ? Program.Net.Modules[addr].Channels[ch] : ((NewModuleAdam4019Plus)Program.Net.Modules[addr]).Cjc; // //-EChannelStatus status; // NewEnumSignalStatus status; // /* // double? min = (chn.Min == null) || (chn.Conversion == null) // ? chn.Min : ClassAbstractAdamChannel.SignalConversion((double) chn.Min, chn.Conversion, out err); // double? max = (chn.Max == null) || (chn.Conversion == null) // ? chn.Max : ClassAbstractAdamChannel.SignalConversion((double) chn.Max, chn.Conversion, out err); // */ // double? min = (chn.Min == null) || (chn.Conversion == null) // ? chn.Min : chn.SignalConversion((double)chn.Min, out status); // double? max = (chn.Max == null) || (chn.Conversion == null) // ? chn.Max : chn.SignalConversion((double)chn.Max, out status); // //-var graphicSeries = new Graphic(code, chn.Name, "", chn.DataFormat, DataType.Real, min, max); // string dataFormat = null; // switch(chn.Module.ModuleType) // { // case "Adam4019+": // dataFormat = ((NewModuleAdam4019Plus) chn.Module).DataFormat; // break; // } // //-var graphicSeries = new Graphic(code, chn.Name, "", ((NewModuleAdam4019Plus)chn.Module).DataFormat, DataType.Real, min, max); // var graphicSeries = new Graphic(code, chn.Name, "", dataFormat, DataType.Real, min, max); // //if ((chn.Time != null) && (chn.Status != null)) // //{ // // double value = chn.Value ?? 0; // // var dot = new MomentReal((DateTime) chn.Time, value, 0, (int) chn.Status, 0); // // graphicSeries.IsUpdated = true; // // graphicSeries.Add(dot); // // graphicSeries.IsUpdated = false; // //} // DateTime time = chn.Time ?? DateTime.Now; // double value = chn.Value ?? 0; // int stat = chn.Status != null ? (int) chn.Status : 1; // var dot = new MomentReal(time, value, 0, stat, 0); // graphicSeries.IsUpdated = true; // graphicSeries.Add(dot); // graphicSeries.IsUpdated = false; // ucGraphic.DictionaryOfGraphics.Add(code, graphicSeries); // graphicSeries.Series.Color = Colors.GetColor(); // graphicSeries.Number = 1; // ucGraphic.Draw(); //} public void AddGraphic(string code) { var chn = Program.Net.Modules.Channel(code); NewEnumSignalStatus status; double?min = (chn.Min == null) || (chn.Conversion == null) ? chn.Min : chn.SignalConversion((double)chn.Min, out status); double?max = (chn.Max == null) || (chn.Conversion == null) ? chn.Max : chn.SignalConversion((double)chn.Max, out status); string dataFormat = null; switch (chn.Module.ModuleType) { case "Adam4019+": dataFormat = ((NewModuleAdam4019Plus)chn.Module).DataFormat; break; } var graphicSeries = new Graphic(code, chn.Name, "", dataFormat, DataType.Real, min, max); DateTime time = chn.Time ?? DateTime.Now; double value = chn.Value ?? 0; int stat = chn.Status != null ? (int)chn.Status : 1; var dot = new MomentReal(time, value, 0, stat, 0); graphicSeries.IsUpdated = true; graphicSeries.Add(dot); graphicSeries.IsUpdated = false; ucGraphic.DictionaryOfGraphics.Add(code, graphicSeries); graphicSeries.Series.Color = Colors.GetColor(); graphicSeries.Number = 1; ucGraphic.Draw(); }
internal void AddGraphicInfo(StringGridRow row) { Graphic.Add(row); }
internal void AddGraphicInfo(StringGridRow row) { Graphic.Add(AdvGraphicInfo.TypeTexture, row, this); }