Beispiel #1
0
    internal MouseCallbackEventArgs(IntPtr pRhinoView, int button, int x, int y)
    {
      //const int btnNone = 0;
      const int btnLeft = 1;
      const int btnRight = 2;
      const int btnMiddle = 3;
      const int btnX = 4;

      m_pRhinoView = pRhinoView;
      switch (button)
      {
        case btnLeft:
          m_button = System.Windows.Forms.MouseButtons.Left;
          break;
        case btnMiddle:
          m_button = System.Windows.Forms.MouseButtons.Middle;
          break;
        case btnRight:
          m_button = System.Windows.Forms.MouseButtons.Right;
          break;
        case btnX:
          m_button = System.Windows.Forms.MouseButtons.XButton1;
          break;
        default: // or btnNone
          m_button = System.Windows.Forms.MouseButtons.None;
          break;
      }
      m_point = new System.Drawing.Point(x, y);
    }
 /// <summary>
 /// A comprehensive mouse event, specifying the usual mouse event argument parameters, except using float coordinates
 /// </summary>
 /// <param name="x">The float x coordinate</param>
 /// <param name="y">The float y coordinate</param>
 /// <param name="z">The float z coordinate</param>
 /// <param name="buttons">The button conditions for the mouse event</param>
 /// <param name="clicks">The integer number of clicks</param>
 /// <param name="delta">The delta for mouse scrolling</param>
 public MouseCoordinateF(float x, float y, float z, int clicks, System.Windows.Forms.MouseButtons buttons, int delta)
 {
     _X = x;
     _Y = y;
     _Z = z;
     _buttons = buttons;
     _Delta = delta;
     _clicks = clicks;
 }
        public MouseEventArgs(Camera camera, Vector2 mouseViewportCoordinates, Vector3 mouseWorldCoordinates, 
            System.Windows.Forms.MouseButtons button)
        {
            // Project the mouse coordinates into world-space at the far z-plane
            var distantWorldPoint = Maths.Project(camera.ViewMatrix, camera.ProjectionMatrix,
                new Vector3(mouseViewportCoordinates.X, mouseViewportCoordinates.Y, 1f),
                (Rectangle)camera.Viewport).Xyz;

            // Produce a ray originating at the camera and pointing towards the distant world point^
            this.ScreenCoordinates = mouseViewportCoordinates;
            this.MouseRay = new Ray(camera.Position, distantWorldPoint);
            this.MouseRayFarPoint = (distantWorldPoint - camera.Position).Length;
            this.Button = button;
            this.WorldCoordinates = mouseWorldCoordinates;
        }
Beispiel #4
0
        public static System.Windows.Forms.MouseEventArgs ToWinFormArgs(Gdk.EventButton e, int x, int y)
        {
            System.Windows.Forms.MouseButtons buttons = System.Windows.Forms.MouseButtons.None;

            if (e.Button == 1)
            {
                buttons = System.Windows.Forms.MouseButtons.Left;
            }
            else if (e.Button == 2)
            {
                buttons = System.Windows.Forms.MouseButtons.Middle;
            }
            else if (e.Button == 3)
            {
                buttons = System.Windows.Forms.MouseButtons.Right;
            }

            return(new System.Windows.Forms.MouseEventArgs(buttons, 1, x, y, 0));
        }
Beispiel #5
0
        public static System.Windows.Forms.MouseEventArgs ToWinFormArgs(Gdk.EventMotion e, int x, int y)
        {
            System.Windows.Forms.MouseButtons buttons = System.Windows.Forms.MouseButtons.None;

            if ((e.State & Gdk.ModifierType.Button1Mask) != 0)
            {
                buttons |= System.Windows.Forms.MouseButtons.Left;
            }
            else if ((e.State & Gdk.ModifierType.Button2Mask) != 0)
            {
                buttons |= System.Windows.Forms.MouseButtons.Middle;
            }
            else if ((e.State & Gdk.ModifierType.Button3Mask) != 0)
            {
                buttons |= System.Windows.Forms.MouseButtons.Right;
            }

            return(new System.Windows.Forms.MouseEventArgs(buttons, 1, x, y, 0));
        }
