Class RectangleInsets

  • All Implemented Interfaces:
    java.io.Serializable

    public class RectangleInsets
    extends java.lang.Object
    implements java.io.Serializable
    Represents the insets for a rectangle, specified in absolute or relative terms. This class is immutable.
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private double bottom
      The bottom insets.
      private double left
      The left insets.
      private double right
      The right insets.
      private static long serialVersionUID
      For serialization.
      private double top
      The top insets.
      private UnitType unitType
      Absolute or relative units.
      static RectangleInsets ZERO_INSETS
      A useful constant representing zero insets.
    • Constructor Summary

      Constructors 
      Constructor Description
      RectangleInsets()
      Creates a new instance with all insets initialised to 1.0.
      RectangleInsets​(double top, double left, double bottom, double right)
      Creates a new instance with the specified insets (as 'absolute' units).
      RectangleInsets​(UnitType unitType, double top, double left, double bottom, double right)
      Creates a new instance.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      double calculateBottomInset​(double height)
      Returns the bottom margin.
      double calculateBottomOutset​(double height)
      Returns the bottom margin.
      double calculateLeftInset​(double width)
      Returns the left margin.
      double calculateLeftOutset​(double width)
      Returns the left margin.
      double calculateRightInset​(double width)
      Returns the right margin.
      double calculateRightOutset​(double width)
      Returns the right margin.
      double calculateTopInset​(double height)
      Returns the top margin.
      double calculateTopOutset​(double height)
      Returns the top margin.
      java.awt.geom.Rectangle2D createAdjustedRectangle​(java.awt.geom.Rectangle2D base, LengthAdjustmentType horizontal, LengthAdjustmentType vertical)
      Creates an adjusted rectangle using the supplied rectangle, the insets specified by this instance, and the horizontal and vertical adjustment types.
      java.awt.geom.Rectangle2D createInsetRectangle​(java.awt.geom.Rectangle2D base)
      Creates an 'inset' rectangle.
      java.awt.geom.Rectangle2D createInsetRectangle​(java.awt.geom.Rectangle2D base, boolean horizontal, boolean vertical)
      Creates an 'inset' rectangle.
      java.awt.geom.Rectangle2D createOutsetRectangle​(java.awt.geom.Rectangle2D base)
      Creates an outset rectangle.
      java.awt.geom.Rectangle2D createOutsetRectangle​(java.awt.geom.Rectangle2D base, boolean horizontal, boolean vertical)
      Creates an outset rectangle.
      boolean equals​(java.lang.Object obj)
      Tests this instance for equality with an arbitrary object.
      double extendHeight​(double height)
      Extends the given height to allow for the insets.
      double extendWidth​(double width)
      Extends the given width to allow for the insets.
      double getBottom()
      Returns the bottom insets.
      double getLeft()
      Returns the left insets.
      double getRight()
      Returns the right insets.
      double getTop()
      Returns the top insets.
      UnitType getUnitType()
      Returns the unit type (absolute or relative).
      int hashCode()
      Returns a hash code for the object.
      java.lang.String toString()
      Returns a textual representation of this instance, useful for debugging purposes.
      void trim​(java.awt.geom.Rectangle2D area)
      Shrinks the given rectangle by the amount of these insets.
      double trimHeight​(double height)
      Trims the given height to allow for the insets.
      double trimWidth​(double width)
      Trims the given width to allow for the insets.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • serialVersionUID

        private static final long serialVersionUID
        For serialization.
        See Also:
        Constant Field Values
      • ZERO_INSETS

        public static final RectangleInsets ZERO_INSETS
        A useful constant representing zero insets.
      • unitType

        private UnitType unitType
        Absolute or relative units.
      • top

        private double top
        The top insets.
      • left

        private double left
        The left insets.
      • bottom

        private double bottom
        The bottom insets.
      • right

        private double right
        The right insets.
    • Constructor Detail

      • RectangleInsets

        public RectangleInsets()
        Creates a new instance with all insets initialised to 1.0.
      • RectangleInsets

        public RectangleInsets​(double top,
                               double left,
                               double bottom,
                               double right)
        Creates a new instance with the specified insets (as 'absolute' units).
        Parameters:
        top - the top insets.
        left - the left insets.
        bottom - the bottom insets.
        right - the right insets.
      • RectangleInsets

        public RectangleInsets​(UnitType unitType,
                               double top,
                               double left,
                               double bottom,
                               double right)
        Creates a new instance.
        Parameters:
        unitType - absolute or relative units (null not permitted).
        top - the top insets.
        left - the left insets.
        bottom - the bottom insets.
        right - the right insets.
    • Method Detail

      • getUnitType

        public UnitType getUnitType()
        Returns the unit type (absolute or relative). This specifies whether the insets are measured as Java2D units or percentages.
        Returns:
        The unit type (never null).
      • getTop

        public double getTop()
        Returns the top insets.
        Returns:
        The top insets.
      • getBottom

        public double getBottom()
        Returns the bottom insets.
        Returns:
        The bottom insets.
      • getLeft

        public double getLeft()
        Returns the left insets.
        Returns:
        The left insets.
      • getRight

        public double getRight()
        Returns the right insets.
        Returns:
        The right insets.
      • equals

        public boolean equals​(java.lang.Object obj)
        Tests this instance for equality with an arbitrary object.
        Overrides:
        equals in class java.lang.Object
        Parameters:
        obj - the object (null permitted).
        Returns:
        A boolean.
      • hashCode

        public int hashCode()
        Returns a hash code for the object.
        Overrides:
        hashCode in class java.lang.Object
        Returns:
        A hash code.
      • toString

        public java.lang.String toString()
        Returns a textual representation of this instance, useful for debugging purposes.
        Overrides:
        toString in class java.lang.Object
        Returns:
        A string representing this instance.
      • createAdjustedRectangle

        public java.awt.geom.Rectangle2D createAdjustedRectangle​(java.awt.geom.Rectangle2D base,
                                                                 LengthAdjustmentType horizontal,
                                                                 LengthAdjustmentType vertical)
        Creates an adjusted rectangle using the supplied rectangle, the insets specified by this instance, and the horizontal and vertical adjustment types.
        Parameters:
        base - the base rectangle (null not permitted).
        horizontal - the horizontal adjustment type (null not permitted).
        vertical - the vertical adjustment type (null not permitted).
        Returns:
        The inset rectangle.
      • createInsetRectangle

        public java.awt.geom.Rectangle2D createInsetRectangle​(java.awt.geom.Rectangle2D base)
        Creates an 'inset' rectangle.
        Parameters:
        base - the base rectangle (null not permitted).
        Returns:
        The inset rectangle.
      • createInsetRectangle

        public java.awt.geom.Rectangle2D createInsetRectangle​(java.awt.geom.Rectangle2D base,
                                                              boolean horizontal,
                                                              boolean vertical)
        Creates an 'inset' rectangle.
        Parameters:
        base - the base rectangle (null not permitted).
        horizontal - apply horizontal insets?
        vertical - apply vertical insets?
        Returns:
        The inset rectangle.
      • createOutsetRectangle

        public java.awt.geom.Rectangle2D createOutsetRectangle​(java.awt.geom.Rectangle2D base)
        Creates an outset rectangle.
        Parameters:
        base - the base rectangle (null not permitted).
        Returns:
        An outset rectangle.
      • createOutsetRectangle

        public java.awt.geom.Rectangle2D createOutsetRectangle​(java.awt.geom.Rectangle2D base,
                                                               boolean horizontal,
                                                               boolean vertical)
        Creates an outset rectangle.
        Parameters:
        base - the base rectangle (null not permitted).
        horizontal - apply horizontal insets?
        vertical - apply vertical insets?
        Returns:
        An outset rectangle.
      • calculateTopInset

        public double calculateTopInset​(double height)
        Returns the top margin.
        Parameters:
        height - the height of the base rectangle.
        Returns:
        The top margin (in Java2D units).
      • calculateTopOutset

        public double calculateTopOutset​(double height)
        Returns the top margin.
        Parameters:
        height - the height of the base rectangle.
        Returns:
        The top margin (in Java2D units).
      • calculateBottomInset

        public double calculateBottomInset​(double height)
        Returns the bottom margin.
        Parameters:
        height - the height of the base rectangle.
        Returns:
        The bottom margin (in Java2D units).
      • calculateBottomOutset

        public double calculateBottomOutset​(double height)
        Returns the bottom margin.
        Parameters:
        height - the height of the base rectangle.
        Returns:
        The bottom margin (in Java2D units).
      • calculateLeftInset

        public double calculateLeftInset​(double width)
        Returns the left margin.
        Parameters:
        width - the width of the base rectangle.
        Returns:
        The left margin (in Java2D units).
      • calculateLeftOutset

        public double calculateLeftOutset​(double width)
        Returns the left margin.
        Parameters:
        width - the width of the base rectangle.
        Returns:
        The left margin (in Java2D units).
      • calculateRightInset

        public double calculateRightInset​(double width)
        Returns the right margin.
        Parameters:
        width - the width of the base rectangle.
        Returns:
        The right margin (in Java2D units).
      • calculateRightOutset

        public double calculateRightOutset​(double width)
        Returns the right margin.
        Parameters:
        width - the width of the base rectangle.
        Returns:
        The right margin (in Java2D units).
      • trimWidth

        public double trimWidth​(double width)
        Trims the given width to allow for the insets.
        Parameters:
        width - the width.
        Returns:
        The trimmed width.
      • extendWidth

        public double extendWidth​(double width)
        Extends the given width to allow for the insets.
        Parameters:
        width - the width.
        Returns:
        The extended width.
      • trimHeight

        public double trimHeight​(double height)
        Trims the given height to allow for the insets.
        Parameters:
        height - the height.
        Returns:
        The trimmed height.
      • extendHeight

        public double extendHeight​(double height)
        Extends the given height to allow for the insets.
        Parameters:
        height - the height.
        Returns:
        The extended height.
      • trim

        public void trim​(java.awt.geom.Rectangle2D area)
        Shrinks the given rectangle by the amount of these insets.
        Parameters:
        area - the area (null not permitted).