Package javafx.scene.shape

Examples of javafx.scene.shape.Rectangle


        lTimeText.setX( menuIcon.getWidth() + padding );
        lTimeText.setY(lTimeText.prefHeight(0) / 2);
        lTimeText.wrappingWidthProperty().bind(widthProperty().subtract(padding));
        // add a clip to mask out all except the first line
        lTimeText.fontProperty().addListener( (observable) -> {
          Rectangle lClip = new Rectangle();
          lClip.widthProperty().bind(widthProperty().subtract(padding));
          lClip.heightProperty().set( lTimeText.fontProperty().getValue().getSize() );
          lTimeText.setClip(lClip);
        });
        getChildren().add(lTimeText);
      }
     
View Full Code Here


        mainInnerShadow1.setBlurType(BlurType.TWO_PASS_BOX);
        mainInnerShadow1.setInput(mainInnerShadow0);

        main.setEffect(getSkinnable().isMainInnerShadowVisible() ? mainInnerShadow1 : null);

        crystalClip = new Rectangle(0, 0, PREFERRED_WIDTH, PREFERRED_HEIGHT);
        crystalClip.setArcWidth(5);
        crystalClip.setArcHeight(5);

        crystalImage = createNoiseImage(PREFERRED_WIDTH, PREFERRED_HEIGHT, DARK_NOISE_COLOR, BRIGHT_NOISE_COLOR, 8);
        crystalOverlay = new ImageView(crystalImage);
View Full Code Here

        mainInnerShadow1.setBlurType(BlurType.TWO_PASS_BOX);
        mainInnerShadow1.setInput(mainInnerShadow0);

        main.setEffect(getSkinnable().isMainInnerShadowVisible() ? mainInnerShadow1 : null);

        crystalClip = new Rectangle(0, 0, width, height);
        crystalClip.setArcWidth(5);
        crystalClip.setArcHeight(5);

        crystalImage = createNoiseImage(PREFERRED_WIDTH, PREFERRED_HEIGHT, DARK_NOISE_COLOR, BRIGHT_NOISE_COLOR, 8);
        crystalOverlay = new ImageView(crystalImage);
View Full Code Here

        } else if (Circle.class.equals(SHAPE.getClass())) {
            fxPath.append(convertCircle((Circle) SHAPE));
        } else if (Ellipse.class.equals(SHAPE.getClass())) {
            fxPath.append(convertEllipse((Ellipse) SHAPE));
        } else if (Text.class.equals(SHAPE.getClass())) {
            Path path = (Path)(Shape.subtract(SHAPE, new Rectangle(0, 0)));
            fxPath.append(convertPath(path));
        } else if (Path.class.equals(SHAPE.getClass())) {
            fxPath.append(convertPath((Path) SHAPE));
        } else if (Polygon.class.equals(SHAPE.getClass())) {
            fxPath.append(convertPolygon((Polygon) SHAPE));
View Full Code Here

        Shape clip = layoutCell(cell, selectedIndex - cell.getIndex() - fractionalIndex);

        layoutInArea(cell, getWidth() / 2, getHeight() / 2, 0, 0, 0, HPos.CENTER, VPos.CENTER);

        if(cumulativeClip != null) {
          Shape cellClip = Shape.intersect(cumulativeClip, new Rectangle(0, 0, getWidth(), getHeight()))// TODO there must be a better way to just copy a Shape...
          Point2D localToParent = cell.localToParent(0, 0);

          cellClip.getTransforms().add(new Translate(-localToParent.getX(), -localToParent.getY()));

          cell.setClip(cellClip);
        }
        else {
          cell.setClip(null);
        }

        if(clip != null) {
          clip.getTransforms().add(cell.getLocalToParentTransform());

          if(cumulativeClip == null) {
            cumulativeClip = new Rectangle(0, 0, getWidth(), getHeight());
          }

          cumulativeClip = Shape.subtract(cumulativeClip, clip);
        }
      }
    }

    setClip(new Rectangle(0, 0, getWidth(), getHeight()));
  }
