Class: MultiLineWidget

Inherits:
Object
  • Object
show all
Defined in:
lib/delve/widgets/multi_line.rb

Instance Method Summary collapse

Constructor Details

#initialize(x, y, lines) ⇒ MultiLineWidget

Returns a new instance of MultiLineWidget.



2
3
4
5
6
7
8
9
10
# File 'lib/delve/widgets/multi_line.rb', line 2

def initialize(x, y, lines)
  raise 'Cannot initialize text widget when x is nil' unless x
  raise 'Cannot initialize text widget when y is nil' unless y
  raise 'Cannot initialize text widget when lines is nil' unless lines

  @x = x
  @y = y
  @lines = lines
end

Instance Method Details

#draw(display) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/delve/widgets/multi_line.rb', line 12

def draw(display)
  raise 'Cannot draw text when display is nil' unless display

  y = determine_y(display) 
  @lines.each do |line|
    x = determine_x(display)
    line.each_char do |c|
      display.draw x, y, c
      x += 1
    end
    y += 1
  end
end