Java Code Examples for javafx.scene.transform.Affine#getMxx()
The following examples show how to use
javafx.scene.transform.Affine#getMxx() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: NodeUtils.java From gef with Eclipse Public License 2.0 | 5 votes |
/** * Returns <code>true</code> if the given {@link Affine}s are equal. * Otherwise returns <code>false</code>. * * @param a1 * The first operand. * @param a2 * The second operand. * @return <code>true</code> if the given {@link Affine}s are equal, * otherwise <code>false</code>. */ public static boolean equals(Affine a1, Affine a2) { // TODO: verify if Affine#equals() works with Java 8 // Affine does not properly implement equals, so we have to implement // that here return a1.getMxx() == a2.getMxx() && a1.getMxy() == a2.getMxy() && a1.getMxz() == a2.getMxz() && a1.getMyx() == a2.getMyx() && a1.getMyy() == a2.getMyy() && a1.getMyz() == a2.getMyz() && a1.getMzx() == a2.getMzx() && a1.getMzy() == a2.getMzy() && a1.getMzz() == a2.getMzz() && a1.getTx() == a2.getTx() && a1.getTy() == a2.getTy() && a1.getTz() == a2.getTz(); }
Example 2
Source File: InfiniteCanvas.java From gef with Eclipse Public License 2.0 | 5 votes |
/** * Sets the transformation matrix of the {@link #getContentTransform() * viewport transform} to the values specified by the given {@link Affine}. * * @param tx * The {@link Affine} determining the new * {@link #getContentTransform() viewport transform}. */ public void setContentTransform(Affine tx) { Affine viewportTransform = contentTransformProperty.get(); // Unregister bounds listeners so that transformation changes do not // cause updates. Use flag to be aware if the transformation changed. unregisterUpdateScrollBarsOnBoundsChanges(); boolean valuesChanged = false; if (viewportTransform.getMxx() != tx.getMxx()) { viewportTransform.setMxx(tx.getMxx()); valuesChanged = true; } if (viewportTransform.getMxy() != tx.getMxy()) { viewportTransform.setMxy(tx.getMxy()); valuesChanged = true; } if (viewportTransform.getMyx() != tx.getMyx()) { viewportTransform.setMyx(tx.getMyx()); valuesChanged = true; } if (viewportTransform.getMyy() != tx.getMyy()) { viewportTransform.setMyy(tx.getMyy()); valuesChanged = true; } if (viewportTransform.getTx() != tx.getTx()) { viewportTransform.setTx(tx.getTx()); valuesChanged = true; } if (viewportTransform.getTy() != tx.getTy()) { viewportTransform.setTy(tx.getTy()); valuesChanged = true; } // Update scrollbars if the transformation changed. if (valuesChanged) { updateScrollBars(); } // Register previously unregistered listeners. registerUpdateScrollBarsOnBoundsChanges(); }
Example 3
Source File: CreationMenuOnClickHandler.java From gef with Eclipse Public License 2.0 | 4 votes |
/** * Callback method called when an item is clicked. */ protected void onItemClick() { // compute width and height deltas to the content layer Node itemVisual = templateGroup.getChildren().get(0); Bounds bounds = itemVisual.getLayoutBounds(); Bounds boundsInContent = getHost().getRoot().getVisual().sceneToLocal(itemVisual.localToScene(bounds)); double dx = bounds.getWidth() - boundsInContent.getWidth(); double dy = bounds.getHeight() - boundsInContent.getHeight(); // compute translation based on the bounds, scaling, and width/height // deltas Affine contentsTransform = getViewer().getCanvas().contentTransformProperty().get(); double x = boundsInContent.getMinX() - bounds.getMinX() / contentsTransform.getMxx() - dx / 2; double y = boundsInContent.getMinY() - bounds.getMinY() / contentsTransform.getMyy() - dy / 2; // close the creation menu closeMenu(); // create the new semantic element ICreationMenuItem item = items.get(currentItemIndex); Object toCreate = item.createContent(); // build create operation IRootPart<? extends Node> root = getHost().getRoot(); CreationPolicy creationPolicy = root.getAdapter(CreationPolicy.class); creationPolicy.init(); IContentPart<? extends Node> contentPart = creationPolicy.create(toCreate, root, root.getContentPartChildren().size(), HashMultimap.<IContentPart<? extends Node>, String> create(), false, false); // relocate to final position TransformPolicy txPolicy = contentPart.getAdapter(TransformPolicy.class); txPolicy.init(); txPolicy.setTransform(new AffineTransform(1, 0, 0, 1, x, y)); // assemble operations ReverseUndoCompositeOperation rev = new ReverseUndoCompositeOperation("CreateOnClick"); rev.add(creationPolicy.commit()); rev.add(txPolicy.commit()); try { getViewer().getDomain().execute(rev, new NullProgressMonitor()); } catch (ExecutionException e) { throw new RuntimeException(e); } }