コード例 #1
0
        internal void CaptureMouse(jQueryEvent mouseEvent, MouseCaptureHandler h, string cssMouseCursor)
        {
            // coalesce cursor to null if undefined.
            cssMouseCursor = cssMouseCursor ?? null;

            if (_mouseCaptureHandler != null)
            {
#if DEBUG
                throw new Exception("Mouse already being captured.");
#else
                return;
#endif
            }
#if DEBUG
            if (h == null || mouseEvent == null)
            {
                throw new Exception("Argument(s) were null.");
            }
            if (mouseEvent.Type != "mousedown"
                && mouseEvent.Type != "mousemove")
            {
                throw new Exception("Event must be a 'mousedown' or 'mousemove' type.");
            }
#endif

            // invoke begin
            {
                jQueryPosition pos = MakeJQueryPosition(mouseEvent.PageX, mouseEvent.PageY);
                h(MouseCaptureState.Begin, pos);
            }

            // save
            _mouseCaptureHandler = h;

            // set barrier cursor
            {
                _jqMouseCaptureGlassBarrier.CSS("cursor", cssMouseCursor ?? "");
            }

            // turn on barrier
#if !DEBUG_MOUSE_CAPTURE
            _jqMouseCaptureGlassBarrier.Show();
#else
            _jqMouseCaptureGlassBarrier.FadeTo(0, 0.25f);
#endif

        }
コード例 #2
0
 private static void OnMouseUpDocument(jQueryEvent e)
 {
     if (_mouseCaptureHandler == null)
     {
         return;
     }
     _mouseCaptureHandler(MouseCaptureState.End, MakeJQueryPosition(e.PageX, e.PageY));
     _mouseCaptureHandler = null;
     e.PreventDefault();
     e.StopPropagation();
     _jqMouseCaptureGlassBarrier.Hide();
 }
コード例 #3
0
 extern internal void CaptureMouse(jQueryEvent mouseEvent, MouseCaptureHandler h);