349 lines
14 KiB
C#
349 lines
14 KiB
C#
using System;
|
|
using System.ComponentModel;
|
|
using System.Drawing;
|
|
using System.Drawing.Drawing2D;
|
|
using System.Windows.Forms;
|
|
|
|
internal class ctrlAdvGraph : UserControl
|
|
{
|
|
private Brush brush_0;
|
|
private Class10 class10_0;
|
|
private Class16_u class16_0;
|
|
private Class18_file class18_0;
|
|
private Class7_u[,] class7_0;
|
|
private Class7_u class7_1;
|
|
private ctrlAdvTable[] ctrlAdvTable_0;
|
|
public float float_0;
|
|
public float float_1;
|
|
private float float_2;
|
|
private float float_3;
|
|
private float float_4;
|
|
private float float_5;
|
|
private Graphics graphics_0;
|
|
private IContainer icontainer_0;
|
|
private int int_0;
|
|
private int int_1;
|
|
private int int_2 = 20;
|
|
private int int_3 = 20;
|
|
private int int_4;
|
|
private int int_5;
|
|
private string string_0;
|
|
|
|
public ctrlAdvGraph()
|
|
{
|
|
this.InitializeComponent();
|
|
this.class16_0 = new Class16_u();
|
|
this.float_1 = 5f;
|
|
}
|
|
|
|
private void ctrlAdvGraph_Load(object sender, EventArgs e)
|
|
{
|
|
this.method_9();
|
|
}
|
|
|
|
private void ctrlAdvGraph_Resize(object sender, EventArgs e)
|
|
{
|
|
if (this.class7_0 == null)
|
|
{
|
|
this.method_9();
|
|
}
|
|
this.class16_0.method_1(base.CreateGraphics(), base.ClientRectangle.Width, base.ClientRectangle.Height);
|
|
base.Invalidate();
|
|
}
|
|
|
|
protected override void Dispose(bool disposing)
|
|
{
|
|
if (disposing && (this.icontainer_0 != null))
|
|
{
|
|
this.icontainer_0.Dispose();
|
|
}
|
|
base.Dispose(disposing);
|
|
}
|
|
|
|
private void InitializeComponent()
|
|
{
|
|
base.SuspendLayout();
|
|
base.AutoScaleDimensions = new SizeF(6f, 13f);
|
|
base.AutoScaleMode = AutoScaleMode.Font;
|
|
base.Name = "ctrlAdvGraph";
|
|
base.Load += new EventHandler(this.ctrlAdvGraph_Load);
|
|
base.Resize += new EventHandler(this.ctrlAdvGraph_Resize);
|
|
base.ResumeLayout(false);
|
|
}
|
|
|
|
internal void method_0(ref Class18_file class18_1, ref Class10 class10_1)
|
|
{
|
|
this.class18_0 = class18_1;
|
|
this.class18_0.delegate58_0 += new Class18_file.Delegate58(this.method_9);
|
|
this.class18_0.delegate55_0 += new Class18_file.Delegate55(this.method_9);
|
|
this.class10_0 = class10_1;
|
|
this.ctrlAdvGraph_Load(null, null);
|
|
}
|
|
|
|
public ctrlAdvTable[] method_1()
|
|
{
|
|
return this.ctrlAdvTable_0;
|
|
}
|
|
|
|
private void method_10()
|
|
{
|
|
float num;
|
|
string str;
|
|
Pen pen = new Pen(this.class18_0.class10_0.color_14, 1f);
|
|
Font font = new Font("Lucida Sans", 9f, FontStyle.Bold);
|
|
Font font2 = new Font("Lucida Sans", 9f, FontStyle.Bold);
|
|
SolidBrush brush = new SolidBrush(this.class18_0.class10_0.color_14);
|
|
SolidBrush brush2 = new SolidBrush(this.class18_0.class10_0.color_11);
|
|
float num2 = 0f;
|
|
StringFormat format = new StringFormat {
|
|
FormatFlags = StringFormatFlags.DirectionVertical
|
|
};
|
|
float num3 = 0f;
|
|
float num4 = 0f;
|
|
if (this.float_0 == 0f)
|
|
{
|
|
this.float_0 = 5f;
|
|
}
|
|
for (float i = 0f; i <= this.float_0; i++)
|
|
{
|
|
num = (this.int_0 + this.int_0) + ((i * this.int_5) / this.float_0);
|
|
str = Math.Round((double) ((((this.float_2 - this.float_3) / this.float_0) * i) + this.float_3), 0).ToString();
|
|
this.graphics_0.DrawString(str, font, brush2, num - (this.graphics_0.MeasureString(str, font).Width / 2f), (float) (base.ClientRectangle.Bottom - (this.int_1 - (font.Height / 8))));
|
|
this.graphics_0.DrawLine(pen, base.ClientRectangle.Left + num, (float) (base.ClientRectangle.Bottom - this.int_1), base.ClientRectangle.Left + num, (float) (base.ClientRectangle.Top + this.int_1));
|
|
}
|
|
num2 = 0f;
|
|
for (float j = 0f; j <= this.float_1; j++)
|
|
{
|
|
num = this.int_1 + ((j * this.int_4) / this.float_1);
|
|
string s = Math.Round((double) ((((this.float_5 - this.float_4) / this.float_1) * j) + this.float_4), 1).ToString();
|
|
if ((Math.Round((double) ((((this.float_5 - this.float_4) / this.float_1) * j) + this.float_4), 0) != 0.0) || ((Math.Round((double) ((((this.float_5 - this.float_4) / this.float_1) * j) + this.float_4), 0) == 0.0) && (this.float_3 != 0f)))
|
|
{
|
|
this.graphics_0.DrawString(s, font2, brush2, (float) (base.ClientRectangle.Left + (this.int_0 * 0.8f)), (float) ((base.ClientRectangle.Bottom - 8) - num));
|
|
}
|
|
this.graphics_0.DrawLine(pen, (float) ((base.ClientRectangle.Left + this.int_0) + this.int_0), base.ClientRectangle.Bottom - num, base.ClientRectangle.Right - this.int_0, base.ClientRectangle.Bottom - num);
|
|
num2 += this.float_1;
|
|
}
|
|
str = this.ctrlAdvTable_0[0].string_1[0];
|
|
this.graphics_0.DrawString(str, font, brush2, (float) ((base.ClientRectangle.Width - this.graphics_0.MeasureString(str, font).Width) / 2f), (float) ((base.ClientRectangle.Bottom - (((float) this.int_1) / 2f)) - (((float) font.Height) / 20f)));
|
|
this.graphics_0.DrawString(this.string_0, font, brush2, base.ClientRectangle.Left + 1f, (base.ClientRectangle.Height - this.graphics_0.MeasureString(this.method_7(), font, 100, format).Height) / 2f, format);
|
|
if (pen != null)
|
|
{
|
|
pen.Dispose();
|
|
}
|
|
pen = new Pen(this.class18_0.class10_0.color_11, 1f) {
|
|
DashStyle = DashStyle.Custom,
|
|
DashPattern = new float[] { 6f, 3f }
|
|
};
|
|
if (this.float_4 < 0f)
|
|
{
|
|
num4 = (this.int_4 - (this.int_4 * ((0f - this.float_4) / (this.float_5 - this.float_4)))) + this.int_1;
|
|
this.graphics_0.DrawLine(pen, (float) ((base.ClientRectangle.Left + this.int_0) + this.int_0), num4, base.ClientRectangle.Right - this.int_0, num4);
|
|
}
|
|
if (this.float_3 < 0f)
|
|
{
|
|
num3 = (this.int_0 * 2) + (((0f - this.float_3) / (this.float_2 - this.float_3)) * this.int_5);
|
|
this.graphics_0.DrawLine(pen, num3, (float) (base.ClientRectangle.Bottom - this.int_1), num3, (float) (base.ClientRectangle.Top + this.int_1));
|
|
}
|
|
if ((this.float_4 < 0f) && ((this.float_3 > 0f) || (this.float_3 < 0f)))
|
|
{
|
|
this.graphics_0.DrawString(0.ToString("N0"), font2, brush2, (float) (num3 - 2f), (float) (num4 - 2f));
|
|
}
|
|
pen.Dispose();
|
|
font.Dispose();
|
|
brush.Dispose();
|
|
brush2.Dispose();
|
|
format.Dispose();
|
|
format = null;
|
|
pen = null;
|
|
font = null;
|
|
brush = null;
|
|
brush2 = null;
|
|
}
|
|
|
|
private void method_11()
|
|
{
|
|
SolidBrush brush = new SolidBrush(Color.Red);
|
|
Pen pen = new Pen(Color.Red, 2f);
|
|
Pen pen2 = new Pen(Color.Blue, 1f);
|
|
Pen pen3 = new Pen(this.class18_0.class10_0.color_Trace, 1f);
|
|
Pen pen4 = new Pen(this.class18_0.class10_0.color_11);
|
|
SolidBrush brush2 = new SolidBrush(this.class18_0.class10_0.color_Trace);
|
|
Font font = new Font("Lucida Sans", 6.5f, FontStyle.Bold);
|
|
SolidBrush brush3 = new SolidBrush(this.class18_0.class10_0.color_11);
|
|
Class7_u class2 = null;
|
|
Class7_u class3 = null;
|
|
int green = 0;
|
|
int col = 0;
|
|
int num3 = 0;
|
|
float num4 = 0f;
|
|
ctrlAdvTable table = null;
|
|
for (int i = 0; i < this.ctrlAdvTable_0.Length; i++)
|
|
{
|
|
num3 += this.ctrlAdvTable_0[i].method_5() - 1;
|
|
}
|
|
for (int j = 0; j < this.ctrlAdvTable_0.Length; j++)
|
|
{
|
|
table = this.ctrlAdvTable_0[j];
|
|
for (int k = 1; k < table.method_5(); k++)
|
|
{
|
|
class2 = null;
|
|
class3 = null;
|
|
green = (0xff - ((((0xff * k) * (j + 1)) / num3) + 1)) % 0xff;
|
|
if (green < 0)
|
|
{
|
|
green *= -1;
|
|
}
|
|
for (col = 0; col < table.method_3(); col++)
|
|
{
|
|
pen.Color = Color.FromArgb(0xff, green, 0);
|
|
brush.Color = Color.FromArgb(0xff, green, 0);
|
|
num4 = (float) table.method_14((byte) col, (byte) k);
|
|
if (num4 > this.float_5)
|
|
{
|
|
num4 = this.float_5;
|
|
}
|
|
float yChart = (this.int_4 - (this.int_4 * ((num4 - this.float_4) / (this.float_5 - this.float_4)))) + this.int_1;
|
|
float xChart = (2 * this.int_0) + (((((float) table.method_14((byte) col, 0)) - this.float_3) / (this.float_2 - this.float_3)) * this.int_5);
|
|
if ((this.float_5 - this.float_4) != 0f)
|
|
{
|
|
if (this.class7_0[col, k] == null)
|
|
{
|
|
this.class7_0[col, k] = new Class7_u(xChart, yChart, (float) table.method_14((byte) col, 0), (float) table.method_14((byte) col, (byte) k), col, k);
|
|
this.class7_0[col, k].bool_1 = table.method_15(col, k);
|
|
}
|
|
else
|
|
{
|
|
this.class7_0[col, k].method_9(xChart);
|
|
this.class7_0[col, k].method_11(yChart);
|
|
this.class7_0[col, k].method_7((float) table.method_14((byte) col, (byte) k));
|
|
this.class7_0[col, k].bool_0 = table.method_15(col, k);
|
|
}
|
|
class3 = this.class7_0[col, k];
|
|
this.graphics_0.FillRectangle(brush, (float) (class3.method_8() - 2f), (float) (class3.method_10() - 2f), (float) 5f, (float) 5f);
|
|
if (class2 != null)
|
|
{
|
|
this.graphics_0.DrawLine(pen, class2.method_8(), class2.method_10(), class3.method_8(), class3.method_10());
|
|
}
|
|
if (this.class7_0[col, k].bool_0)
|
|
{
|
|
this.graphics_0.DrawRectangle(pen4, (float) (this.class7_0[col, k].method_8() - 4f), (float) (this.class7_0[col, k].method_10() - 3.5f), (float) 8f, (float) 8f);
|
|
}
|
|
}
|
|
class2 = class3;
|
|
}
|
|
}
|
|
}
|
|
pen.Dispose();
|
|
pen = null;
|
|
pen4.Dispose();
|
|
pen4 = null;
|
|
pen3.Dispose();
|
|
pen3 = null;
|
|
pen2.Dispose();
|
|
pen2 = null;
|
|
font.Dispose();
|
|
font = null;
|
|
brush3.Dispose();
|
|
brush3 = null;
|
|
brush.Dispose();
|
|
brush = null;
|
|
brush2.Dispose();
|
|
brush2 = null;
|
|
}
|
|
|
|
public void method_2(ctrlAdvTable[] ctrlAdvTable_1)
|
|
{
|
|
this.ctrlAdvTable_0 = ctrlAdvTable_1;
|
|
if (this.ctrlAdvTable_0 != null)
|
|
{
|
|
this.float_0 = this.ctrlAdvTable_0[0].method_3() - 1;
|
|
}
|
|
}
|
|
|
|
public float method_3()
|
|
{
|
|
return this.float_4;
|
|
}
|
|
|
|
public void method_4(float float_6)
|
|
{
|
|
this.float_4 = float_6;
|
|
}
|
|
|
|
public float method_5()
|
|
{
|
|
return this.float_5;
|
|
}
|
|
|
|
public void method_6(float float_6)
|
|
{
|
|
this.float_5 = float_6;
|
|
}
|
|
|
|
public string method_7()
|
|
{
|
|
return this.string_0;
|
|
}
|
|
|
|
public void method_8(string string_1)
|
|
{
|
|
this.string_0 = string_1;
|
|
}
|
|
|
|
private void method_9()
|
|
{
|
|
if (this.class18_0 != null)
|
|
{
|
|
if (this.class18_0.method_30_HasFileLoadedInBMTune())
|
|
{
|
|
int num = 0;
|
|
for (int i = 0; i < this.ctrlAdvTable_0.Length; i++)
|
|
{
|
|
num = this.ctrlAdvTable_0[i].method_5();
|
|
}
|
|
this.class7_0 = new Class7_u[this.ctrlAdvTable_0[0].method_3(), num];
|
|
}
|
|
this.Refresh();
|
|
}
|
|
}
|
|
|
|
protected override void OnPaint(PaintEventArgs pe)
|
|
{
|
|
this.int_0 = 30;
|
|
this.int_1 = 0x19;
|
|
this.int_5 = base.ClientRectangle.Width - (3 * this.int_0);
|
|
this.int_4 = base.ClientRectangle.Height - (2 * this.int_1);
|
|
this.brush_0 = new SolidBrush(this.class10_0.color_3);
|
|
if (this.class18_0 == null)
|
|
{
|
|
this.graphics_0 = pe.Graphics;
|
|
this.graphics_0.FillRectangle(this.brush_0, pe.ClipRectangle.X, pe.ClipRectangle.Y, pe.ClipRectangle.Width, pe.ClipRectangle.Height);
|
|
//this.graphics_0.FillRectangle(new SolidBrush(SystemColors.Control), pe.ClipRectangle.X, pe.ClipRectangle.Y, pe.ClipRectangle.Width, pe.ClipRectangle.Height);
|
|
}
|
|
else if (!this.class18_0.method_30_HasFileLoadedInBMTune() || !this.class16_0.method_0())
|
|
{
|
|
this.graphics_0 = pe.Graphics;
|
|
this.graphics_0.SmoothingMode = SmoothingMode.None;
|
|
this.graphics_0.FillRectangle(this.brush_0, pe.ClipRectangle.X, pe.ClipRectangle.Y, pe.ClipRectangle.Width, pe.ClipRectangle.Height);
|
|
}
|
|
else if (this.class16_0.method_0())
|
|
{
|
|
this.graphics_0 = this.class16_0.method_3();
|
|
this.graphics_0.SmoothingMode = SmoothingMode.AntiAlias;
|
|
this.graphics_0.FillRectangle(this.brush_0, pe.ClipRectangle.X, pe.ClipRectangle.Y, pe.ClipRectangle.Width, pe.ClipRectangle.Height);
|
|
this.int_2 = 20;
|
|
this.int_3 = 20;
|
|
this.float_2 = (float) this.ctrlAdvTable_0[0].method_7();
|
|
this.float_3 = (float) this.ctrlAdvTable_0[0].method_8();
|
|
this.method_10();
|
|
this.method_11();
|
|
this.class16_0.method_2(pe.Graphics);
|
|
}
|
|
}
|
|
|
|
protected override void OnPaintBackground(PaintEventArgs pe)
|
|
{
|
|
}
|
|
}
|
|
|