private void 새로만들기ToolStripMenuItem_Click(object sender, EventArgs e) { NewObjectSet new_object_set = new NewObjectSet(KAssetDir); new_object_set.ShowDialog(); if (new_object_set.DialogResult == DialogResult.OK) { Manager.CreateNewObjectSet( new_object_set.Controls["tbObjectSetName"].Text, new_object_set.Controls["tbTextureFileName"].Text); this.Text = "DirectX11Tutorial Object Editor: " + Manager.ObjectSet.ObjectSetName; SurfaceTexture.ClearTextures(); SurfaceTexture.AddTextureFromFile(Manager.ObjectSet.TextureFileName); SurfaceObject.ClearTextures(); SurfaceObject.AddTextureFromFile(Manager.ObjectSet.TextureFileName); SurfaceTexture.Invalidate(); SurfaceObject.Invalidate(); LBObjects.Items.Clear(); } new_object_set.Dispose(); }
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 불러오기ToolStripMenuItem_Click(object sender, EventArgs e) { DlgOpen.InitialDirectory = KAssetDir; DlgOpen.Filter = "오브젝트 셋 파일 (*.xml)|*.xml"; DlgOpen.DefaultExt = ".xml"; DlgOpen.FileName = ""; DlgOpen.Title = "오브젝트 셋 불러오기"; if (DlgOpen.ShowDialog() == DialogResult.OK) { Manager.LoadFromFile(DlgOpen.FileName); this.Text = "DirectX11Tutorial Object Editor: " + Manager.ObjectSet.ObjectSetName; SurfaceTexture.ClearTextures(); SurfaceTexture.AddTextureFromFile(Manager.ObjectSet.TextureFileName); SurfaceObject.ClearTextures(); SurfaceObject.AddTextureFromFile(Manager.ObjectSet.TextureFileName); SurfaceTexture.Invalidate(); SurfaceObject.Invalidate(); SSize texture_size = SurfaceTexture.GetTextureSize(0); hScrollBar1.LargeChange = KScrollDelta; hScrollBar1.Maximum = texture_size.Width / hScrollBar1.LargeChange; vScrollBar1.LargeChange = KScrollDelta; vScrollBar1.Maximum = texture_size.Height / vScrollBar1.LargeChange; LBObjects.Items.Clear(); foreach (ObjectSetElementData element in Manager.ObjectSet.Elements) { LBObjects.Items.Add(element.ElementName); } } }
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)"; } }
private void VScrollBar1_Scroll(object sender, ScrollEventArgs e) { SurfaceTexture.SetOfffsetY(e.NewValue); SurfaceTexture.Invalidate(); }