class Curtis::View
Attributes
column[W]
columns[W]
line[W]
lines[W]
Public Class Methods
new(**opts) { |self| ... }
click to toggle source
Calls superclass method
Curtis::BaseView::new
# File lib/curtis/view.rb, line 7 def initialize(**opts) @lines = opts[:lines] || -> { parent.size.lines } @columns = opts[:columns] || -> { parent.size.columns } @line = opts[:line] || 0 @column = opts[:column] || 0 yield self if block_given? super Ncurses::WINDOW.new(*computed_dimensions, *computed_coordinates) end
Public Instance Methods
clear()
click to toggle source
# File lib/curtis/view.rb, line 39 def clear clear_thread! window.clear end
parent()
click to toggle source
# File lib/curtis/view.rb, line 18 def parent BaseView.instance end
render(every: 0.04) { |self| ... }
click to toggle source
# File lib/curtis/view.rb, line 22 def render(every: 0.04) clear_thread! if block_given? @thread = Thread.new do loop do yield self window.refresh sleep every end end else setup window.refresh end end
reposition(line: nil, column: nil)
click to toggle source
# File lib/curtis/view.rb, line 50 def reposition(line: nil, column: nil) @line = line if line @column = column if column window.mvwin(*computed_coordinates) end
resize(lines: nil, columns: nil)
click to toggle source
# File lib/curtis/view.rb, line 44 def resize(lines: nil, columns: nil) @lines = lines if lines @columns = columns if columns window.resize(*computed_dimensions) end
Private Instance Methods
clear_thread!()
click to toggle source
# File lib/curtis/view.rb, line 78 def clear_thread! @thread.terminate if running_thread? @thread = nil unless @thread.nil? end
computed_coordinates()
click to toggle source
# File lib/curtis/view.rb, line 72 def computed_coordinates coordinates.map do |d| d.respond_to?(:call) ? d.call : d end end
computed_dimensions()
click to toggle source
# File lib/curtis/view.rb, line 66 def computed_dimensions dimensions.map do |d| d.respond_to?(:call) ? d.call : d end end
coordinates()
click to toggle source
# File lib/curtis/view.rb, line 62 def coordinates [@line, @column] end
dimensions()
click to toggle source
# File lib/curtis/view.rb, line 58 def dimensions [@lines, @columns] end
running_thread?()
click to toggle source
# File lib/curtis/view.rb, line 83 def running_thread? !@thread.nil? && @thread.alive? end