Class: RawLine::Renderer

Inherits:
Object
  • Object
show all
Defined in:
lib/rawline/renderer.rb

Instance Method Summary collapse

Constructor Details

#initialize(dom:, output:, width:, height:) ⇒ Renderer

Returns a new instance of Renderer.



3
4
5
6
7
8
9
10
11
12
13
# File 'lib/rawline/renderer.rb', line 3

def initialize(dom:, output:, width:, height:)
  @dom = dom
  @output = output
  @renderer = TerminalLayout::TerminalRenderer.new(output: output)
  @render_tree = TerminalLayout::RenderTree.new(
    dom,
    parent: nil,
    style: { width: width, height: height },
    renderer: @renderer
  )
end

Instance Method Details

#render(reset: false) ⇒ Object



15
16
17
18
# File 'lib/rawline/renderer.rb', line 15

def render(reset: false)
  @render_tree.layout
  @renderer.render(@render_tree, reset: reset)
end

#render_cursor(input_box) ⇒ Object



20
21
22
# File 'lib/rawline/renderer.rb', line 20

def render_cursor(input_box)
  @renderer.render_cursor(input_box)
end

#update_dimensions(width:, height:) ⇒ Object



24
25
26
27
# File 'lib/rawline/renderer.rb', line 24

def update_dimensions(width:, height:)
  @render_tree.width = width
  @render_tree.height = height
end