Package org.eclipse.gef.mvc.fx.policies

## Class ViewportPolicy

- java.lang.Object
- - org.eclipse.gef.common.adapt.IAdaptable.Bound.Impl<IVisualPart<? extends javafx.scene.Node>>
  - - org.eclipse.gef.mvc.fx.policies.AbstractPolicy
    - - org.eclipse.gef.mvc.fx.policies.ViewportPolicy

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

    public class ViewportPolicy
    extends AbstractPolicy

An `IPolicy` to change the viewport of an `IViewer` via its `InfiniteCanvas`.

### Nested Class Summary

### Nested classes/interfaces inherited from interface org.eclipse.gef.common.adapt.IAdaptable.Bound

`IAdaptable.Bound.Impl<T extends IAdaptable>`

### Constructor Summary

Constructors
`ViewportPolicy()`

### Method Summary

All Methods Instance Methods Concrete Methods
`protected ITransactionalOperation` `createOperation()` Creates an `ITransactionalOperation` that is used to encapsulate the changes that are applied by this `AbstractPolicy` through its "work" methods.
`void` `fitToSize()` Centers the contents within the viewport and zooms the viewport so that the contents are fully visible.
`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).
`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).
`protected ChangeViewportOperation` `getChangeViewportOperation()` Returns an `ChangeViewportOperation` that is extracted from the operation created by `createOperation()`.
`void` `scroll​(boolean concatenate, double deltaTranslateX, double deltaTranslateY)` Advances the viewport transformation by the given translation values.
`void` `setScroll​(double tx, double ty)` Sets the x and y translation of the viewport to the given values.
`void` `setZoom​(double zoom)` Sets the x and y scaling of the viewport to the given zoom factor.
`void` `zoom​(boolean concatenate, boolean discretize, double relativeZoom, double sceneX, double sceneY)` Concatenates a scaling transformation to the current viewport transformation.

### Methods inherited from class org.eclipse.gef.mvc.fx.policies.AbstractPolicy

`checkInitialized, commit, getOperation, init, isInitialized, locallyExecuteOperation, rollback`

### Methods inherited from class org.eclipse.gef.common.adapt.IAdaptable.Bound.Impl

`adaptableProperty, getAdaptable, setAdaptable`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.eclipse.gef.common.adapt.IAdaptable.Bound

`adaptableProperty, getAdaptable, setAdaptable`

### Methods inherited from interface org.eclipse.gef.mvc.fx.policies.IPolicy

`getHost`

### Constructor Detail

#### ViewportPolicy

    public ViewportPolicy()

### Method Detail

#### 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.