private void glControl1_MouseUp(object sender, MouseEventArgs e) { prevUpLoc = mouseUpLoc; Point actualGL_pos = new Point(e.Location.X - (int)xWCS, e.Location.Y - (int)yWCS); mouseUpLoc = actualGL_pos; if (userLine) { line temp = new line(mouseDownLoc, mouseUpLoc); temp.propColor = Color.GreenYellow; ds.Add(temp); ds.useDrawProgress = false; mouseDownLoc = new Point(); } if (userPoly) { //userPolyPts.Add(mouseDownLoc); userPolyPts.Add(mouseUpLoc); polygon temp = new polygon(userPolyPts); ds.Add(temp); ds.useDrawProgress = false; mouseDownLoc = new Point(); //mouseUpLoc = mouseDownLoc; } if (userQuad && (mouseDownLoc != new Point())) { quad temp = new quad(mouseDownLoc, mouseUpLoc); ds.Add(temp); ds.useDrawProgress = false; prevDownLoc = mouseDownLoc; mouseDownLoc = new Point(); mouseUpLoc = new Point(); } if (userLoopLine && (mouseDownLoc != new Point())) { userPoints.Add(mouseDownLoc); userPoints.Add(mouseUpLoc); loopline temp = new loopline(userPoints); ds.Add(temp); ds.useDrawProgress = false; } refreshListView1(); }
private void buttonOkay_Click(object sender, EventArgs e) { //Gather up the information and set it output = new glPrimitives(); output = input; switch (_Type) { case "TRIANGLE": _aTri = (triangle)input; _aTri.showVerts = checkBox_showVerts.Checked; _aTri.lineColor = button_VertexColor.BackColor; _aTri.vertSize = (float)Convert.ToDecimal(UpDown_VertextSize.Text.ToString()); _aTri.showLines = checkBox_showLines.Checked; _aTri.lineColor = button_LineColor.BackColor; _aTri.lineWidth = (float)Convert.ToDecimal(UpDown_LineWidth.Text.ToString()); output = _aTri; break; case "LINE": _aLine = (line)input; _aLine.showVerts = checkBox_showVerts.Checked; _aLine.propColor = button_ObjectColor.BackColor; _aLine.vertColor = button_VertexColor.BackColor; _aLine.vertSize = (float)Convert.ToDecimal(UpDown_VertextSize.Text.ToString()); output = _aLine; break; case "POINT": _aPoint = (point)input; output = _aPoint; break; case "POLYGON": _aPoly = (polygon)input; output = _aPoly; break; case "QUAD": _aQuad = (quad)input; _aQuad.showVerts = checkBox_showVerts.Checked; _aQuad.lineColor = button_VertexColor.BackColor; _aQuad.vertSize = (float)Convert.ToDecimal(UpDown_VertextSize.Text.ToString()); _aQuad.showLines = checkBox_showLines.Checked; _aQuad.lineColor = button_LineColor.BackColor; _aQuad.lineWidth = (float)Convert.ToDecimal(UpDown_LineWidth.Text.ToString()); _aQuad.propColor = button_ObjectColor.BackColor; output = _aQuad; break; case "LOOPLINE": _aLoopLine = (loopline)input; output = _aLoopLine; break; default: break; } this.Close(); }
private void glControl1_MouseMove(object sender, MouseEventArgs e) { actualGL_pos = new Point(e.Location.X - (int)xWCS, e.Location.Y - (int)yWCS); label3.Text = "X: " + actualGL_pos.X.ToString() + " Y: " + actualGL_pos.Y.ToString(); if (ds.useMoveProgress) Render(); else { if (cb_vertexSnap.Checked) if (!bgw_vertexSnap.IsBusy) bgw_vertexSnap.RunWorkerAsync(actualGL_pos); if (userLine && (mouseDownLoc != new Point())) { line temp = new line(mouseDownLoc, actualGL_pos); ds.setProgressObj(temp); ds.useDrawProgress = true; } if (userPoly && userPolyPts.Count > 0 && mouseDownLoc != new Point()) { userPolyPts.Add(actualGL_pos); // mouse current location polygon temp = new polygon(userPolyPts); ds.setProgressObj(temp); ds.useDrawProgress = true; } if (userPoint) { point temp = new point(actualGL_pos); temp.size = 5; temp.propColor = Color.Azure; ds.setProgressObj(temp); ds.useDrawProgress = true; } if (userQuad && (mouseDownLoc != new Point())) { quad temp = new quad(mouseDownLoc, actualGL_pos); // use the two point method ds.setProgressObj(temp); ds.useDrawProgress = true; prevDownLoc = mouseDownLoc; } if (userLoopLine && (mouseDownLoc != new Point()) && (userPoints.Count() > 0)) { userPoints.Add(actualGL_pos); loopline temp = new loopline(userPoints); userPoints.RemoveAt(userPoints.Count() - 1); ds.setProgressObj(temp); ds.useDrawProgress = true; } } }
private void glPrimitiveDialog_Load(object sender, EventArgs e) { this.Text = _Type + " properties"; _isOpen = true; switch (_Type) { case "TRIANGLE": _aTri = (triangle)input; enableControls(true, true, true); checkBox_showVerts.Checked = _aTri.showVerts; button_VertexColor.BackColor = _aTri.lineColor; UpDown_VertextSize.Text = _aTri.vertSize.ToString(); checkBox_showLines.Checked = _aTri.showLines; button_LineColor.BackColor = _aTri.lineColor; UpDown_LineWidth.Text = _aTri.lineWidth.ToString(); break; case "LINE": _aLine = (line)input; enableControls(true, true, false); checkBox_showVerts.Checked = _aLine.showVerts; UpDown_VertextSize.Text = _aLine.vertSize.ToString(); break; case "POINT": _aPoint = (point)input; enableControls(true, false, false); break; case "POLYGON": _aPoly = (polygon)input; enableControls(true, true, true); break; case "QUAD": _aQuad = (quad)input; enableControls(true, true, true); checkBox_showVerts.Checked = _aQuad.showVerts; button_VertexColor.BackColor = _aQuad.lineColor; UpDown_VertextSize.Text = _aQuad.vertSize.ToString(); checkBox_showLines.Checked = _aQuad.showLines; button_LineColor.BackColor = _aQuad.lineColor; UpDown_LineWidth.Text = _aQuad.lineWidth.ToString(); button_ObjectColor.BackColor = _aQuad.propColor; break; case "LOOPLINE": _aLoopLine = (loopline)input; enableControls(true, true, true); break; default: break; } }