using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Drawing.Printing; using System.Drawing.Imaging; using System.Text; using System.Windows.Forms; using System.Diagnostics; using System.IO; using VG; //using XYPlots; namespace XYPlots { public partial class frmXYPlot : Form { private string _XYPlot; private string _Title; public frmXYPlot(string title,string xyPlot) { InitializeComponent(); _XYPlot =xyPlot; _Title = title; } private void pnl_Paint(object sender, PaintEventArgs e) { e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; e.Graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias; XYPlots.XYPlot myPlot = new XYPlots.XYPlot(_XYPlot); myPlot.SetMargins(.75F, .5F, .25F, .75F); float scaleX = pnl.Width / myPlot.Width; float scaleY = pnl.Height / myPlot.Height; float scale = scaleX > scaleY ? scaleY : scaleX; e.Graphics.ScaleTransform(scale, scale); myPlot.Process(new VGOut_Graphics(e.Graphics)); } private void pnl_Resize(object sender, EventArgs e) { pnl.Invalidate(); } private void frmXYPlot_Load(object sender, EventArgs e) { Text = _Title; XYPlots.XYPlot myPlot = new XYPlots.XYPlot(_XYPlot); myPlot.SetMargins(.75F, .5F, .25F, .75F); float scaleX = pnl.Width / myPlot.Width; float scaleY = pnl.Height / myPlot.Height; float scale = scaleX > scaleY ? scaleY : scaleX; int height = (int)(Height - pnl.Height + pnl.Height * scale / scaleY); int width = (int)(Width - pnl.Width + pnl.Width * scale / scaleX); Size = new Size(width, height); } } }