コード例 #1
0
        //////////////////////////////////////////////////////////////////////////
        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);
        }
コード例 #2
0
        //////////////////////////////////////////////////////////////////////////
        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;
            }
        }
コード例 #3
0
        //////////////////////////////////////////////////////////////////////////
        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;
        }