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);
}
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();
}
}
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()));
});
}
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);
}
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);
});
}
Aggregations