Beispiel #6
0
        public static System.Windows.Forms.MouseButtons GetMouseButtons()
        {
            int macButtons = SendInt(clsNSEvent, selPressedMouseButtons);

            System.Windows.Forms.MouseButtons buttons = 0;
            if ((macButtons & 1) != 0)
            {
                buttons |= System.Windows.Forms.MouseButtons.Left;
            }
            if ((macButtons & 2) != 0)
            {
                buttons |= System.Windows.Forms.MouseButtons.Right;
            }
            if ((macButtons & 4) != 0)
            {
                buttons |= System.Windows.Forms.MouseButtons.Middle;
            }
            return(buttons);
        }
Beispiel #7
0
 public override bool handleUnselectedClick(System.Windows.Forms.MouseButtons button)
 {
     if (button == System.Windows.Forms.MouseButtons.Left)
     {
         return(hitTest(_level.controller.worldMouse, (results) =>
         {
             if (results.Count == 1 && results[0] == this)
             {
                 _selectedPoints.Add(_nodeA);
                 _selectedPoints.Add(_nodeB);
                 select();
                 return true;
             }
             else if (results.Count > 0)
             {
                 foreach (IActorComponent component in results)
                 {
                     if (component is PointListNode)
                     {
                         _selectedPoints.Add(component as PointListNode);
                     }
                 }
                 select();
                 return true;
             }
             return false;
         }));
     }
     else if (button == System.Windows.Forms.MouseButtons.Right)
     {
         return(hitTest(_level.controller.worldMouse, (results) =>
         {
             if (results.Count == 1)
             {
                 _level.controller.openActorProperties(results[0]);
                 return true;
             }
             return false;
         }));
     }
     return(false);
 }
 public override bool handleUnselectedClick(System.Windows.Forms.MouseButtons button)
 {
     if (button == System.Windows.Forms.MouseButtons.Left)
     {
         return(hitTest(_level.controller.worldMouse, (results) =>
         {
             select();
             return true;
         }));
     }
     else if (button == System.Windows.Forms.MouseButtons.Right)
     {
         return(hitTest(_level.controller.worldMouse, (results) =>
         {
             _level.controller.openActorProperties(this);
             return true;
         }));
     }
     return(false);
 }
Beispiel #9
0
        public static OpenTK.Input.MouseButton convert(System.Windows.Forms.MouseButtons button)
        {
            OpenTK.Input.MouseButton b = OpenTK.Input.MouseButton.LastButton;
            switch (button)
            {
            case System.Windows.Forms.MouseButtons.Left:
                b = OpenTK.Input.MouseButton.Left;
                break;

            case System.Windows.Forms.MouseButtons.Middle:
                b = OpenTK.Input.MouseButton.Middle;
                break;

            case System.Windows.Forms.MouseButtons.Right:
                b = OpenTK.Input.MouseButton.Right;
                break;
            }

            return(b);
        }
Beispiel #10
0
        public override void handleSelectedClick(System.Windows.Forms.MouseButtons button)
        {
            if (_selectedGateControls.Count == 1)
            {
                // Perform an actor hit test and form a connection if successful
                foreach (List <EditorActor> actors in _level.sortedActors.Values)
                {
                    foreach (EditorActor actor in actors)
                    {
                        if (actor.type != ActorType.Circuit)
                        {
                            bool connectionFormed = actor.hitTest(_selectedGateControls[0].position, (results) =>
                            {
                                if (results.Count > 0)
                                {
                                    if (_selectedGateControls[0].gate.type == "input")
                                    {
                                        _connections.Add(new CircuitInputConnection(this, actor, _selectedGateControls[0].gate, GameEventType.None));
                                    }
                                    else if (_selectedGateControls[0].gate.type == "output")
                                    {
                                        _connections.Add(new CircuitOutputConnection(this, actor, _selectedGateControls[0].gate, GameEventType.None, GameEventType.None));
                                    }

                                    _gateControls.Remove(_selectedGateControls[0]);
                                    return(true);
                                }
                                return(false);
                            });

                            if (connectionFormed)
                            {
                                deselect();
                                return;
                            }
                        }
                    }
                }
            }
            deselect();
        }
