class MapMouseEvent extends MouseEvent {

    public ReferencedEnvelope getEnvelopeByPixels(double widthPixels) {
        if (widthPixels < 0) {
            throw new IllegalArgumentException("invalid value for widthPixels: " + widthPixels);
        }
        
        Rectangle2D screenRect = new Rectangle2D.Double(
                getX() - (widthPixels / 2),
                getY() - (widthPixels / 2),
                widthPixels, widthPixels);
        
        MapPane pane = getSource();
        Rectangle2D worldRect = pane.getScreenToWorldTransform().createTransformedShape(
                screenRect).getBounds2D();
        
        return new ReferencedEnvelope(worldRect, 
                pane.getMapContent().getCoordinateReferenceSystem());
    }

    public  MapMouseEvent(MapPane pane, MouseEvent event);
    public  MapMouseEvent(MapPane pane, MouseWheelEvent event);

}