Пример #1
0
            private CursorType GetCursor(DragModes mode, Point pt)
            {
                CursorType c = CursorType.Arrow;

                switch (mode)
                {
                case DragModes.LeftTop: c = CursorType.ResizeNW; break;

                case DragModes.Top: c = CursorType.ResizeUp; break;

                case DragModes.RightTop: c = CursorType.ResizeNE; break;

                case DragModes.Left: c = CursorType.ResizeLeft; break;

                case DragModes.Right: c = CursorType.ResizeRight; break;

                case DragModes.LeftBottom: c = CursorType.ResizeSW; break;

                case DragModes.Bottom: c = CursorType.ResizeDown; break;

                case DragModes.RightBottom: c = CursorType.ResizeSE; break;

                case DragModes.Move: c = CursorType.Move;    break;
                }
                return(c);
            }
Пример #2
0
            private void ClrCapture()
            {
                //   DockPanel.ClrHightlight();

                owner.DockPanel.xwt.ReleaseCapture(this);
                this.captured = DragModes.None;
            }
Пример #3
0
            protected override void OnButtonPressed(ButtonEventArgs args)
            {
                args.Handled = true;
                if (args.Button == PointerButton.Left)
                {
                    var hit = HitTest(args.Position);

                    /*     if (hit == DragModes.Move) // hit titlebar
                     *   {
                     *       // todo check small move first
                     *       DockItDragDrop.StartDrag(this.owner, this.ConvertToScreenCoordinates(args.Position));
                     *       return;
                     *   }
                     *   else */

                    if (hit != DragModes.None)
                    {
                        this.captured = hit;
                        owner.DockPanel.xwt.SetCapture(this);

                        this.orgpt  = base.ConvertToScreenCoordinates(args.Position);
                        this.orgpos = new Rectangle(this.owner.Location, base.Size);

                        return;
                    }
                }
                //   base.OnButtonPressed(args);
            }
Пример #4
0
 private void InitProperty(Vector3 force, float mass, float drag, DragModes dragMode, SolverModes solverMode)
 {
     Force      = force;
     Mass       = mass;
     Drag       = drag;
     DragMode   = dragMode;
     SolverMode = solverMode;
 }
Пример #5
0
        internal void DragWindow(ref Event Event, DragModes Mode)
        {
            Rect  Limits;
            Point Min, Max;

            Limits = Owner.Owner.GetExtent();
            Owner.SizeLimits(out Min, out Max);
            Owner.DragView(Event, Owner.DragMode | Mode, Limits, Min, Max);
            ClearEvent(ref Event);
        }
Пример #6
0
 public void toggleDragMode()
 {
     m_dragMode = m_dragMode == DragModes.Selection ? DragModes.Move : DragModes.Selection;
     Console.WriteLine("drag mode changed to " + m_dragMode);
 }
Пример #7
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="force"></param>
 /// <param name="mass"></param>
 /// <param name="drag"></param>
 /// <param name="dragMode">Drag代表的含义,Velocity表示drag=acc/v;SqrVelocity表示drag=acc/v^2</param>
 /// <param name="solverMode">Solver的模式,Interation表示使用迭代模拟,与Unity3d较为符合;EquationSolution表示使用运动微分方程的解,更接近理论值</param>
 public RigidbodySolver(Vector3 force, float mass, float drag, DragModes dragMode, SolverModes solverMode)
 {
     InitProperty(force, mass, drag, dragMode, solverMode);
 }