Margin class

A Margin represents a band of space outside or inside a rectangular area, with possibly different values on each of the four sides.

Example uses include GraphObject#margin, Panel#padding, and Diagram#padding.

Use the static functions Margin.parse and Margin.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 Margin.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.

Available Extensions
Annotations
  • @JS()
  • @staticInterop

Constructors

Margin([num? t, num? r, num? b, num? l])
factory

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

alloc() Margin
free(Margin temp) → void
parse(String str) Margin
This static function can be used to read in a Margin from a string that was produced by Margin.stringify.
stringify(Margin val) String
This static function can be used to write out a Margin as a string that can be read by Margin.parse.