Beispiel #11
0
        private MouseButton ToMouseButton(System.Windows.Forms.MouseButtons button)
        {
            switch (button)
            {
            case System.Windows.Forms.MouseButtons.Left:
                return(MouseButton.Left);

            case System.Windows.Forms.MouseButtons.Right:
                return(MouseButton.Right);

            case System.Windows.Forms.MouseButtons.Middle:
                return(MouseButton.Middle);

            case System.Windows.Forms.MouseButtons.XButton1:
                return(MouseButton.XButton1);

            case System.Windows.Forms.MouseButtons.XButton2:
                return(MouseButton.XButton2);
            }
            throw new InvalidOperationException();
        }
        private static MouseButtons WinFormToTortus(System.Windows.Forms.MouseButtons button)
        {
            switch (button)
            {
            case System.Windows.Forms.MouseButtons.Left:
                return(MouseButtons.Left);

            case System.Windows.Forms.MouseButtons.Middle:
                return(MouseButtons.Middle);

            case System.Windows.Forms.MouseButtons.Right:
                return(MouseButtons.Right);

            case System.Windows.Forms.MouseButtons.XButton1:
                return(MouseButtons.X1);

            case System.Windows.Forms.MouseButtons.XButton2:
                return(MouseButtons.X2);
            }
            return(MouseButtons.None);
        }
Beispiel #13
0
        public static StateMouseButtons TranslateButton(System.Windows.Forms.MouseButtons mb)
        {
            switch (mb)
            {
            case System.Windows.Forms.MouseButtons.Left:
                return(StateMouseButtons.LButton);

            case System.Windows.Forms.MouseButtons.Middle:
                return(StateMouseButtons.MButton);

            case System.Windows.Forms.MouseButtons.Right:
                return(StateMouseButtons.RButton);

            case System.Windows.Forms.MouseButtons.XButton1:
                return(StateMouseButtons.xButton1);

            case System.Windows.Forms.MouseButtons.XButton2:
                return(StateMouseButtons.xButton2);
            }
            return(StateMouseButtons.LButton);
        }
        public override void handleSelectedClick(System.Windows.Forms.MouseButtons button)
        {
            if (_selectedPoints.Count == 1)
            {
                // Perform an actor hit test and form a connection if successful
                foreach (List <EditorActor> actors in _level.sortedActors.Values)
                {
                    foreach (EditorActor actor in actors)
                    {
                        if (actor.type == ActorType.Box || actor.type == ActorType.Circle || actor.type == ActorType.Terrain)
                        {
                            bool connectionFormed = actor.hitTest(_selectedPoints[0].position, (results) =>
                            {
                                if (results.Count > 0)
                                {
                                    if (_selectedPoints[0] == _nodeA)
                                    {
                                        _actorA = actor;
                                    }
                                    else if (_selectedPoints[0] == _nodeB)
                                    {
                                        _actorB = actor;
                                    }

                                    return(true);
                                }
                                return(false);
                            });

                            if (connectionFormed)
                            {
                                deselect();
                                return;
                            }
                        }
                    }
                }
            }
            deselect();
        }
