class Amun::Windows::BufferWindow

a window to display any buffer or the current buffer

Attributes

mode_line[RW]

Public Class Methods

new(size, buffer = nil) click to toggle source
Calls superclass method Amun::Windows::Base::new
# File lib/amun/windows/buffer_window.rb, line 19
def initialize(size, buffer = nil)
  super(size)
  @buffer = buffer
  @mode_line = ModeLine.new(mode_line_size)
  @text_renderer = TextRenderer.new(text_renderer_size)
end

Public Instance Methods

buffer() click to toggle source

get current buffer that this window is rendering

# File lib/amun/windows/buffer_window.rb, line 42
def buffer
  @buffer || Buffer.current
end
display_buffer(buffer) click to toggle source

set a specific buffer to be displayed in this window

# File lib/amun/windows/buffer_window.rb, line 32
def display_buffer(buffer)
  @buffer = buffer
end
display_current_buffer() click to toggle source

render current buffer from the Buffer class

# File lib/amun/windows/buffer_window.rb, line 37
def display_current_buffer
  @buffer = nil
end
render() click to toggle source
# File lib/amun/windows/buffer_window.rb, line 26
def render
  @text_renderer.render(buffer)
  @mode_line.render(buffer)
end

Private Instance Methods

mode_line_size() click to toggle source
# File lib/amun/windows/buffer_window.rb, line 63
def mode_line_size
  Rect.new(
    top: top + height - 1,
    left: left,
    width: width,
    height: 1
  )
end
resize() click to toggle source
Calls superclass method Amun::Windows::Base#resize
# File lib/amun/windows/buffer_window.rb, line 48
def resize
  super
  @mode_line.size = mode_line_size
  @text_renderer.size = text_renderer_size
end
text_renderer_size() click to toggle source
# File lib/amun/windows/buffer_window.rb, line 54
def text_renderer_size
  Rect.new(
    top: top,
    left: left,
    width: width,
    height: height - 1
  )
end