Method: WindowBlessing::WindowedScreen#initialize

Defined in:
lib/window_blessing/windowed_screen.rb

#initializeWindowedScreen

Returns a new instance of WindowedScreen.



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/window_blessing/windowed_screen.rb', line 17

def initialize
  super
  @root_window = Window.new
  @root_window.buffer.dirty
  @root_window.name = "root_window"

  event_manager.on :tick do
    if root_window.redraw_requested?
      root_window.draw
      buffer = root_window.buffer
      output.draw_buffer buffer.dirty_area.loc, buffer.dirty_subbuffer if buffer.dirty_area
      buffer.clean
    end
  end

  event_manager.on :key_press do |event|
    root_window.route_keyboard_event event
  end

  event_manager.on :string_input do |event|
    root_window.route_keyboard_event event
  end

  event_manager.on :resize do |event|
    root_window.size = event[:size]
    root_window.request_redraw_internal
  end

  event_manager.on :pointer do |event|
    root_window.route_pointer_event event.clone
  end
end