public void handleEvent(Event e) { DOMMouseEvent evt = (DOMMouseEvent) e; DOMMouseEvent newMouseEvent = (DOMMouseEvent) // DOM Level 2 6.5 cast from Document to DocumentEvent is ok ((DocumentEvent)imgElement.getOwnerDocument()).createEvent("MouseEvents"); newMouseEvent.initMouseEventNS (XMLConstants.XML_EVENTS_NAMESPACE_URI, evt.getType(), evt.getBubbles(), evt.getCancelable(), evt.getView(), evt.getDetail(), evt.getScreenX(), evt.getScreenY(), evt.getClientX(), evt.getClientY(), evt.getButton(), (EventTarget)imgElement, evt.getModifiersString()); ((EventTarget)imgElement).dispatchEvent(newMouseEvent); } }
/** * Creates a new Event object. */ public Event createEvent() { return new DOMMouseEvent(); } }
/** * Get the current input mode, on each mouse event. * * @param evt Mouse event. * @return Input mode */ private Mode getInputMode(Event evt) { if(evt instanceof DOMMouseEvent) { DOMMouseEvent domme = (DOMMouseEvent) evt; // TODO: visual indication ofF mode possible? return domme.getShiftKey() ? Mode.ADD : domme.getCtrlKey() ? Mode.INVERT : Mode.REPLACE; } // Default mode is replace. return Mode.REPLACE; }
/** * Convert the coordinates of an DOM Event from screen into element * coordinates. * * @param doc Document context * @param tag Element containing the coordinate system * @param evt Event to interpret * @return coordinates */ public static SVGPoint elementCoordinatesFromEvent(Document doc, Element tag, Event evt) { try { DOMMouseEvent gnme = (DOMMouseEvent) evt; SVGMatrix mat = ((SVGLocatable) tag).getScreenCTM(); SVGMatrix imat = mat.inverse(); SVGPoint cPt = ((SVGDocument) doc).getRootElement().createSVGPoint(); cPt.setX(gnme.getClientX()); cPt.setY(gnme.getClientY()); return cPt.matrixTransform(imat); } catch(Exception e) { LoggingUtil.warning("Error getting coordinates from SVG event.", e); return null; } }
/** * Convert the coordinates of an DOM Event from screen into element * coordinates. * * @param doc Document context * @param tag Element containing the coordinate system * @param evt Event to interpret * @return coordinates */ public static SVGPoint elementCoordinatesFromEvent(Document doc, Element tag, Event evt) { try { DOMMouseEvent gnme = (DOMMouseEvent) evt; SVGMatrix mat = ((SVGLocatable) tag).getScreenCTM(); SVGMatrix imat = mat.inverse(); SVGPoint cPt = ((SVGDocument) doc).getRootElement().createSVGPoint(); cPt.setX(gnme.getClientX()); cPt.setY(gnme.getClientY()); return cPt.matrixTransform(imat); } catch(Exception e) { LoggingUtil.warning("Error getting coordinates from SVG event.", e); return null; } }
public void handleEvent(Event e) { DOMMouseEvent evt = (DOMMouseEvent) e; DOMMouseEvent newMouseEvent = (DOMMouseEvent) // DOM Level 2 6.5 cast from Document to DocumentEvent is ok ((DocumentEvent)imgElement.getOwnerDocument()).createEvent("MouseEvents"); newMouseEvent.initMouseEventNS (XMLConstants.XML_EVENTS_NAMESPACE_URI, evt.getType(), evt.getBubbles(), evt.getCancelable(), evt.getView(), evt.getDetail(), evt.getScreenX(), evt.getScreenY(), evt.getClientX(), evt.getClientY(), evt.getButton(), (EventTarget)imgElement, evt.getModifiersString()); ((EventTarget)imgElement).dispatchEvent(newMouseEvent); } }
/** * Get the relative coordinates of a point within the coordinate system of a * particular SVG Element. * * @param evt Event, needs to be a DOMMouseEvent * @param reference SVG Element the coordinate system is used of * @return Array containing the X and Y values */ public static double[] getRelativeCoordinates(Event evt, Element reference) { if(evt instanceof DOMMouseEvent && reference instanceof SVGLocatable && reference instanceof SVGElement) { // Get the screen (pixel!) coordinates DOMMouseEvent gnme = (DOMMouseEvent) evt; SVGMatrix mat = ((SVGLocatable) reference).getScreenCTM(); SVGMatrix imat = mat.inverse(); SVGPoint cPt = ((SVGElement) reference).getOwnerSVGElement().createSVGPoint(); cPt.setX(gnme.getClientX()); cPt.setY(gnme.getClientY()); // Have Batik transform the screen (pixel!) coordinates into SVG element // coordinates cPt = cPt.matrixTransform(imat); return new double[] { cPt.getX(), cPt.getY() }; } return null; }
/** * Get the current input mode, on each mouse event. * * @param evt Mouse event. * @return current input mode */ private Mode getInputMode(Event evt) { if(evt instanceof DOMMouseEvent) { DOMMouseEvent domme = (DOMMouseEvent) evt; // TODO: visual indication of mode possible? return domme.getShiftKey() ? Mode.ADD : domme.getCtrlKey() ? Mode.INVERT : Mode.REPLACE; } // Default mode is replace. return Mode.REPLACE; }
/** * Creates a new Event object. */ public Event createEvent() { return new DOMMouseEvent(); } }
public void handleEvent(Event e) { DOMMouseEvent evt = (DOMMouseEvent) e; DOMMouseEvent newMouseEvent = (DOMMouseEvent) // DOM Level 2 6.5 cast from Document to DocumentEvent is ok ((DocumentEvent)imgElement.getOwnerDocument()).createEvent("MouseEvents"); newMouseEvent.initMouseEventNS (XMLConstants.XML_EVENTS_NAMESPACE_URI, evt.getType(), evt.getBubbles(), evt.getCancelable(), evt.getView(), evt.getDetail(), evt.getScreenX(), evt.getScreenY(), evt.getClientX(), evt.getClientY(), evt.getButton(), (EventTarget)imgElement, evt.getModifiersString()); ((EventTarget)imgElement).dispatchEvent(newMouseEvent); } }
/** * Get the relative coordinates of a point within the coordinate system of a * particular SVG Element. * * @param evt Event, needs to be a DOMMouseEvent * @param reference SVG Element the coordinate system is used of * @return Array containing the X and Y values */ public static double[] getRelativeCoordinates(Event evt, Element reference) { if(evt instanceof DOMMouseEvent && reference instanceof SVGLocatable && reference instanceof SVGElement) { // Get the screen (pixel!) coordinates DOMMouseEvent gnme = (DOMMouseEvent) evt; SVGMatrix mat = ((SVGLocatable) reference).getScreenCTM(); SVGMatrix imat = mat.inverse(); SVGPoint cPt = ((SVGElement) reference).getOwnerSVGElement().createSVGPoint(); cPt.setX(gnme.getClientX()); cPt.setY(gnme.getClientY()); // Have Batik transform the screen (pixel!) coordinates into SVG element // coordinates cPt = cPt.matrixTransform(imat); return new double[] { cPt.getX(), cPt.getY() }; } return null; }
/** * Get the current input mode, on each mouse event. * * @param evt Mouse event. * @return current input mode */ private Mode getInputMode(Event evt) { if(evt instanceof DOMMouseEvent) { DOMMouseEvent domme = (DOMMouseEvent) evt; // TODO: visual indication of mode possible? return domme.getShiftKey() ? Mode.ADD : domme.getCtrlKey() ? Mode.INVERT : Mode.REPLACE; } // Default mode is replace. return Mode.REPLACE; }
/** * Creates a new Event object. */ public Event createEvent() { return new DOMMouseEvent(); } }
/** * Get the current input mode, on each mouse event. * * @param evt Mouse event. * @return current input mode */ private Mode getInputMode(Event evt) { if(evt instanceof DOMMouseEvent) { DOMMouseEvent domme = (DOMMouseEvent) evt; // TODO: visual indication of mode possible? if(domme.getShiftKey()) { return Mode.ADD; } else if(domme.getCtrlKey()) { return Mode.INVERT; } else { return Mode.REPLACE; } } // Default mode is replace. return Mode.REPLACE; }
/** * Get the current input mode, on each mouse event. * * @param evt Mouse event. * @return current input mode */ private Mode getInputMode(Event evt) { if(evt instanceof DOMMouseEvent) { DOMMouseEvent domme = (DOMMouseEvent) evt; // TODO: visual indication of mode possible? if(domme.getShiftKey()) { return Mode.ADD; } else if(domme.getCtrlKey()) { return Mode.INVERT; } else { return Mode.REPLACE; } } // Default mode is replace. return Mode.REPLACE; }
/** * Get the current input mode, on each mouse event. * * @param evt Mouse event. * @return Input mode */ private Mode getInputMode(Event evt) { if(evt instanceof DOMMouseEvent) { DOMMouseEvent domme = (DOMMouseEvent) evt; // TODO: visual indication of mode possible? if(domme.getShiftKey()) { return Mode.ADD; } else if(domme.getCtrlKey()) { return Mode.INVERT; } else { return Mode.REPLACE; } } // Default mode is replace. return Mode.REPLACE; }