class TheFox::TermKit::Rect

A composition of the Point class (@origin attribute) and the Size class (@size attribute).

Attributes

origin[R]

Point instance.

size[R]

Size instance.

x_range[R]
y_range[R]

Public Class Methods

new(x = nil, y = nil, width = nil, height = nil) click to toggle source
# File lib/termkit/misc/rect.rb, line 18
def initialize(x = nil, y = nil, width = nil, height = nil)
    @origin = Point.new(x, y)
    @size = Size.new(width, height)
    set_x_range
    set_y_range
end

Public Instance Methods

has_default_values?() click to toggle source
# File lib/termkit/misc/rect.rb, line 69
def has_default_values?
    @origin.x.nil? && @origin.y.nil? && @size.width.nil? && @size.height.nil?
end
height() click to toggle source
# File lib/termkit/misc/rect.rb, line 65
def height
    @size.height
end
inspect() click to toggle source
# File lib/termkit/misc/rect.rb, line 93
def inspect
    x_s = x.nil? ? 'NIL' : x
    y_s = y.nil? ? 'NIL' : y
    
    w_s = width.nil? ? 'NIL' : width
    h_s = height.nil? ? 'NIL' : height
    
    "#<Rect x=#{x_s} y=#{y_s} w=#{w_s} h=#{h_s}>"
end
origin=(origin) click to toggle source
# File lib/termkit/misc/rect.rb, line 25
def origin=(origin)
    @origin = origin
    set_x_range
    set_y_range
end
size=(size) click to toggle source
# File lib/termkit/misc/rect.rb, line 31
def size=(size)
    @size = size
    set_x_range
    set_y_range
end
to_points() click to toggle source
# File lib/termkit/misc/rect.rb, line 73
def to_points
    points = []
    @x_range.each do |x_pos|
        @y_range.each do |y_pos|
            points << Point.new(x_pos, y_pos)
        end
    end
    points
end
to_s() click to toggle source
# File lib/termkit/misc/rect.rb, line 83
def to_s
    x_s = x.nil? ? 'NIL' : x
    y_s = y.nil? ? 'NIL' : y
    
    w_s = width.nil? ? 'NIL' : width
    h_s = height.nil? ? 'NIL' : height
    
    "#{x_s}:#{y_s}[#{w_s}:#{h_s}]"
end
width() click to toggle source
# File lib/termkit/misc/rect.rb, line 61
def width
    @size.width
end
x() click to toggle source
# File lib/termkit/misc/rect.rb, line 37
def x
    @origin.x
end
x_max() click to toggle source
# File lib/termkit/misc/rect.rb, line 41
def x_max
    if !@origin.x.nil? && !@size.width.nil?
        @origin.x + @size.width - 1
    else
        -1
    end
end
y() click to toggle source
# File lib/termkit/misc/rect.rb, line 49
def y
    @origin.y
end
y_max() click to toggle source
# File lib/termkit/misc/rect.rb, line 53
def y_max
    if !@origin.y.nil? && !@size.height.nil?
        @origin.y + @size.height - 1
    else
        -1
    end
end