Equalizer  2.0.0
Parallel Rendering Framework
Event Handling v2

This specification outlines the archicture for event handling introduced in Equalizer 2.0.

Requirements

  • Modern event definitions using EventI/OCommand

Data Flow

  • The (agl,glx,wgl,qt) EventHandler receives a system event
  • The event handler decodes the event into a PointerEvent, KeyEvent, SizeEvent, ButtonEvent, AxisEvent or stateless event
  • The event handler calls (agl,glx,wgl,qt)
    1 {Window::processEvent(}
    2 * The system window performs system operations if necessary, and calls
    3  ```GLWindow::processEvent( event type, [, translated event ]
  • The GL window performs OpenGL procession if necessary, and calls
    1 {Window::processEvent(}
    2 * The eq::Window performs window updates and transforms the event to the
    3  respective Channel coordinates (for PointerEvent) or calls
    4  ```Config::sendEvent( event type ) << even
  • The eq::Channel performs channel updates and calls
    1 {Config::sendEvent(}
    2 * Config::sendEvent transmits the event to the application node
    3 * The application calls Config::handleEvents, which receives the event
    4  and calls ```Config::handleEvent( EventICommand
  • Config::handleEvent decodes the command and calls one of the Config::handeEvent( event type, event )