////////////////////////////////////////////////////////////////////////// private void PaintResizer(RectangleResizer Resizer) { int OffsetX = 0; int OffsetY = 0; WUIObject Parent = Resizer.Window; while (Parent != null) { OffsetX += Parent.X; OffsetY += Parent.Y; Parent = Parent.Parent; } Rectangle Rect = new Rectangle(OffsetX + Resizer.X, OffsetY + Resizer.Y, Resizer.Width - 1, Resizer.Height - 1); Game.Renderer.DrawRect(Rect, SelectionColor); HotSpots.Add(new HotSpot(Rect, Resizer, HotSpot.HotSpotType.Control)); PaintResizeHandles(Rect, Resizer); }
////////////////////////////////////////////////////////////////////////// private void DisposeNatives() { if(_Canvas != null) { _Canvas.PaintContent -= new WmeCanvas.PaintContentDelegate(OnPaintContent); _Canvas.MouseMove -= new MouseEventHandler(OnMouseMove); _Canvas.MouseDown -= new MouseEventHandler(OnMouseDown); _Canvas.MouseUp -= new MouseEventHandler(OnMouseUp); _Canvas.KeyDown -= new KeyEventHandler(OnKeyDown); _Canvas.Release(); _Canvas.Invalidate(); _Canvas = null; } if(LayoutTree != null) { LayoutTree.SelectionsChanged -= new EventHandler(OnSelectionChanged); LayoutTree.ItemDrag -= new ItemDragEventHandler(TreeItemDrag); LayoutTree.DragEnter -= new DragEventHandler(TreeDragEnter); LayoutTree.DragOver -= new DragEventHandler(TreeDragOver); LayoutTree.DragLeave -= new EventHandler(TreeDragLeave); LayoutTree.DragDrop -= new DragEventHandler(TreeDragDrop); LayoutTree.KeyUp -= new KeyEventHandler(TreeKeyUp); LayoutTree.Nodes.Clear(); LayoutTree.SelectedNodes.Clear(); } Application.Idle -= new EventHandler(OnAppIdle); if (_PropGrid != null) { _PropGrid.SelectedGridItemChanged -= new SelectedGridItemChangedEventHandler(OnPropertySelected); _PropGrid.SelectedObject = null; } RectResizer = null; if (Window != null) { Window.Dispose(); Window = null; } if (InvBox != null) { InvBox.Dispose(); InvBox = null; } if (RespBox != null) { RespBox.Dispose(); RespBox = null; } if (Game != null) { Game.Dispose(); Game = null; } }
////////////////////////////////////////////////////////////////////////// private void OnPropertySelected(object sender, SelectedGridItemChangedEventArgs e) { bool Handled = false; if (e.NewSelection != null && PropGrid.SelectedObjects.Length == 1 && PropGrid.SelectedObject is UiWindowProxy) { if (e.NewSelection.Value is Rectangle) { RectangleResizer.RectType NewType = RectangleResizer.RectType.Unknown; if(e.NewSelection.Label=="TitleRectangle") NewType = RectangleResizer.RectType.Title; else if (e.NewSelection.Label == "DragRectangle") NewType = RectangleResizer.RectType.Drag; if (NewType != RectangleResizer.RectType.Unknown) { UiWindowProxy Proxy = PropGrid.SelectedObject as UiWindowProxy; WUIWindow NewWindow = Proxy.NativeObject; if (RectResizer == null || RectResizer.Window != NewWindow || RectResizer.Type != NewType) RectResizer = new RectangleResizer(NewWindow, NewType); Handled = true; } } } if (!Handled) RectResizer = null; }