Doxygenify events.h and eventconvert.c

Should have done that before pushing, but oh well.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
Peter Hutterer 2009-02-23 22:39:08 +10:00
parent 170cf1270d
commit 26cf709e71
2 changed files with 71 additions and 109 deletions

View File

@ -23,8 +23,9 @@
*/ */
/** /**
* @file This file contains event conversion routines from InternalEvent to * @file eventconvert.c
* the matching protocol events. * This file contains event conversion routines from InternalEvent to the
* matching protocol events.
*/ */
#ifdef HAVE_DIX_CONFIG_H #ifdef HAVE_DIX_CONFIG_H
@ -50,14 +51,15 @@ static int eventToClassesChanged(DeviceChangedEvent *ev, xEvent **dcce,
int *count); int *count);
/** /**
* Convert the given event @ev to the respective core event and store it in * Convert the given event to the respective core event.
* @core.
* *
* Return values: * Return values:
* Success ... @core contains the matching core event. * Success ... core contains the matching core event.
* BadValue .. One or more values in the internal event are invalid. * BadValue .. One or more values in the internal event are invalid.
* BadMatch .. The event has no core equivalent. * BadMatch .. The event has no core equivalent.
* *
* @param[in] event The event to convert into a core event.
* @param[in] core The memory location to store the core event at.
* @return Success or the matching error code. * @return Success or the matching error code.
*/ */
int int
@ -96,13 +98,17 @@ EventToCore(InternalEvent *event, xEvent *core)
} }
/** /**
* Convert the given event @ev to the respective XI 1.x event and store it in * Convert the given event to the respective XI 1.x event and store it in
* @xi. @xi is allocated on demand and must be freed by the caller. * xi. xi is allocated on demand and must be freed by the caller.
* @count returns the number of events in @xi. If @count is 1, and the type of * count returns the number of events in xi. If count is 1, and the type of
* @xi is GenericEvent, then @xi may be larger than 32 bytes. * xi is GenericEvent, then xi may be larger than 32 bytes.
* *
* If the event cannot be converted into an XI event because of protocol * If the event cannot be converted into an XI event because of protocol
* restrictions, @count is 0 and Success is returned. * restrictions, count is 0 and Success is returned.
*
* @param[in] ev The event to convert into an XI 1 event.
* @param[out] xi Future memory location for the XI event.
* @param[out] count Number of elements in xi.
*/ */
int int
EventToXI(InternalEvent *ev, xEvent **xi, int *count) EventToXI(InternalEvent *ev, xEvent **xi, int *count)
@ -183,8 +189,8 @@ eventToKeyButtonPointer(DeviceEvent *ev, xEvent **xi, int *count)
/** /**
* Set @first to the first valuator in the event @ev and return the number of * Set first to the first valuator in the event ev and return the number of
* valuators from @first to the last set valuator. * valuators from first to the last set valuator.
*/ */
static int static int
countValuators(DeviceEvent *ev, int *first) countValuators(DeviceEvent *ev, int *first)
@ -282,7 +288,7 @@ eventToClassesChanged(DeviceChangedEvent *ev, xEvent **xi, int *count)
} }
/** /**
* Return the corresponding core type for the given @event or 0 if no core * Return the corresponding core type for the given event or 0 if no core
* equivalent exists. * equivalent exists.
*/ */
int int
@ -301,7 +307,7 @@ GetCoreType(InternalEvent *event)
} }
/** /**
* Return the corresponding XI 1.x type for the given @event or 0 if no * Return the corresponding XI 1.x type for the given event or 0 if no
* equivalent exists. * equivalent exists.
*/ */
int int

View File

