コード例 #1
0
ファイル: MDIWindow.cs プロジェクト: AnomalousMedical/Engine
 protected void fireMouseDrag(MouseEventArgs me)
 {
     if (MouseDrag != null)
     {
         MouseDrag.Invoke(this, me.Position.x, me.Position.y);
     }
 }
コード例 #2
0
 void button_MouseDrag(Widget source, EventArgs e)
 {
     if (MouseDrag != null)
     {
         MouseDrag.Invoke(this, (MouseEventArgs)e);
     }
 }
        private void CheckMouseDragged(Func <MouseState, ButtonState> getButtonState, MouseButton button)
        {
            if ((getButtonState(_currentState) == ButtonState.Pressed) &&
                (getButtonState(_previousState) == ButtonState.Pressed))
            {
                var args = new MouseEventArgs(ViewportAdapter, _gameTime.TotalGameTime, _previousState, _currentState, button);

                if (_mouseDownArgs.Button == args.Button)
                {
                    if (_dragging)
                    {
                        MouseDrag?.Invoke(this, args);
                    }
                    else
                    {
                        // Only start to drag based on DragThreshold
                        var clickMovement = DistanceBetween(args.Position, _mouseDownArgs.Position);

                        if (clickMovement > DragThreshold)
                        {
                            _dragging = true;
                            MouseDragStart?.Invoke(this, args);
                        }
                    }
                }
            }
        }
コード例 #4
0
 public DisplayPanelBox(PictureBox pBox, VScrollBar vs, HScrollBar hs)
 {
     pictureBox            = pBox;
     pictureBox.MouseDown += (s, e) =>
     {
         clicking = true;
         MouseDown.Invoke(e);
     };
     pictureBox.MouseMove += (s, e) =>
     {
         if (clicking)
         {
             MouseDrag.Invoke(e);
         }
         else
         {
             MouseMove.Invoke(e);
         }
     };
     pictureBox.MouseUp += (s, e) =>
     {
         clicking = false;
         MouseUp.Invoke(e);
     };
     vScroll = vs;
     hScroll = hs;
 }
コード例 #5
0
        private void _mouseListener_MouseDrag(object sender, MouseEventArgs e)
        {
            _scene?.FireMouseDrag(e);
            MouseDrag?.Invoke(sender, e);
#if DEBUG
            Logger.Log("Mouse drag.");
#endif
        }
コード例 #6
0
 private void OnMouseUp()
 {
     if (Time.unscaledTime - _startTime > _timeout &&
         (Input.mousePosition - _startPos).sqrMagnitude > _deadZone * _deadZone)
     {
         MouseDrag?.Invoke(_startPos, Input.mousePosition);
     }
     _mouseService.MouseUp   -= OnMouseUp;
     _mouseService.MouseDown += OnMouseDown;
 }
コード例 #7
0
 void IEventListener.ListenMouseMove(UIMouseMoveEventArgs e)
 {
     if (e.IsDragging)
     {
         MouseDrag?.Invoke(this, e);
     }
     else
     {
         MouseMove?.Invoke(this, e);
     }
 }
コード例 #8
0
        public virtual void Update(Game context)
        {
            #region Fire Mouse Events
            int mouseX = context.MouseX;
            int mouseY = context.MouseY;

            if ((mouseX != mouseLastX || mouseY != mouseLastY) && PointWithin(mouseX, mouseY, TopLeft, BottomRight))
            {
                MouseMove?.Invoke(mouseX, mouseY);
                if (context.GetMouse(Mouse.Any).Down)
                {
                    for (int i = 0; i < 3; i++)
                    {
                        Mouse current = (Mouse)i;
                        if (context.GetMouse(current).Down)
                        {
                            MouseDrag?.Invoke(mouseX, mouseY, current);
                        }
                    }
                }
            }
            mouseLastX = mouseX;
            mouseLastY = mouseY;

            for (int i = 0; i < 3; i++)
            {
                Mouse current = (Mouse)i;
                if (context.GetMouse(current).Down)
                {
                    MouseDown?.Invoke(mouseX, mouseY, current);
                }
                if (context.GetMouse(current).Up)
                {
                    MouseUp?.Invoke(mouseX, mouseY, current);
                }
                if (context.GetMouse(current).Pressed)
                {
                    MousePress?.Invoke(mouseX, mouseY, current);
                }
            }
            #endregion Fire Mouse Events
        }
