Class RectangleConstraint


  • public class RectangleConstraint
    extends java.lang.Object
    A description of a constraint for resizing a rectangle. Constraints are immutable.
    • Field Detail

      • width

        private double width
        The width.
      • widthRange

        private Range widthRange
        The width range.
      • height

        private double height
        The fixed or maximum height.
      • heightRange

        private Range heightRange
    • Constructor Detail

      • RectangleConstraint

        public RectangleConstraint​(double w,
                                   double h)
        Creates a new "fixed width and height" instance.
        Parameters:
        w - the fixed width.
        h - the fixed height.
      • RectangleConstraint

        public RectangleConstraint​(Range w,
                                   Range h)
        Creates a new "range width and height" instance.
        Parameters:
        w - the width range.
        h - the height range.
      • RectangleConstraint

        public RectangleConstraint​(Range w,
                                   double h)
        Creates a new constraint with a range for the width and a fixed height.
        Parameters:
        w - the width range.
        h - the fixed height.
      • RectangleConstraint

        public RectangleConstraint​(double w,
                                   Range h)
        Creates a new constraint with a fixed width and a range for the height.
        Parameters:
        w - the fixed width.
        h - the height range.
      • RectangleConstraint

        public RectangleConstraint​(double w,
                                   Range widthRange,
                                   LengthConstraintType widthConstraintType,
                                   double h,
                                   Range heightRange,
                                   LengthConstraintType heightConstraintType)
        Creates a new constraint.
        Parameters:
        w - the fixed or maximum width.
        widthRange - the width range.
        widthConstraintType - the width type.
        h - the fixed or maximum height.
        heightRange - the height range.
        heightConstraintType - the height type.
    • Method Detail

      • getWidth

        public double getWidth()
        Returns the fixed width.
        Returns:
        The width.
      • getWidthRange

        public Range getWidthRange()
        Returns the width range.
        Returns:
        The range (possibly null).
      • getWidthConstraintType

        public LengthConstraintType getWidthConstraintType()
        Returns the constraint type.
        Returns:
        The constraint type (never null).
      • getHeight

        public double getHeight()
        Returns the fixed height.
        Returns:
        The height.
      • getHeightRange

        public Range getHeightRange()
        Returns the width range.
        Returns:
        The range (possibly null).
      • getHeightConstraintType

        public LengthConstraintType getHeightConstraintType()
        Returns the constraint type.
        Returns:
        The constraint type (never null).
      • toUnconstrainedWidth

        public RectangleConstraint toUnconstrainedWidth()
        Returns a constraint that matches this one on the height attributes, but has no width constraint.
        Returns:
        A new constraint.
      • toUnconstrainedHeight

        public RectangleConstraint toUnconstrainedHeight()
        Returns a constraint that matches this one on the width attributes, but has no height constraint.
        Returns:
        A new constraint.
      • toFixedWidth

        public RectangleConstraint toFixedWidth​(double width)
        Returns a constraint that matches this one on the height attributes, but has a fixed width constraint.
        Parameters:
        width - the fixed width.
        Returns:
        A new constraint.
      • toFixedHeight

        public RectangleConstraint toFixedHeight​(double height)
        Returns a constraint that matches this one on the width attributes, but has a fixed height constraint.
        Parameters:
        height - the fixed height.
        Returns:
        A new constraint.
      • toRangeWidth

        public RectangleConstraint toRangeWidth​(Range range)
        Returns a constraint that matches this one on the height attributes, but has a range width constraint.
        Parameters:
        range - the width range (null not permitted).
        Returns:
        A new constraint.
      • toRangeHeight

        public RectangleConstraint toRangeHeight​(Range range)
        Returns a constraint that matches this one on the width attributes, but has a range height constraint.
        Parameters:
        range - the height range (null not permitted).
        Returns:
        A new constraint.
      • toString

        public java.lang.String toString()
        Returns a string representation of this instance, mostly used for debugging purposes.
        Overrides:
        toString in class java.lang.Object
        Returns:
        A string.
      • calculateConstrainedSize

        public Size2D calculateConstrainedSize​(Size2D base)
        Returns the new size that reflects the constraints defined by this instance.
        Parameters:
        base - the base size.
        Returns:
        The constrained size.