Class SizeInt

java.lang.Object
com.helger.base.dimension.SizeInt
All Implemented Interfaces:
IHasDimensionInt, IHasHeightInt, IHasWidthInt

@Immutable public class SizeInt extends Object implements IHasDimensionInt
This class represents an object having width and height.
Author:
Philip Helger
  • Constructor Details

    • SizeInt

      public SizeInt(@NonNull IHasDimensionInt aObj)
      Constructor copying from an existing dimension object.
      Parameters:
      aObj - The dimension object to copy from. May not be null.
    • SizeInt

      public SizeInt(@Nonnegative int nWidth, @Nonnegative int nHeight)
      Constructor with width and height.
      Parameters:
      nWidth - The width. Must be ≥ 0.
      nHeight - The height. Must be ≥ 0.
  • Method Details

    • getWidth

      @Nonnegative public int getWidth()
      Specified by:
      getWidth in interface IHasWidthInt
      Returns:
      The width of an object
    • getHeight

      @Nonnegative public int getHeight()
      Specified by:
      getHeight in interface IHasHeightInt
      Returns:
      The height of an object
    • getBestMatchingSize

      @CheckReturnValue public @NonNull SizeInt getBestMatchingSize(@Nonnegative int nMaxWidth, @Nonnegative int nMaxHeight)
      Return the scaled width and height relative to a maximum size.
      Parameters:
      nMaxWidth - Maximum width. Must be > 0.
      nMaxHeight - Maximum height. Must be > 0.
      Returns:
      An array with 2 elements, where the first element is the width, and the second is the height.
    • getScaledToWidth

      @CheckReturnValue public @NonNull SizeInt getScaledToWidth(@Nonnegative int nNewWidth)
      Get a new size that is scaled to the specified width, keeping the aspect ratio.
      Parameters:
      nNewWidth - The new width. Must be > 0.
      Returns:
      A new SizeInt with the scaled dimensions. Never null.
    • getScaledToHeight

      @CheckReturnValue public @NonNull SizeInt getScaledToHeight(@Nonnegative int nNewHeight)
      Get a new size that is scaled to the specified height, keeping the aspect ratio.
      Parameters:
      nNewHeight - The new height. Must be > 0.
      Returns:
      A new SizeInt with the scaled dimensions. Never null.
    • getAdded

      @CheckReturnValue public @NonNull SizeInt getAdded(@NonNull IHasDimensionInt aToAdd)
      Get a new size with the dimensions of the provided object added.
      Parameters:
      aToAdd - The dimension to add. May not be null.
      Returns:
      A new SizeInt. Never null.
    • getSubtracted

      @CheckReturnValue public @NonNull SizeInt getSubtracted(@NonNull IHasDimensionInt aToSubtract)
      Get a new size with the dimensions of the provided object subtracted.
      Parameters:
      aToSubtract - The dimension to subtract. May not be null.
      Returns:
      A new SizeInt. Never null.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object