Beispiel #15
0
 public override bool handleUnselectedClick(System.Windows.Forms.MouseButtons button)
 {
     if (button == System.Windows.Forms.MouseButtons.Left)
     {
         return(hitTest(_level.controller.worldMouse, (results) =>
         {
             if (results.Count > 0)
             {
                 if (results[0] is GateControl)
                 {
                     _selectedGateControls.Add(results[0] as GateControl);
                     _moveActor = false;
                     select();
                     return true;
                 }
                 else if (results[0] == this)
                 {
                     selectAllGateControls();
                     _moveActor = true;
                     select();
                     return true;
                 }
             }
             return false;
         }));
     }
     else if (button == System.Windows.Forms.MouseButtons.Right)
     {
         return(hitTest(_level.controller.worldMouse, (results) =>
         {
             if (results.Count > 0)
             {
                 _level.controller.openActorProperties(results[0]);
                 return true;
             }
             return false;
         }));
     }
     return(false);
 }
        public static MouseButton ToMouseButton(this System.Windows.Forms.MouseButtons mb)
        {
            switch (mb)
            {
            default:
            // TODO: report warning ?
            case System.Windows.Forms.MouseButtons.Left:
                return(MouseButton.Left);

            case System.Windows.Forms.MouseButtons.Middle:
                return(MouseButton.Middle);

            case System.Windows.Forms.MouseButtons.Right:
                return(MouseButton.Right);

            case System.Windows.Forms.MouseButtons.XButton1:
                return(MouseButton.X1);

            case System.Windows.Forms.MouseButtons.XButton2:
                return(MouseButton.X2);
            }
        }
Beispiel #17
0
 public override bool MouseClick(int x, int y, System.Windows.Forms.MouseButtons button)
 {
     if (this.Contains(x, y))
     {
         using (frmTxy txy = new frmTxy(this.txy))
         {
             if (txy.ShowDialog() == System.Windows.Forms.DialogResult.OK)
             {
                 if (txy.GetTxy > 0)
                 {
                     this.txy = txy.GetTxy;
                 }
                 else
                 {
                     this.txy = -1;
                 }
             }
         }
         return(true);
     }
     return(false);
 }
        protected override void ButtonUp(System.Windows.Forms.MouseButtons button, int x, int y)
        {
            NativeEnums.MouseEventFlags flag;
            switch (button)
            {
            case System.Windows.Forms.MouseButtons.Left:
                flag = NativeEnums.MouseEventFlags.LeftUp;
                break;

            case System.Windows.Forms.MouseButtons.Right:
                flag = NativeEnums.MouseEventFlags.RightUp;
                break;

            case System.Windows.Forms.MouseButtons.Middle:
                flag = NativeEnums.MouseEventFlags.MiddleUp;
                break;

            default:
                throw new NotImplementedException(button.ToString());
            }
            NativeMethods.mouse_event((uint)(flag | NativeEnums.MouseEventFlags.Absolute), (uint)NativeUtilities.CalculateAbsoluteCoordinateX(x), (uint)NativeUtilities.CalculateAbsoluteCoordinateY(y), 0, IntPtr.Zero);
        }
Beispiel #19
0
 public override bool MouseClick(int x, int y, System.Windows.Forms.MouseButtons button)
 {
     if (this.Contains(x, y))
     {
         using (frmYs ys = new frmYs(this.Content))
         {
             if (ys.ShowDialog() == System.Windows.Forms.DialogResult.OK)
             {
                 if (ys.GetStr == "无")
                 {
                     this.Content = "";
                 }
                 else
                 {
                     this.Content = ys.GetStr;
                 }
             }
         }
         return(true);
     }
     return(false);
 }
Beispiel #20
0
 public static void Shoot(System.Windows.Forms.MouseButtons mb, DCG.Resource.Position mp)
 {
     if (mb == System.Windows.Forms.MouseButtons.Left)
     {
         Actions.Draw.Line(new DCG.Resource.Position(ball.X, ball.Y), DCG.Actions.PositionOnConsole(mp));
         int    x     = Actions.PositionOnScreenX(ball.X);
         int    y     = Actions.PositionOnScreenY(ball.Y);
         double dy    = mp.Y - y;
         double dx    = mp.X - x;
         double angle = Math.Atan(dy / dx);
         Console.SetCursorPosition(0, 0);
         Console.WriteLine($"{dy}/{dx}");
         Console.WriteLine((int)(angle * 180 / Math.PI));
         GameEngine.CurrentScene.Objects.Add(
             new Projectile(
                 (2 * ball.X + ball.Sprite.Width) / 2,
                 (2 * ball.Y + ball.Sprite.Height) / 2,
                 angle
                 )
             );
     }
 }
