Search in sources :

Example 11 with Cursor

use of javafx.scene.Cursor in project qupath by qupath.

the class MoveTool method mouseMoved.

@Override
public void mouseMoved(MouseEvent e) {
    super.mouseMoved(e);
    // We don't want to change a waiting cursor unnecessarily
    var viewer = getViewer();
    Cursor cursorType = viewer.getCursor();
    if (cursorType == Cursor.WAIT)
        return;
    // If we are already translating, we must need a move cursor
    if (viewer.getROIEditor().isTranslating()) {
        if (cursorType != Cursor.MOVE)
            viewer.setCursor(Cursor.MOVE);
        return;
    }
    // Check if we should have a panning or moving cursor, changing if required
    ROI currentROI = viewer.getCurrentROI();
    if (currentROI != null && canAdjust(viewer.getSelectedObject())) {
        Point2D p2 = mouseLocationToImage(e, true, false);
        double xx = p2.getX();
        double yy = p2.getY();
        if (RoiTools.areaContains(currentROI, xx, yy)) {
            ensureCursorType(Cursor.MOVE);
            return;
        }
    }
    ensureCursorType(Cursor.HAND);
}
Also used : Point2D(java.awt.geom.Point2D) Cursor(javafx.scene.Cursor) ROI(qupath.lib.roi.interfaces.ROI)

Example 12 with Cursor

use of javafx.scene.Cursor in project JFoenix by jfoenixadmin.

the class JFXDecorator method handleDragEventOnDecoratorPane.

private void handleDragEventOnDecoratorPane(MouseEvent mouseEvent) {
    isDragging = true;
    if (!mouseEvent.isPrimaryButtonDown() || (xOffset == -1 && yOffset == -1)) {
        return;
    }
    /*
         * Long press generates drag event!
         */
    if (primaryStage.isFullScreen() || mouseEvent.isStillSincePress() || primaryStage.isMaximized() || maximized) {
        return;
    }
    newX = mouseEvent.getScreenX();
    newY = mouseEvent.getScreenY();
    double deltax = newX - initX;
    double deltay = newY - initY;
    Cursor cursor = this.getCursor();
    if (Cursor.E_RESIZE.equals(cursor)) {
        setStageWidth(initWidth + deltax);
        mouseEvent.consume();
    } else if (Cursor.NE_RESIZE.equals(cursor)) {
        if (setStageHeight(initHeight - deltay)) {
            primaryStage.setY(initStageY + deltay);
        }
        setStageWidth(initWidth + deltax);
        mouseEvent.consume();
    } else if (Cursor.SE_RESIZE.equals(cursor)) {
        setStageWidth(initWidth + deltax);
        setStageHeight(initHeight + deltay);
        mouseEvent.consume();
    } else if (Cursor.S_RESIZE.equals(cursor)) {
        setStageHeight(initHeight + deltay);
        mouseEvent.consume();
    } else if (Cursor.W_RESIZE.equals(cursor)) {
        if (setStageWidth(initWidth - deltax)) {
            primaryStage.setX(initStageX + deltax);
        }
        mouseEvent.consume();
    } else if (Cursor.SW_RESIZE.equals(cursor)) {
        if (setStageWidth(initWidth - deltax)) {
            primaryStage.setX(initStageX + deltax);
        }
        setStageHeight(initHeight + deltay);
        mouseEvent.consume();
    } else if (Cursor.NW_RESIZE.equals(cursor)) {
        if (setStageWidth(initWidth - deltax)) {
            primaryStage.setX(initStageX + deltax);
        }
        if (setStageHeight(initHeight - deltay)) {
            primaryStage.setY(initStageY + deltay);
        }
        mouseEvent.consume();
    } else if (Cursor.N_RESIZE.equals(cursor)) {
        if (setStageHeight(initHeight - deltay)) {
            primaryStage.setY(initStageY + deltay);
        }
        mouseEvent.consume();
    } else if (allowMove) {
        primaryStage.setX(mouseEvent.getScreenX() - xOffset);
        primaryStage.setY(mouseEvent.getScreenY() - yOffset);
        mouseEvent.consume();
    }
}
Also used : Cursor(javafx.scene.Cursor)

Example 13 with Cursor

use of javafx.scene.Cursor in project graphysica by Graphysica.

the class Espace method definirInteractionCurseur.

/**
 * Définit les interactions entre l'espace et le curseur.
 */
