class EventHandler

Bases: TypedObject

A class to monitor events from the C++ side of things. It maintains a set of “hooks”, function pointers assigned to event names, and calls the appropriate hooks when the matching event is detected.

This class is not necessary when the hooks are detected and processed entirely by the scripting language, e.g. via Scheme hooks or the messenger in Python.

Inheritance diagram

Inheritance diagram of EventHandler

explicit EventHandler(EventQueue *ev_queue)
virtual void dispatch_event(Event const *event)

Calls the hooks assigned to the indicated single event.

static TypeHandle get_class_type(void)
AsyncFuture *get_future(std::string const &event_name)

Returns a pending future that will be marked as done when the event is next fired.

EventHandler *get_global_event_handler(EventQueue *queue = nullptr)

Returns a pointer to the one global EventHandler object. If the global object has not yet been created, this will create it.

void process_events(void)

The main processing loop of the EventHandler. This function must be called periodically to service events. Walks through each pending event and calls its assigned hooks.

void write(std::ostream &out) const