Beispiel #21
0
        private void Instance_OnCaptureMouseActionOnly(object sender, System.Windows.Forms.MouseButtons e)
        {
            if (AppManager.Instance.Macro.IsDoubleClick)
            {
                switch (e)
                {
                case System.Windows.Forms.MouseButtons.Left:
                    AppManager.Instance.Settings.CurrentMouseAction = MouseActionType.DoubleClick;
                    break;

                case System.Windows.Forms.MouseButtons.Right:
                default:
                    AppManager.Instance.Settings.CurrentMouseAction = MouseActionType.Undefined;
                    break;
                }
            }
            else
            {
                switch (e)
                {
                case System.Windows.Forms.MouseButtons.Left:
                    AppManager.Instance.Settings.CurrentMouseAction = MouseActionType.LeftClick;
                    break;

                case System.Windows.Forms.MouseButtons.Right:
                    AppManager.Instance.Settings.CurrentMouseAction = MouseActionType.RightClick;
                    break;

                default:
                    AppManager.Instance.Settings.CurrentMouseAction = MouseActionType.Undefined;
                    break;
                }
            }

            AppManager.Instance.Settings.CurrentMousePosition = AppManager.Instance.Macro.MousePosition;

            AddMouseEventToActionList();
        }
Beispiel #22
0
 public override void handleSelectedClick(System.Windows.Forms.MouseButtons button)
 {
     // Continue drawing polygon if shift is held
     if (_level.controller.isKeyHeld(Keys.LeftShift) && _selectedPoints.Count == 1)
     {
         if (_selectedPoints[0] == _headPoint)
         {
             _headPoint = _headPoint.insertBefore(_level.controller.worldMouse);
             _selectedPoints.Clear();
             _selectedPoints.Add(_headPoint);
         }
         else if (_selectedPoints[0] == _headPoint.tail)
         {
             _headPoint.tail.insertAfter(_level.controller.worldMouse);
             _selectedPoints.Clear();
             _selectedPoints.Add(_headPoint.tail);
         }
     }
     else
     {
         deselect();
     }
 }
Beispiel #23
0
        private MouseButton ToOpenTK(System.Windows.Forms.MouseButtons button)
        {
            switch (button)
            {
            case System.Windows.Forms.MouseButtons.Left:
                return(MouseButton.Left);

            case System.Windows.Forms.MouseButtons.Middle:
                return(MouseButton.Middle);

            case System.Windows.Forms.MouseButtons.Right:
                return(MouseButton.Right);

            case System.Windows.Forms.MouseButtons.XButton1:
                return(MouseButton.Button1);

            case System.Windows.Forms.MouseButtons.XButton2:
                return(MouseButton.Button2);

            default:
                return(MouseButton.LastButton);
            }
        }
        int GetButtonCode(MouseEventArgs pArg)
        {
            int intButtonCode = -1;

            System.Windows.Forms.MouseButtons pButton = pArg.Button;

            switch (pButton.ToString())
            {
            case "Left":
                intButtonCode = 1;
                break;

            case "Right":
                intButtonCode = 2;
                break;

            case "Middle":
                intButtonCode = 4;
                break;
            }

            return(intButtonCode);
        }
