Class: RawLine::Renderer
- Inherits:
-
Object
- Object
- RawLine::Renderer
- Defined in:
- lib/rawline/renderer.rb
Instance Method Summary collapse
-
#initialize(dom:, output:, width:, height:) ⇒ Renderer
constructor
A new instance of Renderer.
- #pause ⇒ Object
- #render(reset: false) ⇒ Object
- #render_cursor ⇒ Object
- #unpause ⇒ Object
- #update_dimensions(width:, height:) ⇒ Object
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
#pause ⇒ Object
15 16 17 |
# File 'lib/rawline/renderer.rb', line 15 def pause @paused = true end |
#render(reset: false) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/rawline/renderer.rb', line 27 def render(reset: false) Treefell['editor'].puts %|#{self.class}##{__callee__} reset=#{reset}}| if @paused Treefell['editor'].puts " paused" if @render_on_unpause_kwargs && @render_on_unpause_kwargs[:reset] reset = true end @render_on_unpause_kwargs = {reset: reset} else Treefell['editor'].puts " unpaused" @render_tree.layout @renderer.render(@render_tree, reset: reset) end end |
#render_cursor ⇒ Object
42 43 44 |
# File 'lib/rawline/renderer.rb', line 42 def render_cursor @renderer.render_cursor(@dom.focused_input_box) end |
#unpause ⇒ Object
19 20 21 22 23 24 25 |
# File 'lib/rawline/renderer.rb', line 19 def unpause @paused = false if @render_on_unpause_kwargs render(**@render_on_unpause_kwargs) @render_on_unpause = nil end end |
#update_dimensions(width:, height:) ⇒ Object
46 47 48 49 |
# File 'lib/rawline/renderer.rb', line 46 def update_dimensions(width:, height:) @render_tree.width = width @render_tree.height = height end |