### Hierarchy

- Size

A Size describes a width and a height in two-dimensional coordinates. The width and height must both be non-negative.

Use the static functions Size.parse and Size.stringify to convert to and from a standard string representation that is independent of the current locale.

When an instance of this class is the value of a property of a GraphObject class or Diagram or CommandHandler or a Tool class, you should treat the object as if it were frozen or read-only -- you cannot modify its properties. This allows the property to return a value without allocating a new instance. If you need to do your own calculations with the value, call copy to make a new instance with the same values that you can modify.

Many methods modify the object's properties and then return a reference to "this" object. The only instance method to allocate a new object is the copy method. The static Size.parse method also allocates a new object.

The "Debug" implementation of this class is significantly slower than the "Release" implementation, mostly due to additional error checking.

You cannot inherit from this class.

## Index

### Constructors

- constructor

### Properties

- height
- width

### Methods

- copy
- equalTo
- equals
- isReal
- parse
- set
- setTo
- stringify

## Constructors

### constructor

- new Size(w?: number, h?: number): Size

- The default constructor produces the Size(0,0). This constructor may take either zero arguments or two arguments.

  #### Parameters

  - ##### Optional w: number

    The initial width (must be non-negative).

  - ##### Optional h: number

    The initial height (must be non-negative).

  #### Returns Size

## Properties

### height : number

- Gets or sets the height value of the Size. The value must not be negative.

### width : number

- Gets or sets the width value of the Size. The value must not be negative.

## Methods

### Virtual copy

- copy(): Size

- Create a copy of this Size, with the same values.

  #### Returns Size

### equalTo

- equalTo(w: number, h: number): boolean

- Indicates whether the given size is equal to this Size.

  see

    equals

  #### Parameters

  - ##### w: number

    the width.

  - ##### h: number

    the height.

  #### Returns boolean

  True if the Sizes have the same width and height, false otherwise.

### equals

- equals(s: Size): boolean

- Indicates whether the given Size is equal to the current Size.

  see

    equalTo

  #### Parameters

  - ##### s: Size

    The Size to compare to the current Size.

  #### Returns boolean

  True if the Sizes have the same width and height, false otherwise.

### isReal

- isReal(): boolean

- True if this Size has Width and Height values that are real numbers and not infinity.

  #### Returns boolean

### Static parse

- parse(str: string): Size

- This static function can be used to read in a Size from a string that was produced by Size.stringify.

  `go.Size.parse("1 2")` produces the Size `new go.Size(1, 2)`.

  #### Parameters

  - ##### str: string

  #### Returns Size

### set

- set(s: Size): Size

- Modify this Size so that its Width and Height values are the same as the given Size.

  #### Parameters

  - ##### s: Size

    the given Size.

  #### Returns Size

  this.

### setTo

- setTo(w: number, h: number): Size

- Modify this Size with new Width and Height values.

  #### Parameters

  - ##### w: number

    the width.

  - ##### h: number

    the height.

  #### Returns Size

  this.

### Static stringify

- stringify(val: Size): string

- This static function can be used to write out a Size as a string that can be read by Size.parse.

  `go.Size.stringify(new go.Size(1, 2))` produces the string "1 2".

  #### Parameters

  - ##### val: Size

  #### Returns string

Copyright © 1998-2021 by Northwoods Software Corporation.