Beispiel #25
0
 public override bool handleUnselectedClick(System.Windows.Forms.MouseButtons button)
 {
     if (button == System.Windows.Forms.MouseButtons.Left)
     {
         return(hitTest(_level.controller.worldMouse, (results) =>
         {
             if (results.Count == 1 && results[0] == this)
             {
                 if (_level.controller.isKeyHeld(Keys.LeftShift))
                 {
                     EditorBoxActor copy = (EditorBoxActor)clone();
                     copy.select();
                 }
                 else
                 {
                     Console.WriteLine(layerDepth);
                     select();
                 }
                 return true;
             }
             return false;
         }));
     }
     else if (button == System.Windows.Forms.MouseButtons.Right)
     {
         return(hitTest(_level.controller.worldMouse, (results) =>
         {
             if (results.Count == 1)
             {
                 _level.controller.openActorProperties(results[0]);
                 return true;
             }
             return false;
         }));
     }
     return(false);
 }
Beispiel #26
0
        public ManipulateResult TryManipulate(IEntityState _state, Point location, System.Windows.Forms.MouseButtons button, System.Windows.Forms.Keys modifiers)
        {
            State state = _state as State;

            if (state == null)
            {
                return(null);
            }

            ManipulateResult result  = new ManipulateResult();
            ManipulateParams mparams = new ManipulateParams();

            result.Params = mparams;

            if (button == System.Windows.Forms.MouseButtons.Right)
            {
                result.Target         = state;
                mparams.AbsoluteDrag  = true;
                mparams.Handle1Offset = new PointF(location.X - state.Handle1.X, location.Y - state.Handle1.Y);
                mparams.Handle2Offset = new PointF(location.X - state.Handle2.X, location.Y - state.Handle2.Y);
            }
            else
            {
                mparams.HandleGrabbed = state.HandleAtLocation(location);

                if (mparams.HandleGrabbed == -1)
                {
                    return(null);
                }

                result.Target        = state;
                mparams.AbsoluteDrag = false;
            }

            return(result);
        }
        protected override void ButtonUp(System.Windows.Forms.MouseButtons button, int x, int y)
        {
            InputMessage message;

            switch (button)
            {
            case System.Windows.Forms.MouseButtons.Left:
                message = InputMessage.WM_LBUTTONUP;
                break;

            case System.Windows.Forms.MouseButtons.Right:
                message = InputMessage.WM_RBUTTONUP;
                break;

            case System.Windows.Forms.MouseButtons.Middle:
                message = InputMessage.WM_MBUTTONUP;
                break;

            default:
                throw new NotImplementedException(button.ToString());
            }

            DispatchMessage(message, IntPtr.Zero, new IntPtr(StUtil.Native.Internal.NativeUtilities.MakeLParam(x, y)));
        }
 public static Uno.Platform.MouseButton ToUno(this System.Windows.Forms.MouseButtons buttons)
 {
     if (buttons.HasFlag(System.Windows.Forms.MouseButtons.Left))
     {
         return(Uno.Platform.MouseButton.Left);
     }
     if (buttons.HasFlag(System.Windows.Forms.MouseButtons.Right))
     {
         return(Uno.Platform.MouseButton.Right);
     }
     if (buttons.HasFlag(System.Windows.Forms.MouseButtons.Middle))
     {
         return(Uno.Platform.MouseButton.Middle);
     }
     if (buttons.HasFlag(System.Windows.Forms.MouseButtons.XButton1))
     {
         return(Uno.Platform.MouseButton.X1);
     }
     if (buttons.HasFlag(System.Windows.Forms.MouseButtons.XButton2))
     {
         return(Uno.Platform.MouseButton.X2);
     }
     return(0);
 }
