Class ScaleControls
java.lang.Object
com.inductiveautomation.ignition.designer.designable.controls.AbstractSelectionControls
com.inductiveautomation.ignition.designer.designable.controls.ScaleControls
- All Implemented Interfaces:
ISelectionControl
,Iterable<IHandle>
- Direct Known Subclasses:
LinkControls
,WindowScaleControls
Concrete implementation of ISelectionControls that provides the standard stretch/resize handles around a component
selection
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected class
protected class
A highlight that displays a little cross where the logical resize anchor is placed.protected class
protected class
protected class
protected class
protected class
protected class
protected class
protected class
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final ShapePaint
static final ShapePaint
protected boolean
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
dragEnd()
protected void
protected void
protected void
void
initialize
(DesignPanel panel, DesignableContainer container, DesignableDelegate delegate, List<JComponent> selection) protected IHandle
newHandle
(int side) static Rectangle2D
scale
(DesignPanel panel, DesignableDelegate delegate, List<JComponent> selection, Rectangle2D originalRectangle, Map<JComponent, Rectangle2D> originalBounds, Map<JComponent, Rectangle2D> scaledBounds, Point2D anchor, Point2D handle, Point2D drag, int side, boolean restrict, boolean snap, boolean keepAspectRatio) Methods inherited from class com.inductiveautomation.ignition.designer.designable.controls.AbstractSelectionControls
getBoundingRect, getInsets, iterator, paintBackground, selectionRect, uninstall
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
dragging
protected boolean dragging -
DEFAULT_NORMAL_PAINT
-
DEFAULT_HOVER_PAINT
-
-
Constructor Details
-
ScaleControls
public ScaleControls()
-
-
Method Details
-
initialize
public void initialize(DesignPanel panel, DesignableContainer container, DesignableDelegate delegate, List<JComponent> selection) - Specified by:
initialize
in interfaceISelectionControl
- Overrides:
initialize
in classAbstractSelectionControls
-
initHandles
protected void initHandles() -
newHandle
-
dragStart
protected void dragStart() -
dragEnd
protected void dragEnd() -
dragged
-
scale
public static Rectangle2D scale(DesignPanel panel, DesignableDelegate delegate, List<JComponent> selection, Rectangle2D originalRectangle, Map<JComponent, Rectangle2D> originalBounds, Map<JComponent, Rectangle2D> scaledBounds, Point2D anchor, Point2D handle, Point2D drag, int side, boolean restrict, boolean snap, boolean keepAspectRatio) - Parameters:
originalRectangle
- The overall bounding rectangle of all selected objects at the beginning of the scale operation. In unzoomed coordinates.originalBounds
- The original bounds of each selected object, relative to the interaction layer in unzoomed coordinates.scaledBounds
- A map containing the last set of scaled bounds for each object in unzoomed coordinates. On the first scale of a series, this should be a clone of the originalBounds.anchor
- The anchor point for the scale - this is the 'fixed point'handle
- The handle point that the drag point is compared against.drag
- The point that the current drag is at.side
- The side code that the anchor resides on.restrict
- Whether or not to restrict to parent boundssnap
- Whether or not to consider snapping to gridkeepAspectRatio
- Whether or not to maintain original aspect ratios
-