private void definirInteractionCurseur() {
    final Cursor curseurParDefaut = Cursor.CROSSHAIR;
    setOnMouseEntered((evenement) -> {
        requestFocus();
        setCursor(curseurParDefaut);
    });
    setOnMouseMoved((evenement) -> {
        actualiserPositionsCurseur(evenement);
        if (formesSurvolees().isEmpty()) {
            setCursor(curseurParDefaut);
        }
    });
    setOnScroll((evenement) -> {
        zoomer(evenement.getDeltaY());
    });
    setOnMousePressed((evenement) -> {
        if (evenement.isMiddleButtonDown()) {
            setCursor(Cursor.CLOSED_HAND);
        }
    });
    setOnMouseDragged((evenement) -> {
        actualiserPositionsCurseur(evenement);
        if (evenement.isMiddleButtonDown()) {
            defiler();
        }
    });
    setOnMouseDragReleased((evenement) -> {
        final Vector2D origineVirtuelle = repere.getOrigineVirtuelle();
        repere.setOrigineVirtuelle(new Vector2D((int) origineVirtuelle.getX(), (int) origineVirtuelle.getY()));
    });
}
Also used : Vector2D(org.apache.commons.math3.geometry.euclidean.twod.Vector2D) Cursor(javafx.scene.Cursor)

Example 14 with Cursor

use of javafx.scene.Cursor in project processing by processing.

the class PSurfaceFX method setCursor.

public void setCursor(int kind) {
    Cursor c;
    switch(kind) {
        case PConstants.ARROW:
            c = Cursor.DEFAULT;
            break;
        case PConstants.CROSS:
            c = Cursor.CROSSHAIR;
            break;
        case PConstants.HAND:
            c = Cursor.HAND;
            break;
        case PConstants.MOVE:
            c = Cursor.MOVE;
            break;
        case PConstants.TEXT:
            c = Cursor.TEXT;
            break;
        case PConstants.WAIT:
            c = Cursor.WAIT;
            break;
        default:
            c = Cursor.DEFAULT;
            break;
    }
    lastCursor = c;
    canvas.getScene().setCursor(c);
}
Also used : ImageCursor(javafx.scene.ImageCursor) Cursor(javafx.scene.Cursor)

Example 15 with Cursor

use of javafx.scene.Cursor in project FXGL by AlmasB.

the class RemoveSelectedEntitesBug method initGame.

@Override
protected void initGame() {
    Entity e1 = Entities.builder().at(100, 100).viewFromNode(new ColoredTexture(40, 30, Color.BLUE)).with(new SelectableComponent(true)).buildAndAttach(getGameWorld());
    Entity e2 = Entities.builder().at(200, 100).viewFromNode(new Rectangle(40, 40, Color.RED)).with(new SelectableComponent(true)).buildAndAttach(getGameWorld());
    Cursor cursor = getGameScene().getRoot().getCursor();
    // this solves the issue, I think when mouse is clicked / released the game cursor is overridden
    // e1.getView().setCursor(cursor);
    // e2.getView().setCursor(cursor);
    getGameWorld().selectedEntityProperty().addListener((o, oldEntity, newEntity) -> {
        if (newEntity != null)
            getGameWorld().removeEntity(newEntity);
    });
}
Also used : Entity(com.almasb.fxgl.entity.Entity) Rectangle(javafx.scene.shape.Rectangle) Cursor(javafx.scene.Cursor) ColoredTexture(com.almasb.fxgl.texture.ColoredTexture) SelectableComponent(com.almasb.fxgl.entity.component.SelectableComponent)

Aggregations

Cursor (javafx.scene.Cursor)26 List (java.util.List)5 Point2D (javafx.geometry.Point2D)5 MouseEvent (javafx.scene.input.MouseEvent)5 Objects (java.util.Objects)4 ImageCursor (javafx.scene.ImageCursor)4 Label (javafx.scene.control.Label)4 BufferedImage (java.awt.image.BufferedImage)3 ArrayList (java.util.ArrayList)3 Optional (java.util.Optional)3 Collectors (java.util.stream.Collectors)3 Color (java.awt.Color)2 Graphics2D (java.awt.Graphics2D)2 Rectangle (java.awt.Rectangle)2 RenderingHints (java.awt.RenderingHints)2 DataBufferInt (java.awt.image.DataBufferInt)2 Collection (java.util.Collection)2 Collections (java.util.Collections)2 Map (java.util.Map)2 ResourceBundle (java.util.ResourceBundle)2