Class ViewportPolicy

All Implemented Interfaces:
IAdaptable.Bound<IVisualPart<? extends Node>>, IPolicy

public class ViewportPolicy extends AbstractPolicy
An IPolicy to change the viewport of an IViewer via its InfiniteCanvas.
  • Constructor Details

    • ViewportPolicy

      public ViewportPolicy()
  • Method Details

    • createOperation

      protected ITransactionalOperation createOperation()
      Description copied from class: AbstractPolicy
      Creates an ITransactionalOperation that is used to encapsulate the changes that are applied by this AbstractPolicy through its "work" methods. The created operation should allow for local execution at each time.
      Specified by:
      createOperation in class AbstractPolicy
      Returns:
      A new ITransactionalOperation to encapsulate all applied changes.
    • fitToSize

      public void fitToSize()
      Centers the contents within the viewport and zooms the viewport so that the contents are fully visible.
    • fitToSize

      public void fitToSize(double zoomMin)
      Centers the contents within the viewport and zooms the viewport so that the contents are fully visible (if possible given the specified zoom factor range).
      Parameters:
      zoomMin - The minimum zoom factor.
    • fitToSize

      public void fitToSize(double zoomMin, double zoomMax)
      Centers the contents within the viewport and zooms the viewport so that the contents are fully visible (if possible given the specified zoom factor range).
      Parameters:
      zoomMin - The minimum zoom factor.
      zoomMax - The maximum zoom factor.
    • getChangeViewportOperation

      protected ChangeViewportOperation getChangeViewportOperation()
      Returns an ChangeViewportOperation that is extracted from the operation created by createOperation().
      Returns:
      An ChangeViewportOperation that is extracted from the operation created by createOperation().
    • scroll

      public void scroll(boolean concatenate, double deltaTranslateX, double deltaTranslateY)
      Advances the viewport transformation by the given translation values.
      Parameters:
      concatenate - true to concatenate the specified zoom to the current transformation, false to not concatenate the specified scroll to the current but to the initial transformation.
      deltaTranslateX - The horizontal translation delta.
      deltaTranslateY - The vertical translation delta.
    • setScroll

      public void setScroll(double tx, double ty)
      Sets the x and y translation of the viewport to the given values. Does not alter scaling.
      Parameters:
      tx - The new x translation.
      ty - The new y translation.
    • setZoom

      public void setZoom(double zoom)
      Sets the x and y scaling of the viewport to the given zoom factor. Does not alter translation/scroll-offset.
      Parameters:
      zoom - The new x and y scaling for the viewport.
    • zoom

      public void zoom(boolean concatenate, boolean discretize, double relativeZoom, double sceneX, double sceneY)
      Concatenates a scaling transformation to the current viewport transformation.
      Parameters:
      concatenate - true to concatenate the specified zoom to the current transformation, false to not concatenate the specified zoom to the current but to the initial transformation.
      discretize - true to discretize the resulting zoom level, i.e. round it to 6 decimal places and do not skip integer zoom levels, false to not change the resulting zoom level.
      relativeZoom - The scale factor.
      sceneX - The pivot x-coordinate.
      sceneY - The pivot y-coordinate.