class Size
class Size
lib/geometry/size.tya:2
Size provides the geometry/Size standard library API.
Source
# Size provides the geometry/Size standard library API.
class Size
# Size.height stores instance state.
# @type Int
height: 0
# Size.width stores instance state.
# @type Int
width: 0
# Size.initialize provides the geometry/Size standard library operation.
# @param width Int width value.
# @param height Int height value.
# @return Self the initialized object.
initialize: width = 0, height = 0 ->
self.width = self.dimension(width, "width")
self.height = self.dimension(height, "height")
# Size.area provides the geometry/Size standard library operation.
# @param size Int size value.
# @return Any the resulting value.
area: size = nil ->
if size == nil
size = self
self.expect(size, "size")
size.width * size.height
# Size.aspect_ratio provides the geometry/Size standard library operation.
# @param size Int size value.
# @return Any the resulting value.
aspect_ratio: size = nil ->
if size == nil
size = self
self.expect(size, "size")
if size.height == 0
raise error("geometry.Size.aspect_ratio: height is zero")
size.width / size.height
# Size.dimension provides the geometry/Size standard library operation.
# @param value String value value.
# @param name String name value.
# @return Any the resulting value.
dimension: value, name ->
if value.class != Number
raise error("geometry.Size: " + name + " must be a number")
if value < 0
raise error("geometry.Size: " + name + " must be non-negative")
value
# Size.equal? provides the geometry/Size standard library operation.
# @param a Int a value.
# @param b Int b value.
# @return Boolean whether the condition is true.
equal?: a, b = nil ->
if b == nil
b = a
a = self
a.class == Size and b.class == Size and a.width == b.width and a.height == b.height
# Size.expect provides the geometry/Size standard library operation.
# @param value String value value.
# @param name String name value.
# @return Any the resulting value.
expect: value, name ->
if value.class != Size
raise error("geometry.Size: " + name + " must be a Size")
# Size.new provides the geometry/Size standard library operation.
# @param width Int width value.
# @param height Int height value.
# @return Self the resulting value.
new: width, height ->
Size(width, height)
# Size.zero provides the geometry/Size standard library operation.
# @return Any the resulting value.
zero: ->
Size(0, 0)
Instance Variables
height
Size.height
lib/geometry/size.tya:5
Size.height stores instance state.
Source
# Size.height stores instance state.
# @type Int
height: 0
width
Size.width
lib/geometry/size.tya:9
Size.width stores instance state.
Source
# Size.width stores instance state.
# @type Int
width: 0
Methods
area
Size.area(size = nil)
lib/geometry/size.tya:22
Size.area provides the geometry/Size standard library operation.
Source
# Size.area provides the geometry/Size standard library operation.
# @param size Int size value.
# @return Any the resulting value.
area: size = nil ->
if size == nil
size = self
self.expect(size, "size")
size.width * size.height
aspect_ratio
Size.aspect_ratio(size = nil)
lib/geometry/size.tya:31
Size.aspect_ratio provides the geometry/Size standard library operation.
Source
# Size.aspect_ratio provides the geometry/Size standard library operation.
# @param size Int size value.
# @return Any the resulting value.
aspect_ratio: size = nil ->
if size == nil
size = self
self.expect(size, "size")
if size.height == 0
raise error("geometry.Size.aspect_ratio: height is zero")
size.width / size.height
dimension
Size.dimension(value, name)
lib/geometry/size.tya:43
Size.dimension provides the geometry/Size standard library operation.
Source
# Size.dimension provides the geometry/Size standard library operation.
# @param value String value value.
# @param name String name value.
# @return Any the resulting value.
dimension: value, name ->
if value.class != Number
raise error("geometry.Size: " + name + " must be a number")
if value < 0
raise error("geometry.Size: " + name + " must be non-negative")
value
equal?
Size.equal?(a, b = nil)
lib/geometry/size.tya:54
Size.equal? provides the geometry/Size standard library operation.
Source
# Size.equal? provides the geometry/Size standard library operation.
# @param a Int a value.
# @param b Int b value.
# @return Boolean whether the condition is true.
equal?: a, b = nil ->
if b == nil
b = a
a = self
a.class == Size and b.class == Size and a.width == b.width and a.height == b.height
expect
Size.expect(value, name)
lib/geometry/size.tya:64
Size.expect provides the geometry/Size standard library operation.
Source
# Size.expect provides the geometry/Size standard library operation.
# @param value String value value.
# @param name String name value.
# @return Any the resulting value.
expect: value, name ->
if value.class != Size
raise error("geometry.Size: " + name + " must be a Size")
initialize
Size.initialize(width = 0, height = 0)
lib/geometry/size.tya:15
Size.initialize provides the geometry/Size standard library operation.
Source
# Size.initialize provides the geometry/Size standard library operation.
# @param width Int width value.
# @param height Int height value.
# @return Self the initialized object.
initialize: width = 0, height = 0 ->
self.width = self.dimension(width, "width")
self.height = self.dimension(height, "height")
new
Size.new(width, height)
lib/geometry/size.tya:72
Size.new provides the geometry/Size standard library operation.
Source
# Size.new provides the geometry/Size standard library operation.
# @param width Int width value.
# @param height Int height value.
# @return Self the resulting value.
new: width, height ->
Size(width, height)
zero
Size.zero()
lib/geometry/size.tya:77
Size.zero provides the geometry/Size standard library operation.
Source
# Size.zero provides the geometry/Size standard library operation.
# @return Any the resulting value.
zero: ->
Size(0, 0)