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

public class ScaleControls extends AbstractSelectionControls
Concrete implementation of ISelectionControls that provides the standard stretch/resize handles around a component selection
  • Field Details

    • dragging

      protected boolean dragging
    • DEFAULT_NORMAL_PAINT

      public static final ShapePaint DEFAULT_NORMAL_PAINT
    • DEFAULT_HOVER_PAINT

      public static final ShapePaint 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 interface ISelectionControl
      Overrides:
      initialize in class AbstractSelectionControls
    • initHandles

      protected void initHandles()
    • newHandle

      protected IHandle newHandle(int side)
    • dragStart

      protected void dragStart()
    • dragEnd

      protected void dragEnd()
    • dragged

      protected void dragged(Point2D anchor, Point2D handle, Point2D drag, int modifiers, int side)
    • 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 bounds
      snap - Whether or not to consider snapping to grid
      keepAspectRatio - Whether or not to maintain original aspect ratios