private void SurfaceTexture_MouseMove(object sender, MouseEventArgs e) { SPosition new_location = e.Location; new_location.X += SurfaceTexture.GetOffset().X *KScrollDelta; new_location.Y += SurfaceTexture.GetOffset().Y *KScrollDelta; new_location.X = Math.Max(new_location.X, 0); new_location.Y = Math.Max(new_location.Y, 0); TextureMousePosition = new_location; LabelMousePos.Text = "마우스 좌표 (" + TextureMousePosition.X.ToString() + ", " + TextureMousePosition.Y.ToString() + ")"; LabelDistance.Text = "거리 (" + Math.Abs(TextureMousePosition.X - TextureMousePositionFixed.X).ToString() + ", " + Math.Abs(TextureMousePosition.Y - TextureMousePositionFixed.Y).ToString() + ")"; SurfaceTexture.CurrentMousePosition = e.Location; if (e.Button == MouseButtons.Left) { Rectangle selection = new Rectangle ( Math.Min(TextureMousePosition.X, TextureMousePositionFixed.X), Math.Min(TextureMousePosition.Y, TextureMousePositionFixed.Y), Math.Abs(TextureMousePosition.X - TextureMousePositionFixed.X), Math.Abs(TextureMousePosition.Y - TextureMousePositionFixed.Y) ); SurfaceTexture.SetSelection(selection); LabelSelection.Text = "선택 - 위치(" + selection.X.ToString() + ", " + selection.Y.ToString() + ") - 크기(" + selection.Width.ToString() + ", " + selection.Height.ToString() + ")"; } SurfaceTexture.Invalidate(); }
private void SurfaceTexture_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { SurfaceTexture.ShouldDrawFixedGuideline = true; SPosition new_location = e.Location; new_location.X += SurfaceTexture.GetOffset().X *KScrollDelta; new_location.Y += SurfaceTexture.GetOffset().Y *KScrollDelta; TextureMousePositionFixed = SurfaceTexture.FixedMousePosition = new_location; LabelMousePosFixed.Text = "고정 좌표 (" + TextureMousePositionFixed.X.ToString() + ", " + TextureMousePositionFixed.Y.ToString() + ")"; SurfaceTexture.Invalidate(); } else if (e.Button == MouseButtons.Right) { SurfaceTexture.SetSelection(new Rectangle(0, 0, 0, 0)); LabelSelection.Text = "선택 - 위치(0, 0) - 크기(0, 0)"; } }