Interface SvgTransformableFigure

All Superinterfaces:
Figure, org.jhotdraw8.fxbase.beans.PropertyBean, org.jhotdraw8.fxbase.styleable.StyleableBean, org.jhotdraw8.fxbase.styleable.StyleablePropertyBean, TransformCachingFigure, org.jhotdraw8.fxbase.tree.TreeNode<Figure>
All Known Implementing Classes:
SvgCircleFigure, SvgEllipseFigure, SvgGFigure, SvgLineFigure, SvgPathFigure, SvgPolygonFigure, SvgPolylineFigure, SvgRectFigure, SvgTextFigure

public interface SvgTransformableFigure extends TransformCachingFigure
A transformable figure supports the transformation of a figure.

The following transformations are supported:

  • Arbitrary sequence of affine transformations of the figure.
Note that transformation matrices computed from the Rotation and Scaling must be recomputed every time when the local bounds of the figure change.
Author:
Werner Randelshofer
  • Field Details

  • Method Details

    • getDeclaredKeys

      static Set<org.jhotdraw8.fxcollection.typesafekey.Key<?>> getDeclaredKeys()
    • applyTransformableFigureProperties

      default void applyTransformableFigureProperties(RenderContext ctx, javafx.scene.Node node)
      Updates a figure node with all transformation properties defined in this interface.

      Applies the following properties: TRANSFORM, translation TRANSLATE_X, TRANSLATE_Y, TRANSLATE_Z, scale SCALE_X, SCALE_Y, SCALE_Z, and rotation ROTATE, ROTATION_AXIS.

      This method is intended to be used by Figure.updateNode(org.jhotdraw8.draw.render.RenderContext, javafx.scene.Node).

      Parameters:
      ctx - the render context
      node - a node which was created with method Figure.createNode(org.jhotdraw8.draw.render.RenderContext).
    • clearTransforms

      default void clearTransforms()
    • flattenTransforms

      default void flattenTransforms()
    • getInverseTransform

      default @Nullable javafx.scene.transform.Transform getInverseTransform()
    • getLocalToParent

      default javafx.scene.transform.Transform getLocalToParent()
      Specified by:
      getLocalToParent in interface Figure
    • getLocalToParent

      default javafx.scene.transform.Transform getLocalToParent(boolean styled)
    • getLocalToParentAsList

      default List<javafx.scene.transform.Transform> getLocalToParentAsList(boolean styled)
    • getParentToLocal

      default javafx.scene.transform.Transform getParentToLocal()
      Specified by:
      getParentToLocal in interface Figure
    • getParentToLocal

      default javafx.scene.transform.Transform getParentToLocal(boolean styled)
    • getTransform

      default @Nullable javafx.scene.transform.Transform getTransform()
    • hasCenterTransforms

      default boolean hasCenterTransforms()
    • hasTransforms

      default boolean hasTransforms()
    • reshapeInLocal

      default void reshapeInLocal(javafx.scene.transform.Transform transform)
      Specified by:
      reshapeInLocal in interface Figure
    • reshapeInParent

      default void reshapeInParent(javafx.scene.transform.Transform transform)
      Specified by:
      reshapeInParent in interface Figure
    • setTransforms

      default void setTransforms(javafx.scene.transform.Transform... transforms)
      Convenience method for setting a new value for the TRANSFORMS property.
      Parameters:
      transforms - new value
    • transformInLocal

      default void transformInLocal(javafx.scene.transform.Transform t)
      Specified by:
      transformInLocal in interface Figure
    • transformInParent

      default void transformInParent(javafx.scene.transform.Transform t)
      Specified by:
      transformInParent in interface Figure