Beispiel #29
0
 public override void handleSelectedClick(System.Windows.Forms.MouseButtons button)
 {
     if ((_selectedConnectionA || _selectedConnectionB) && !_moveActor)
     {
         foreach (List <EditorActor> actors in _level.sortedActors.Values)
         {
             foreach (EditorActor actor in actors)
             {
                 if (actor.type == ActorType.Box || actor.type == ActorType.Circle || actor.type == ActorType.Terrain)
                 {
                     PointListNode connectionControl = _selectedConnectionA ? _connectionA : _connectionB;
                     if (actor.hitTest(connectionControl.position, (results) =>
                     {
                         if (results.Count > 0)
                         {
                             if (_selectedConnectionA)
                             {
                                 _actorA = actor;
                             }
                             else
                             {
                                 _actorB = actor;
                             }
                             return(true);
                         }
                         return(false);
                     }))
                     {
                         break;
                     }
                 }
             }
         }
     }
     deselect();
 }
Beispiel #30
0
 public ManipulateResult TryManipulate(IEntityState _state, Point location, System.Windows.Forms.MouseButtons button, System.Windows.Forms.Keys modifiers, bool fromEditor)
 {
     return(TryManipulate(_state, location, button, modifiers));
 }
 public override void MouseUp(float x, float y, System.Windows.Forms.MouseButtons button)
 {
 }
Beispiel #32
0
 public override void MouseUp(float x, float y, System.Windows.Forms.MouseButtons button)
 {
     MouseClass.setMouse(x, y, button, false);
 }
Beispiel #33
0
 public virtual void mouseButtonChanged(System.Windows.Forms.MouseButtons btn, bool newState)
 {
 }
 /// <summary>
 /// Converts WfMouseButtons to AtfMouseButtons</summary>
 /// <param name="buttons">WfMouseButtons</param>
 /// <returns>AtfMouseButtons</returns>
 public static AtfMouseButtons ToAtf(WfMouseButtons buttons) { return (AtfMouseButtons)buttons; }
Beispiel #35
0
 public MouseEventArgs(Point point, System.Windows.Forms.MouseButtons button, int wheel) {
     gPoint = point;
     gButton = button;
     gnWheel = wheel;
 }
 /// <summary>
 /// Constructor with WfMouseButtons and event data</summary>
 /// <param name="button">WfMouseButtons button clicked</param>
 /// <param name="clicks">Number of times button was pressed and released</param>
 /// <param name="x">X-coordinate of mouse click</param>
 /// <param name="y">Y-coordinate of mouse click</param>
 /// <param name="delta">Signed count of the number of detents the mouse wheel has rotated</param>
 public MouseEventArgsInterop(WfMouseButtons button, int clicks, int x, int y, int delta)
     : this(MouseButtonsInterop.ToAtf(button), clicks, x, y, delta) { }
 /// <summary>
 /// Constructor with WfMouseButtons</summary>
 /// <param name="buttons">WfMouseButtons</param>
 public MouseButtonsInterop(WfMouseButtons buttons)
 {
     Value = (int)buttons;
     ValueType = SupportedTypes.WinForms;
 }
