Beispiel #1
0
        //
        void ITopWindowEventRoot.RootMouseDown(int x, int y, UIMouseButtons button)
        {
            _prevLogicalMouseX = x;
            _prevLogicalMouseY = y;
            _isMouseDown       = true;
            _isDragging        = false;
            UIMouseEventArgs e = GetFreeMouseEvent();

            SetUIMouseEventArgsInfo(e, x, y, button, 0);
            //
            e.Shift = _lastKeydownWithShift;
            e.Alt   = _lastKeydownWithAlt;
            e.Ctrl  = _lastKeydownWithControl;
            //
            e.PreviousMouseDown = _latestMouseDown;
            //
            _iTopBoxEventPortal.PortalMouseDown(e);
            //
            _currentMouseActiveElement = _latestMouseDown = e.CurrentContextElement;
            _localMouseDownX           = e.X;
            _localMouseDownY           = e.Y;
            if (e.DraggingElement != null)
            {
                if (e.DraggingElement != e.CurrentContextElement)
                {
                    //change captured element

                    e.DraggingElement.GetGlobalLocation(out int globalX, out int globalY);
                    //find new capture pos
                    _localMouseDownX = e.GlobalX - globalX;
                    _localMouseDownY = e.GlobalY - globalY;
                }
                _draggingElement = e.DraggingElement;
            }
            else
            {
                if (_currentMouseActiveElement != null &&
                    !_currentMouseActiveElement.BypassAllMouseEvents)
                {
                    _draggingElement = _currentMouseActiveElement;
                }
            }


            _mouseCursorStyle = e.MouseCursorStyle;
            ReleaseMouseEvent(e);
        }
Beispiel #2
0
        void ITopWindowEventRoot.RootMouseDown(int x, int y, UIMouseButtons button)
        {
            this.prevLogicalMouseX = x;
            this.prevLogicalMouseY = y;
            this.isMouseDown       = true;
            this.isDragging        = false;
            UIMouseEventArgs e = GetFreeMouseEvent();

            SetUIMouseEventArgsInfo(e, x, y, button, 0);
            //
            e.Shift = lastKeydownWithShift;
            e.Alt   = lastKeydownWithAlt;
            e.Ctrl  = lastKeydownWithControl;
            //
            e.PreviousMouseDown = this.latestMouseDown;
            //
            iTopBoxEventPortal.PortalMouseDown(e);
            //
            this.currentMouseActiveElement = this.latestMouseDown = e.CurrentContextElement;
            this.localMouseDownX           = e.X;
            this.localMouseDownY           = e.Y;
            if (e.DraggingElement != null)
            {
                if (e.DraggingElement != e.CurrentContextElement)
                {
                    //change captured element
                    int globalX, globalY;
                    e.DraggingElement.GetGlobalLocation(out globalX, out globalY);
                    //find new capture pos
                    this.localMouseDownX = e.GlobalX - globalX;
                    this.localMouseDownY = e.GlobalY - globalY;
                }
                this.draggingElement = e.DraggingElement;
            }
            else
            {
                this.draggingElement = this.currentMouseActiveElement;
            }


            this.mouseCursorStyle = e.MouseCursorStyle;
            ReleaseMouseEvent(e);
        }