public XYIntLocation(NormalLocation normLoc, XYIntLocation[] field) { if (!SetField(field)) { throw (new Exception("Invalid Field in XYIntLocation")); } else { XYIntLocation[] tempField = (XYIntLocation[])this.Field; int dX = tempField[1].X - tempField[0].X; int dY = tempField[1].Y - tempField[0].Y; double X = dX * normLoc.X; double Y = dY * normLoc.Y; this.x = (int)(X + tempField[0].X); this.y = (int)(Y + tempField[0].Y); } }
private void Panel_SizeChanged(object sender, EventArgs e) { // Every time the panel's size changes, this occurs... int x = Panel.Width; int y = Panel.Height; // get width & height //PanelX.Text = x.ToString(); PanelY.Text = y.ToString(); // Set width/height debug fields //PanelAspect.Text = ((float)x / (float)y).ToString("0.0000"); // Set Aspect Ration debug field panelDrawField[0] = new XYIntLocation(0, 0); // Set Field for new Panel size panelDrawField[1] = new XYIntLocation(x, y); this.Panel.Invalidate(); // Invalidate Panel (force redraw) }
// Assume Aspect Ratio fixed public void ConvertTo(XYIntLocation[] field) { XYIntLocation pt1 = new XYIntLocation(loc1.Normalize(), field); loc1 = pt1; isPointConverted = true; }
// Assume Aspect Ratio fixed public void ConvertTo(XYIntLocation[] field) { XYIntLocation pt1 = new XYIntLocation(loc1.Normalize(), field); XYIntLocation pt2 = new XYIntLocation(loc2.Normalize(), field); loc1 = pt1; loc2 = pt2; isPointConverted = true; isDrawable = true; // Normally this would occur in ConvertTo(double FieldMultiplier) }