View Full Code Here

    this.renderer = renderer;

    this.screenWidth = screenWidth;
    this.screenHeight = screenHeight;

    Rectangle inputCapture = new Rectangle();
    inputCapture.setFill(Color.TRANSPARENT);
    inputCapture.setFocusTraversable(true);
    inputCapture.requestFocus();

    // capture keyboard events
    inputCapture.setOnKeyPressed(new EventHandler<KeyEvent>() {
      @Override
      public void handle(KeyEvent ke) {
        if (ke.getCode() == KeyCode.ESCAPE) {
          genesia.setGame(null);
        } else {

        }
      }
    });

    // when the mouse is moved, update the hovering tile accordingly
    inputCapture.setOnMouseMoved(new EventHandler<MouseEvent>() {
      @Override
      public void handle(MouseEvent me) {
        Coords mapCoords = calcMapCoordFromMouseCoord(me.getX(), me.getY());
        if (renderer.getWorld().setHoverCoords(mapCoords)) {
          render();
        }
      }
    });

    // when the mouse is clicked, update the selected tile if there was a tile
    inputCapture.setOnMouseClicked(new EventHandler<MouseEvent>() {
      @Override
      public void handle(MouseEvent me) {
        if (me.isStillSincePress()) {
          Coords mapCoords = calcMapCoordFromMouseCoord(me.getX(), me.getY());
          if (renderer.getWorld().isPointWithinBounds(mapCoords)) {
            Tile selectedTile = renderer.getWorld().getTile(mapCoords.getX(), mapCoords.getY());
            if (selectedTileInfo.getTileNode() == null
                    || !selectedTile.equals(selectedTileInfo.getTileNode().getTile())) {
              selectedTileInfo.setTileNode(renderer.getResourceLoader().createResource(selectedTile));
            }
          }
        }
      }
    });

    // when the mouse is pressed down, keep track of the mouse position
    inputCapture.setOnMousePressed(new EventHandler<MouseEvent>() {
      @Override
      public void handle(MouseEvent me) {
        dragStartX = me.getSceneX();
        dragStartY = me.getSceneY();
      }
    });

    // when the mouse is dragged, use it to update the position of the map
    inputCapture.setOnMouseDragged(new EventHandler<MouseEvent>() {
      @Override
      public void handle(MouseEvent me) {
        if (!me.isStillSincePress()) {
          double diffX = me.getSceneX() - dragStartX;
          double diffY = me.getSceneY() - dragStartY;
          if (diffX != 0 || diffY != 0) {
            // bound x and y position within map bounds
            double newXPosition = tilesGroup.getTranslateX() + diffX;
            if (newXPosition < worldScrollBoundaries.getWidth()) {
              newXPosition = worldScrollBoundaries.getWidth();
            } else if (newXPosition > worldScrollBoundaries.getX()) {
              newXPosition = worldScrollBoundaries.getX();
            }

            double newYPosition = tilesGroup.getTranslateY() + diffY;
            double yUpperBound = World.TILE_HEIGHT * 3 - (Math.abs((newXPosition - (screenWidth - 250) / 2) / 2));
            double yLowerBound = (World.TILE_HEIGHT * (renderer.getWorld().getSizeSqrt() + 2) * -1) + screenHeight + (Math.abs((newXPosition - (screenWidth - 250) / 2) / 2));
            if (yUpperBound > yLowerBound) {
              if (newYPosition > yUpperBound) {
                newYPosition = yUpperBound;
              } else if (newYPosition < yLowerBound) {
                newYPosition = yLowerBound;
              }
            } else {
              newYPosition = tilesGroup.getTranslateY();
            }

            if (newXPosition != tilesGroup.getTranslateX() || newYPosition != tilesGroup.getTranslateY()) {
              tilesGroup.setTranslateX(newXPosition);
              tilesGroup.setTranslateY(newYPosition);

              render();
            }

            dragStartX = me.getSceneX();
            dragStartY = me.getSceneY();
          }
        }
      }
    });

    final ImageView mainBackground = new ImageView();
    mainBackground.setImage(Assets.getBackground(Assets.IMAGE_SCREENS_GAME_MAIN_BACKGROUND));

    final ImageView menuBackground = new ImageView();
    menuBackground.setImage(Assets.getBackground(Assets.IMAGE_SCREENS_MENU_BACKGROUND));

    selectedTileInfo = new TileWithDescriptionNode();
    selectedTileInfo.setLayoutX(61.0);
    selectedTileInfo.setLayoutY(36.0);

    Rectangle selectedTileInfoRect = new Rectangle(160.0, 176.0, Color.WHITE);
    selectedTileInfoRect.setArcWidth(3.0);
    selectedTileInfoRect.setArcHeight(3.0);
    selectedTileInfoRect.setOpacity(0.5);

    StackPane selectedTileInfoGroup = new StackPane();
    selectedTileInfoGroup.setPrefWidth(160.0);
    selectedTileInfoGroup.getChildren().addAll(selectedTileInfoRect, selectedTileInfo);
    selectedTileInfoGroup.setLayoutX((250.0 - selectedTileInfoGroup.getPrefWidth()) / 2.0);
    selectedTileInfoGroup.setLayoutY(25.0);

    Group menu = new Group();
    menu.setLayoutX(screenWidth - 250);
    menu.getChildren().addAll(menuBackground, selectedTileInfoGroup);

    tilesGroup = new OrderedGroup();
    tilesGroup.setTranslateX((screenWidth - 250) / 2);
    tilesGroup.setTranslateY(World.TILE_HEIGHT * 3);

    worldScrollBoundaries.setX(World.TILE_WIDTH * renderer.getWorld().getSizeSqrt() / 2.0);
    worldScrollBoundaries.setWidth(World.TILE_WIDTH * (renderer.getWorld().getSizeSqrt() + 2.0) / 2.0 * -1.0 + (screenWidth - 250.0));

    // clipping container for rendered land
    Group clipContainer = new Group();
    clipContainer.setClip(new Rectangle(screenWidth - 250, screenHeight));
    clipContainer.getChildren().add(tilesGroup);

    // land can only be dragged by the size of the container
    inputCapture.setWidth(clipContainer.getClip().getLayoutBounds().getWidth());
    inputCapture.setHeight(clipContainer.getClip().getLayoutBounds().getHeight());
