Subclass of Interaction Feuille received interactions events. They are currently 3 possible sources:
One of the key aspect of the mural is that several users probably using several input devices will interact at the same time.
Interaction(Mural32 new_x = 0, Mural32 new_y = 0, MuralU32 new_widht = DEFAULT_WIDTH, MuralU32 new_height = DEFAULT_HEIGHT, ObjectType new_type = TypeGraphic, const char *new_name = ""):
new_x, new_y provide the initial position for the feuille,
new_width, new_height provide the initial width and height of a the feuille (160X120 by default),
new_type provide the type of the object being created
new_name provide an optional name.
virtual Dispatcher::DispatchType interaction_action(Dispatcher::DispatchType type, Dispatcher::InteractionEvent *event)
- interaction_action will be called each time a new event new event need to handled by type describe the source of the event:
- NamedDevice means that the event come from device queue,
- NamedDeviceGrabbed means that the event come the device queue but has been grabbed before,
- Dispatched means that the event come from window dispatch (i.e. the event location is in the window bounding box extended by 30 pixels in all direction),
- DispatchedGrabbed means that the event come from window dispatch but has been grabbed before,
- FocusGrab means that the event come from one of the device focus grab queue.
event describe the event to be handled. See the Dispatcher description for more detail. The function return the new dispatch type after the event has been processed.
The default behavior of the function is to ignore the event and returns type.