Class: RBGL::GUI::Window::EventDispatcher

Inherits:
Object
  • Object
show all
Defined in:
lib/rbgl/gui/window/event_dispatcher.rb

Instance Method Summary collapse

Constructor Details

#initialize(backend:, event_handlers:, on_resize:) ⇒ EventDispatcher

Returns a new instance of EventDispatcher.



7
8
9
10
11
# File 'lib/rbgl/gui/window/event_dispatcher.rb', line 7

def initialize(backend:, event_handlers:, on_resize:)
  @backend = backend
  @event_handlers = event_handlers
  @on_resize = on_resize
end

Instance Method Details

#processObject



13
14
15
16
17
18
19
20
# File 'lib/rbgl/gui/window/event_dispatcher.rb', line 13

def process
  Array(poll_events).each do |event|
    next unless event.is_a?(Event)

    @on_resize.call(event) if event.type == :resize
    @event_handlers[event.type].each { |handler| handler.call(event) }
  end
end