Beispiel #38
0
		public void OnMouseDown(View3D view, Vector2 mousePosition, System.Windows.Forms.MouseButtons mouseButtons, out bool shouldUpdate)
		{
			Vector2 mousePositionCorrected = mousePosition + view.ViewportOffset; // new Vector2(view.Viewport.X, view.Viewport.Y);

			shouldUpdate = false;

			UiControl foundTopMost = null;

			foreach (UiControl control in Controls)
			{
				UiControl found = null;

				if (control.IsVisible == true)
				{
					control.BeginPick(mousePositionCorrected, out found);
				}

				if (found != null)
				{
					if (foundTopMost == null)
					{
						foundTopMost = found;
					}
					else if (foundTopMost.ZIndex < found.ZIndex)
					{
						foundTopMost = found;
					}
				}
			}

			if (m_Focused != null && foundTopMost != null)
			{
				if (m_Focused != foundTopMost)
				{
					m_Focused.EndPick(mousePositionCorrected, PickType.UnFocus, foundTopMost);

					if (m_Focused is UiSubScene)
					{
						(m_Focused as UiSubScene).UnfocusControls();
					}

					m_Focused = foundTopMost;

					m_Focused.EndPick(mousePositionCorrected, PickType.Focus, m_Focused);

					shouldUpdate = true;
				}
			}
			else if (foundTopMost != null)
			{
				m_Focused = foundTopMost;

				m_Focused.EndPick(mousePositionCorrected, PickType.Focus, m_Focused);

				shouldUpdate = true;
			}
			else if (m_Focused != null && foundTopMost == null)
			{
				m_Focused.EndPick(mousePositionCorrected, PickType.UnFocus, null);

				if (m_Focused is UiSubScene)
				{
					(m_Focused as UiSubScene).UnfocusControls();
				}

				m_Focused = null;

				shouldUpdate = true;
			}

			if (m_Focused != null)
			{
				if (m_Focused is UiSubScene)
				{
					bool shouldSubUpdate;					
					(m_Focused as UiSubScene).OnMouseDown(view, mousePosition, mouseButtons, out shouldSubUpdate);

					m_MouseState = MouseState.Hovering;
					m_MouseButtons = System.Windows.Forms.MouseButtons.None;
				}
				else
				{
					if ((m_Focused.InteractionType & ControlInteractionType.Drag) == ControlInteractionType.Drag)
					{
						m_MouseState = MouseState.DragStart;
						m_MouseButtons = mouseButtons;

						m_Focused.DoMouseInteraction(m_MouseState, m_MouseButtons, mousePositionCorrected, out shouldUpdate);
					}
					else if ((m_Focused.InteractionType & ControlInteractionType.Click) == ControlInteractionType.Click)
					{
						m_MouseState = MouseState.ClickStart;
						m_MouseButtons = mouseButtons;
						m_Control_ClickStart = m_Focused;

						m_Focused.DoMouseInteraction(m_MouseState, m_MouseButtons, mousePositionCorrected, out shouldUpdate);
					}
					else
					{
						m_MouseState = MouseState.Hovering;
						m_MouseButtons = System.Windows.Forms.MouseButtons.None;

						m_Focused.DoMouseInteraction(m_MouseState, m_MouseButtons, mousePositionCorrected, out shouldUpdate);
					}
				}
			}
			else
			{
				m_MouseState = MouseState.None;
				m_MouseButtons = System.Windows.Forms.MouseButtons.None;
				m_Control_ClickStart = null;
			}
		}
Beispiel #39
0
		public void UnhoverControls()
		{
			if (m_Hovered != null)
			{
				m_Hovered.EndPick(new Vector2(-1, -1), PickType.UnHover, null);

				if (m_Hovered is UiSubScene)
				{
					(m_Hovered as UiSubScene).UnhoverControls();
				}

				m_Hovered = null;

				m_MouseState = MouseState.None;

				m_MouseButtons = System.Windows.Forms.MouseButtons.None;

				m_HasBeenInvalidated = true;
			}
		}
		private void InitMouseList(ListWrapper lst, string controlName, MouseButtons buttons)
		{
			ListRow r = lst.Add();
			r[MouseList.Name][0] = controlName;
			r[MouseList.Left][0] = (buttons & MouseButtons.Left) != 0;
			r[MouseList.Middle][0] = (buttons & MouseButtons.Middle) != 0;
			r[MouseList.Right][0] = (buttons & MouseButtons.Right) != 0;
			r[MouseList.X1][0] = (buttons & MouseButtons.XButton1) != 0;
			r[MouseList.X2][0] = (buttons & MouseButtons.XButton2) != 0;
		}
Beispiel #41
0
 public bool GetMouseButtonUp(MouseButtons b)
 {
     return GetInputUp(mouseDic[b], MOUSE_INDEX_START, MOUSE_INDEX_END);
 }
Beispiel #42
0
 public SelectedEventArgs(System.Windows.Forms.MouseButtons button,int x,int y,int index,string name)
 {
     this._Index = index;
     this._Name = name;
     this._Button = button;
     this._X = x;
     this._Y = y;
 }