Dart DocumentationbotSize

Size class

class Size {
  final num width, height;

  const Size(this.width, this.height);

  bool operator ==(Size other) {
    return other != null && width == other.width && height == other.height;
  }

  /**
   * Returns the area of the size (width * height).
   */
  num get area => width * height;

  /**
   * Returns the ratio of the size's width to its height.
   */
  num get aspectRatio => width / height;

  /**
   * Returns true if this Size is the same size or smaller than the
   * [target] size in both dimensions.
   */
  bool fitsInside(Size target) {
    return width <= target.width && height <= target.height;
  }

  /**
   * Returns true if the size has zero area, false if both dimensions
   *     are non-zero numbers.
   */
  bool isEmpty() => area == 0;

  /**
   * Returns the perimeter of the size (width + height) * 2.
   */
  num get perimeter => (width + height) * 2;

  bool get isValid => isValidNumber(width) && isValidNumber(height) &&
      width >= 0 && height >= 0;

  /**
   * Multiplies each dimensions by the provided magnitude and returns a new [Size].
   **/
  Size scale(num magnitude) => new Size(width * magnitude, height * magnitude);

  /**
   * Multiplies each dimensions by the provided magnitude and returns a new [Size].
   **/
  Size operator *(num magnitude) => this.scale(magnitude);

  Vector toVector() => new Vector(width, height);

  /**
   * Returns a nice string representing size.
   * Returns in the form (50 x 73).
   */
  String toString() => "(${width} x ${height})";
}

Constructors

const Size(num width, num height) #

const Size(this.width, this.height);

Properties

final num area #

Returns the area of the size (width * height).

num get area => width * height;

final num aspectRatio #

Returns the ratio of the size's width to its height.

num get aspectRatio => width / height;

final num height #

final num width, height;

final bool isValid #

bool get isValid => isValidNumber(width) && isValidNumber(height) &&
    width >= 0 && height >= 0;

final num perimeter #

Returns the perimeter of the size (width + height) * 2.

num get perimeter => (width + height) * 2;

final Type runtimeType #

inherited from Object

A representation of the runtime type of the object.

external Type get runtimeType;

final num width #

final num width, height;

Operators

Size operator *(num magnitude) #

Multiplies each dimensions by the provided magnitude and returns a new Size.

Size operator *(num magnitude) => this.scale(magnitude);

bool operator ==(Size other) #

The equality operator.

The default behavior for all Objects is to return true if and only if this and other are the same object.

If a subclass overrides the equality operator it should override the hashCode method as well to maintain consistency.

docs inherited from Object
bool operator ==(Size other) {
  return other != null && width == other.width && height == other.height;
}

Methods

bool fitsInside(Size target) #

Returns true if this Size is the same size or smaller than the target size in both dimensions.

bool fitsInside(Size target) {
  return width <= target.width && height <= target.height;
}

int hashCode() #

inherited from Object

Get a hash code for this object.

All objects have hash codes. Hash codes are guaranteed to be the same for objects that are equal when compared using the equality operator ==. Other than that there are no guarantees about the hash codes. They will not be consistent between runs and there are no distribution guarantees.

If a subclass overrides hashCode it should override the equality operator as well to maintain consistency.

external int hashCode();

bool isEmpty() #

Returns true if the size has zero area, false if both dimensions

are non-zero numbers.
bool isEmpty() => area == 0;

noSuchMethod(String name, List args) #

inherited from Object

noSuchMethod is invoked when users invoke a non-existant method on an object. The name of the method and the arguments of the invocation are passed to noSuchMethod. If noSuchMethod returns a value, that value becomes the result of the original invocation.

The default behavior of noSuchMethod is to throw a noSuchMethodError.

external Dynamic noSuchMethod(String name, List args);

const Object() #

inherited from Object

Creates a new Object instance.

Object instances have no meaningful state, and are only useful through their identity. An Object instance is equal to itself only.

const Object();

Size scale(num magnitude) #

Multiplies each dimensions by the provided magnitude and returns a new Size.

Size scale(num magnitude) => new Size(width * magnitude, height * magnitude);

const Size(num width, num height) #

const Size(this.width, this.height);

String toString() #

Returns a nice string representing size. Returns in the form (50 x 73).

String toString() => "(${width} x ${height})";

Vector toVector() #

Vector toVector() => new Vector(width, height);