コード例 #1
0
ファイル: UIDrawing.cs プロジェクト: jwk000/TiledStudio
 public override void OnMouseUp(MouseEventArgs e)
 {
     if (IsMoving)
     {
         IsMoving = false;
         if (MoveToParentNode != null)
         {
             Root.DelNode(CurrentMoveNode);
             MoveToParentNode.AddNode(CurrentMoveNode);
         }
         CurrentMoveNode  = null;
         MoveToParentNode = null;
     }
 }
コード例 #2
0
ファイル: UIDrawing.cs プロジェクト: jwk000/TiledStudio
        public override void OnPaint(PaintEventArgs e)
        {
            Init();

            //绘制原图
            Root.SetGraphics(e.Graphics);
            Root.CalcNodeHeight();
            Root.CalcNodeWidth();
            Root.SelfOutRect.X = ClientSize.Width / 2 - Root.NodeOutRect.Width / 2;
            Root.SelfOutRect.Y = ClientSize.Height / 2;

            Root.AutoLayout();
            Root.DrawNode();
            if (CurrentSelectNode != null)
            {
                CurrentSelectNode.DrawOutLine(outlinePen);
            }

            if (!IsMoving || CurrentMoveNode == null)
            {
                return;
            }
            //绘制移动的节点
            CurrentMoveNode.SelfOutRect.X = MovingPos.X - CurrentMoveNode.SelfOutRect.Width / 2;
            CurrentMoveNode.SelfOutRect.Y = MovingPos.Y - CurrentMoveNode.SelfOutRect.Height / 2;
            CurrentMoveNode.DrawSelf(moveBrush, movePen);

            if (MoveToParentNode == null)
            {
                return;
            }
            //绘制父节点连线
            MoveToParentNode.DrawOutLine(outlinePen);
            CurrentMoveNode.DrawOutLine(outlinePen);
            ShapeHelper.DrawConnectLine(e.Graphics, outlinePen, MoveToParentNode.ConnectOutPos, CurrentMoveNode.ConnectInPos);
        }