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 }
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(); }
extern internal void CaptureMouse(jQueryEvent mouseEvent, MouseCaptureHandler h);