| ## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# iEventPlug Struct Reference
[Event handling]

Event plug interface, also referred as "event source". More...

`#include <iutil/event.h>`

Inheritance diagram for iEventPlug:

[legend]
List of all members.

## Public Member Functions
virtual void | EnableEvents (unsigned, bool)
| Enable or disable certain event class(es).
virtual unsigned | GetPotentiallyConflictingEvents ()=0
| Get the mask of events that can be generated by this source and are generated directly from user actions (e.g.
virtual unsigned | QueryEventPriority (unsigned iType)=0
| Query how strong the plug's wish to generate certain class of events is.

## Detailed Description

Event plug interface, also referred as "event source".

This interface should be implemented by any plugin that wants to be able to generate events and to put them into system event queue. The plugin registers itself with an event queue as an event source, and gets a pointer to a new iEventOutlet object which manages event the event flow from this particular event source.

Definition at line 392 of file event.h.

## Member Function Documentation

virtual void iEventPlug::EnableEvents | ( | unsigned | ,
|  | bool |  |
| ) |  |  | `[inline, virtual]`

Enable or disable certain event class(es).

This is not a mandatory function; in fact most event plugs may safely ignore it. The mean of this function is purely advisory; for example if both keyup and keydown events are disabled the plug may want to release the keyboard and so on.

Definition at line 422 of file event.h.

virtual unsigned iEventPlug::GetPotentiallyConflictingEvents | ( |  | ) | `[pure virtual]`

Get the mask of events that can be generated by this source and are generated directly from user actions (e.g.

key presses, mouse clicks and so on). This is used to locate potentialy conflicting combinations of event source plugins (for example two event sources may generate a csevKeyDown event each from every key press).

The mask is a combination of CSEVTYPE_XXX values ORed together.

Implemented in csGraphics2DGLCommon.

virtual unsigned iEventPlug::QueryEventPriority | ( | unsigned | iType | ) | `[pure virtual]`

Query how strong the plug's wish to generate certain class of events is.

The plug with the strongest wish wins. The argument is one of CSEVTYPE_XXX values (but never a combination of several OR'ed together).

The typical value is somewhere around 100; the event plugs which are sometimes implemented inside the system drivers (such as for Windows and DJGPP) usually have the priority 100.

Implemented in csGraphics2DGLCommon.

The documentation for this struct was generated from the following file:

- iutil/event.h