Class SizeDouble

java.lang.Object
com.helger.base.dimension.SizeDouble
All Implemented Interfaces:
IHasDimensionDouble, IHasHeightDouble, IHasWidthDouble

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

    • SizeDouble

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

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

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

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

      public SizeDouble(@Nonnegative double dWidth, @Nonnegative double dHeight)
      Constructor with width and height.
      Parameters:
      dWidth - The width. Must be ≥ 0.
      dHeight - The height. Must be ≥ 0.
  • Method Details

    • getWidth

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

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

      @CheckReturnValue public @NonNull SizeDouble getBestMatchingSize(@Nonnegative double dMaxWidth, @Nonnegative double dMaxHeight)
      Return the scaled width and height relative to a maximum size.
      Parameters:
      dMaxWidth - Maximum width. Must be > 0.
      dMaxHeight - 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 SizeDouble getScaledToWidth(@Nonnegative double dNewWidth)
      Get a new size that is scaled to the specified width, keeping the aspect ratio.
      Parameters:
      dNewWidth - The new width. Must be > 0.
      Returns:
      A new SizeDouble with the scaled dimensions. Never null.
    • getScaledToHeight

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

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

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

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

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

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

      @CheckReturnValue public @NonNull SizeDouble getSubtracted(@NonNull IHasDimensionDouble aToSubtract)
      Get a new size with the dimensions of the provided double dimension subtracted.
      Parameters:
      aToSubtract - The dimension to subtract. May not be null.
      Returns:
      A new SizeDouble. 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