コード例 #9
0
 private void Panel_MouseMove(object sender, MouseEventArgs e)
 {
     mouseCurrentPos = e.Location;
     MouseDrag?.Invoke(mouseDownPos, mouseCurrentPos);
 }
コード例 #10
0
 protected virtual void OnMouseDrag(IMouseEventArgs e) =>
 MouseDrag?.Invoke(this, e);
コード例 #11
0
 private void Raise_MovedEvent(DragDeltaEventArgs eventArgs)
 {
     MouseDrag?.Invoke(_parentControl, eventArgs);
 }
コード例 #12
0
 private void OnMouseDrag()
 {
     MouseDrag?.Invoke(gameObject);
 }
コード例 #13
0
 internal void InvokeMouseDrag(S sender, T state, UIMouseMoveEventArgs e) => MouseDrag.Invoke(new SenderInfo(sender, state), e);
コード例 #14
0
        protected override bool HandleMessage(WidgetMessage message, Widget widget, IntPtr param1, IntPtr param2)
        {
            bool handled = false;

            switch (message)
            {
            case WidgetMessage.Create:
                Created?.Invoke(widget, param1 != default, ref handled);
                break;

            case WidgetMessage.Destroy:
                Destroyed?.Invoke(widget, param1 != default, ref handled);
                break;

            case WidgetMessage.Paint:
                Paint?.Invoke(widget, ref handled);
                break;

            case WidgetMessage.Draw:
                Draw?.Invoke(widget, ref handled);
                break;

            case WidgetMessage.KeyPress:
                KeyPressed?.Invoke(widget, ref AsRef <KeyState>(param1), ref handled);
                break;

            case WidgetMessage.KeyTakeFocus:
                TakingFocus?.Invoke(widget, param1 != default, ref handled);
                break;

            case WidgetMessage.KeyLoseFocus:
                LostFocus?.Invoke(widget, param1 != default, ref handled);
                break;

            case WidgetMessage.MouseDown:
                MouseDown?.Invoke(widget, ref AsRef <MouseState>(param1), ref handled);
                break;

            case WidgetMessage.MouseDrag:
                MouseDrag?.Invoke(widget, ref AsRef <MouseState>(param1), ref handled);
                break;

            case WidgetMessage.MouseUp:
                MouseUp?.Invoke(widget, ref AsRef <MouseState>(param1), ref handled);
                break;

            case WidgetMessage.Reshape:
                Reshape?.Invoke(widget, Widget.GetOrCreate(param1), ref AsRef <WidgetGeometryChange>(param2), ref handled);
                break;

            case WidgetMessage.ExposedChanged:
                ExposedChanged?.Invoke(widget, ref handled);
                break;

            case WidgetMessage.AcceptChild:
                ChildAdded?.Invoke(widget, Widget.GetOrCreate(param1), ref handled);
                break;

            case WidgetMessage.LoseChild:
                ChildRemoved?.Invoke(widget, Widget.GetOrCreate(param1), ref handled);
                break;

            case WidgetMessage.AcceptParent:
                ParentChanged?.Invoke(widget, param1 != default ? Widget.GetOrCreate(param1) : null, ref handled);
                break;

            case WidgetMessage.Shown:
                Shown?.Invoke(widget, Widget.GetOrCreate(param1), ref handled);
                break;

            case WidgetMessage.Hidden:
                Hidden?.Invoke(widget, Widget.GetOrCreate(param1), ref handled);
                break;

            case WidgetMessage.DescriptorChanged:
                DescriptorChanged?.Invoke(widget, ref handled);
                break;

            case WidgetMessage.PropertyChanged:
                PropertyChanged?.Invoke(widget, param1.ToInt32(), param2, ref handled);
                break;

            case WidgetMessage.MouseWheel:
                MouseWheel?.Invoke(widget, ref AsRef <MouseState>(param1), ref handled);
                break;

            case WidgetMessage.CursorAdjust:
                CursorAdjust?.Invoke(widget, ref AsRef <MouseState>(param1), ref AsRef <CursorStatus>(param2), ref handled);
                break;
            }
            return(handled);
        }