View Full Code Here

* @author joeri
*/
public class AskPlayerName extends StackPane {

  public AskPlayerName(final Genesia genesia, final Player player, final int position) {
    Rectangle backgroundRect = new Rectangle(640, 400);
    backgroundRect.setFill(Color.BLACK);

    final ImageView background = new ImageView();
    background.setOpacity(0.3);
    background.setImage(Assets.getBackground(Assets.IMAGE_SCREENS_GAME_SELECTION_BACKGROUND));

View Full Code Here

  private final ToggleGroup numberOfPlayers;
  private final ToggleGroup worldCreation;
  private final ToggleGroup gameLevel;

  public GameSelection(final Genesia genesia) {
    Rectangle backgroundRect = new Rectangle();
    backgroundRect.setFill(Color.BLACK);
    backgroundRect.setWidth(640);
    backgroundRect.setHeight(400);

    final FadeTransition fadeInSelection = new FadeTransition(Duration.millis(500));
    final FadeTransition fadeOutBackground = new FadeTransition(Duration.millis(1000));

    final VBox outerPane = new VBox();
View Full Code Here

        primaryWindow = new Stage();
        primaryWindow.setX(100);
        primaryWindow.setY(100);
        primaryWindow.setScene(primaryScene);

        nodeInsideOfScene = new Rectangle(50, 50, 100, 100);
        nodePartyOutsideOfScene = new Rectangle(550, 350, 100, 100);
        nodeOutsideOfScene = new Rectangle(1000, 1000, 100, 100);

        boundsInsideOfScene = nodeInsideOfScene.getLayoutBounds();
        boundsPartyOutsideOfScene = nodePartyOutsideOfScene.getLayoutBounds();
        boundsOutsideOfScene = nodeOutsideOfScene.getLayoutBounds();
View Full Code Here

        AnchorPane.setTopAnchor(content, 0d);
        AnchorPane.setRightAnchor(content, 0d);
        AnchorPane.setBottomAnchor(content, 0d);

        // Align west resize handle
        resizeWest = new Rectangle();
        resizeWest.setCursor(Cursor.W_RESIZE);
        resizeWest.setFill(edges);
        pane.getChildren().add(resizeWest);
        resizeWest.widthProperty().bind(edgeSize);
        resizeWest.heightProperty().bind(heightProperty());
        AnchorPane.setLeftAnchor(resizeWest, 0d);
        AnchorPane.setTopAnchor(resizeWest, 0d);
        controller.setResizeableHandle(resizeWest);

        // Align top border
        resizeNorth = new Rectangle();
        resizeNorth.setCursor(Cursor.N_RESIZE);
        resizeNorth.setFill(edges);
        pane.getChildren().add(resizeNorth);
        resizeNorth.widthProperty().bind(widthProperty());
        resizeNorth.heightProperty().bind(edgeSize);
        AnchorPane.setLeftAnchor(resizeNorth, 0d);
        AnchorPane.setTopAnchor(resizeNorth, 0d);
        controller.setResizeableHandle(resizeNorth);

        // Align right border
        resizeEast = new Rectangle();
        resizeEast.setCursor(Cursor.E_RESIZE);
        resizeEast.setFill(edges);
        pane.getChildren().add(resizeEast);
        resizeEast.widthProperty().bind(edgeSize);
        resizeEast.heightProperty().bind(heightProperty());
        AnchorPane.setTopAnchor(resizeEast, 0d);
        AnchorPane.setRightAnchor(resizeEast, 0d);
        controller.setResizeableHandle(resizeEast);

        // Align bottom border
        resizeSouth = new Rectangle();
        resizeSouth.setCursor(Cursor.S_RESIZE);
        resizeSouth.setFill(edges);
        pane.getChildren().add(resizeSouth);
        resizeSouth.widthProperty().bind(widthProperty());
        resizeSouth.heightProperty().bind(edgeSize);
        AnchorPane.setLeftAnchor(resizeSouth, 0d);
        AnchorPane.setBottomAnchor(resizeSouth, 0d);
        controller.setResizeableHandle(resizeSouth);

        Color corners = Color.TRANSPARENT;

        // Align north-west resize handle
        resizeNorthWest = new Rectangle();
        resizeNorthWest.setCursor(Cursor.NW_RESIZE);
        resizeNorthWest.setFill(corners);
        pane.getChildren().add(resizeNorthWest);
        resizeNorthWest.widthProperty().bind(edgeSize);
        resizeNorthWest.heightProperty().bind(edgeSize);
        AnchorPane.setLeftAnchor(resizeNorthWest, 0d);
        AnchorPane.setTopAnchor(resizeNorthWest, 0d);
        controller.setResizeableHandle(resizeNorthWest);

        // Align north-east resize handle
        resizeNorthEast = new Rectangle();
        resizeNorthEast.setCursor(Cursor.NE_RESIZE);
        resizeNorthEast.setFill(corners);
        pane.getChildren().add(resizeNorthEast);
        resizeNorthEast.widthProperty().bind(edgeSize);
        resizeNorthEast.heightProperty().bind(edgeSize);
        AnchorPane.setRightAnchor(resizeNorthEast, 0d);
        AnchorPane.setTopAnchor(resizeNorthEast, 0d);
        controller.setResizeableHandle(resizeNorthEast);

        // Align south-east resize handle
        resizeSouthEast = new Rectangle();
        resizeSouthEast.setCursor(Cursor.SE_RESIZE);
        resizeSouthEast.setFill(corners);
        pane.getChildren().add(resizeSouthEast);
        resizeSouthEast.widthProperty().bind(edgeSize);
        resizeSouthEast.heightProperty().bind(edgeSize);
        AnchorPane.setRightAnchor(resizeSouthEast, 0d);
        AnchorPane.setBottomAnchor(resizeSouthEast, 0d);
        controller.setResizeableHandle(resizeSouthEast);

        // Align south-west resize handle
        resizeSouthWest = new Rectangle();
        resizeSouthWest.setCursor(Cursor.SW_RESIZE);
        pane.getChildren().add(resizeSouthWest);
        resizeSouthWest.setFill(corners);
        resizeSouthWest.widthProperty().bind(edgeSize);
        resizeSouthWest.heightProperty().bind(edgeSize);
View Full Code Here

TOP

Related Classes of javafx.scene.shape.Rectangle

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.