public GraphPanel() { InitializeComponent(); this.DoubleBuffered = true; // to prevent the flashing when drawing // Default Setting behaviour this.m_scrollX = 0; this.m_scrollY = 0; this.m_view = new GraphView(this); this.m_editMode = GraphEditMode.None; this.m_SelectBoxOrigin = new Point(); this.m_SelectBoxCurrent = new Point(); this.m_SelectionFill = new SolidBrush(Color.FromArgb(255, 245, 244, 0)); this.m_selectionOutline = new Pen(Color.FromArgb(255, 255, 0, 0)); }
private void GraphPanel_MouseUp(object sender, MouseEventArgs e) { switch (this.m_editMode) { case GraphEditMode.Selecting: break; case GraphEditMode.SelectingBox: if (e.Button == MouseButtons.Left) { this.m_editMode = GraphEditMode.None; this.Invalidate(); } break; default: break; } }
private void GraphPanel_MouseDown(object sender, MouseEventArgs e) { switch (this.m_editMode) { case GraphEditMode.None: switch (e.Button) { case MouseButtons.Middle: this.m_editMode = GraphEditMode.Scrolling;// default scrolling using middle mouse this.m_scrollX = e.Location.X; this.m_scrollY = e.Location.Y; break; case MouseButtons.Left: if (HitAll(e.Location) == HitType.Nothing) { this.m_editMode = GraphEditMode.SelectingBox; this.m_SelectBoxOrigin = this.ControlToView(new Point(e.X, e.Y)); this.m_SelectBoxCurrent = this.ControlToView(new Point(e.X, e.Y)); this.UpdateHightlight(); } break; default: break; } break; case GraphEditMode.SelectingBox: break; case GraphEditMode.MovingSelection: break; default: break; } }