@ -26,7 +26,8 @@
#define EVENTS_H #define EVENTS_H
/** /**
* @file This file describes the event structures used internally by the X * @file events.h
* This file describes the event structures used internally by the X
* server during event generation and event processing. * server during event generation and event processing.
* *
* When are internal events used? * When are internal events used?
@ -62,69 +63,44 @@ enum {
} EventType; } EventType;
/** /**
* Device event, used for ALL input device events internal in the server until * Used for ALL input device events internal in the server until
* copied into the matching protocol event. * copied into the matching protocol event.
* *
* Note: We only use the device id because the DeviceIntPtr may become invalid while * Note: We only use the device id because the DeviceIntPtr may become invalid while
* the event is in the EQ. * the event is in the EQ.
*
* @header: Always ET_Internal
* @type: One of EventType.
* @length: Length in bytes.
* @time: Time in ms.
* @deviceid: Device to post this event for.
* @sourceid: The physical source device.
* @key: Keycode of the event
* @button: Button number of the event.
* @root_x: Position relative to root window in 16.16 fixed point
* screen coordinates
* @root_y: Position relative to root window in 16.16 fixed point
* screen coordinates
* @buttons: Button mask.
* @valuators.mask: Valuator mask.
* @valuators.mode: Valuator mode. Bit set for Absolute mode, unset for relative.
* @valuators.data: Valuator data. Only set for valuators listed in @mask.
* @mods.base: XKB Base modifiers
* @mods.latched: XKB latched modifiers.
* @mods.locked: XKB locked modifiers.
* @group.base: XKB Base modifiers
* @group.latched: XKB latched modifiers.
* @group.locked: XKB locked modifiers.
* @root: Root window of the event.
* @corestate: Core key/button state BEFORE this event applied.
*/ */
typedef struct typedef struct
{ {
unsigned char header; unsigned char header; /**< Always ET_Internal */
int type; int type; /**< One of EventType */
int length; int length; /**< Length in bytes */
Time time; Time time; /**< Time in ms */
int deviceid; int deviceid; /**< Device to post this event for */
int sourceid; int sourceid; /**< The physical source device */
union { union {
uint32_t button; uint32_t button; /**< Button number */
uint32_t key; uint32_t key; /**< Key code */
} detail; } detail;
uint32_t root_x; uint32_t root_x; /**< Pos relative to root window in 16.16 fixed pt */
uint32_t root_y; uint32_t root_y; /**< Pos relative to root window in 16.16 fixed pt */
uint8_t buttons[(MAX_BUTTONS + 7)/8]; uint8_t buttons[(MAX_BUTTONS + 7)/8]; /**< Button mask */
struct { struct {
uint8_t mask[(MAX_VALUATORS + 7)/8]; uint8_t mask[(MAX_VALUATORS + 7)/8]; /**< Valuator mask */
uint8_t mode[(MAX_VALUATORS + 7)/8]; uint8_t mode[(MAX_VALUATORS + 7)/8]; /**< Valuator mode (Abs or Rel)*/
uint32_t data[MAX_VALUATORS]; uint32_t data[MAX_VALUATORS]; /**< Valuator data */
} valuators; } valuators;
struct { struct {
uint32_t base; uint32_t base; /**< XKB base modifiers */
uint32_t latched; uint32_t latched; /**< XKB latched modifiers */
uint32_t locked; uint32_t locked; /**< XKB locked modifiers */
} mods; } mods;
struct { struct {
uint8_t base; uint8_t base; /**< XKB base group */
uint8_t latched; uint8_t latched; /**< XKB latched group */
uint8_t locked; uint8_t locked; /**< XKB locked group */
} group; } group;
Window root; Window root; /**< Root window of the event */
int corestate; int corestate; /**< Core key/button state BEFORE the event */
} DeviceEvent; } DeviceEvent;
@ -133,25 +109,20 @@ typedef struct
#define HAS_NEW_SLAVE 0x2 #define HAS_NEW_SLAVE 0x2
/** /**
* DeviceChangedEvent, sent whenever a device's capabilities have changed. * Sent whenever a device's capabilities have changed.
*
* @header: Always ET_Internal
* @type: ET_DeviceChanged
* @length: Length in bytes
* @time: Time in ms.
* @flags: Mask of HAS_OLD_SLAVE (if @old_slaveid specifies the previous
* SD) and HAS_NEW_SLAVE (if @new_slaveid specifies the new SD).
* @old_slaveid: Specifies the device previously attached to the MD.
* @new_slaveid: Specifies the device now attached to the SD.
*/ */
typedef struct typedef struct
{ {
unsigned char header; unsigned char header; /**< Always ET_Internal */
int type; int type; /**< ET_DeviceChanged */
int length; int length; /**< Length in bytes */
Time time; Time time; /**< Time in ms */
int flags; int flags; /**< Mask of ::HAS_OLD_SLAVE or ::HAS_NEW_SLAVE */
/** If flags & HAS_OLD_SLAVE is set, old_slaveid specifies SD previously
* attached to this device. */
int old_slaveid; int old_slaveid;
/** If flags & HAS_OLD_SLAVE is set, old_slaveid specifies device now
* attached to this device. */
int new_slaveid; int new_slaveid;
/* FIXME: add the new capabilities here */ /* FIXME: add the new capabilities here */
} DeviceChangedEvent; } DeviceChangedEvent;
@ -159,50 +130,35 @@ typedef struct
#if XFreeXDGA #if XFreeXDGA
/** /**
* DGAEvent, used by DGA to intercept and emulate input events. * DGAEvent, used by DGA to intercept and emulate input events.
*
* @header: Always ET_Internal
* @type: ET_DGAEvent
* @length: Length in bytes
* @time: Time in ms
* @subtype: KeyPress, KeyRelease, ButtonPress, ButtonRelease, MotionNotify
* @detail: Key code or button number.
* @dx: Relative x coordinate
* @dy: Relative y coordinate
* @screen: Screen number this event applies to
* @state: Core modifier/button state
*/ */
typedef struct typedef struct
{ {
unsigned char header; unsigned char header; /**< Always ET_Internal */
int type; int type; /**< ET_DGAEvent */
int length; int length; /**< Length in bytes */
Time time; Time time; /**< Time in ms */
int subtype; int subtype; /**< KeyPress, KeyRelease, ButtonPress,
int detail; ButtonRelease, MotionNotify */
int dx; int detail; /**< Relative x coordinate */
int dy; int dx; /**< Relative x coordinate */
int screen; int dy; /**< Relative y coordinate */
uint16_t state; int screen; /**< Screen number this event applies to */
uint16_t state; /**< Core modifier/button state */
} DGAEvent; } DGAEvent;
#endif #endif
/** /**
* InternalEvent, event type used inside the X server for input event * Event type used inside the X server for input event
* processing. * processing.
*
* @header: Always ET_Internal
* @type: One of ET_*
* @length: Length in bytes
* @time: Time in ms.
*/ */
typedef struct typedef struct
{ {
union { union {
struct { struct {
unsigned char header; unsigned char header; /**< Always ET_Internal */
int type; int type; /**< One of ET_* */
int length; int length; /**< Length in bytes */
Time time; Time time; /**< Time in ms. */
} any; } any;
DeviceEvent device; DeviceEvent device;
DeviceChangedEvent changed; DeviceChangedEvent changed;