コード例 #15
0
ファイル: UITileViewer.cs プロジェクト: DJuttmann/SM3E
        private void TileViewer_MouseMove(object sender, MouseEventArgs e)
        {
            Point p    = e.GetPosition(MainGrid);
            int   newX = Convert.ToInt32(Math.Floor(p.X / TileSize));
            int   newY = Convert.ToInt32(Math.Floor(p.Y / TileSize));

            if (newX < 0 || newX >= ColCount || newY < 0 || newY >= RowCount)
            {
                if (!mouseDown)
                {
                    Selection.Visibility = Visibility.Hidden;
                }
                mouseOver = false;
                return;
            }
            Selection.Visibility = Visibility.Visible;
            mouseOver            = true;
            if (System.Windows.Input.Mouse.LeftButton != MouseButtonState.Pressed &&
                System.Windows.Input.Mouse.MiddleButton != MouseButtonState.Pressed &&
                System.Windows.Input.Mouse.RightButton != MouseButtonState.Pressed)
            {
                mouseDown = false;
                panning   = false;
            }
            TileOverX = newX;
            TileOverY = newY;
            OverX     = p.X / TileSize;
            OverY     = p.Y / TileSize;

            if (panning)
            {
                Point q = e.GetPosition(Parent);
                Parent.ScrollToHorizontalOffset(PanningOriginX + PanningStartX - q.X);
                Parent.ScrollToVerticalOffset(PanningOriginY + PanningStartY - q.Y);
            }
            else if (mouseDown)
            {
                Selection.SetValue(Grid.RowProperty, Math.Min(TileOverY, TileClickY));
                Selection.SetValue(Grid.ColumnProperty, Math.Min(TileOverX, TileClickX));
                Selection.SetValue(Grid.RowSpanProperty, Math.Abs(TileOverY - TileClickY) + 1);
                Selection.SetValue(Grid.ColumnSpanProperty, Math.Abs(TileOverX - TileClickX) + 1);

                var a = new TileViewerMouseEventArgs()
                {
                    TileClickX = TileClickX,
                    TileClickY = TileClickY,
                    PosTileX   = TileOverX,
                    PosTileY   = TileOverY,
                    ClickX     = ClickX,
                    ClickY     = ClickY,
                    PosX       = OverX,
                    PosY       = OverY
                };
                MouseDrag?.Invoke(this, a);
            }
            else
            {
                Selection.SetValue(Grid.RowProperty, TileOverY);
                Selection.SetValue(Grid.ColumnProperty, TileOverX);
                Selection.SetValue(Grid.RowSpanProperty, 1);
                Selection.SetValue(Grid.ColumnSpanProperty, 1);
            }
        }
コード例 #16
0
 protected virtual void OnMouseDrag(object sender, Rectangle e)
 {
     MouseDrag?.Invoke(sender, e);
 }
コード例 #17
0
 internal void FireMouseDrag(MouseEventArgs e)
 {
     OnMouseDrag(e);
     MouseDrag?.Invoke(this, e);
 }
コード例 #18
0
 protected void RaiseMouseDrag(object sender, UIMouseEventArgs e)
 {
     MouseDrag?.Invoke(sender, e);
 }