Procházet zdrojové kódy

* Documented caca_event_t members.

tags/v0.99.beta14
Sam Hocevar sam před 18 roky
rodič
revize
17db9e489b
1 změnil soubory, kde provedl 43 přidání a 29 odebrání
  1. +43
    -29
      caca/caca.h

+ 43
- 29
caca/caca.h Zobrazit soubor

@@ -33,40 +33,23 @@ extern "C"
{
#endif

/** \e libcaca context */
/** \e libcaca display context */
typedef struct caca_display caca_display_t;
/** event structure */
/** \e libcaca event structure */
typedef struct caca_event caca_event_t;

/** \brief User events.
/** \brief Handling of user events.
*
* This structure is filled by caca_get_event() when an event is received.
* The \e type field is always valid. The validity of the \e data union
* depends on the value of the \e type field:
* - \b CACA_EVENT_NONE: no other field is valid.
* - \b CACA_EVENT_KEY_PRESS, \b CACA_EVENT_KEY_RELEASE: the \e data.key.ch
* field is valid and contains either the ASCII value for the key, or
* an \e enum \e caca_key value. If the value is a printable ASCII
* character, the \e data.key.utf32 and \e data.key.utf8 fields are
* also filled and contain respectively the UTF-32/UCS-4 and the UTF-8
* representations of the character. Otherwise, their content is
* undefined.
* - \b CACA_EVENT_MOUSE_PRESS, \b CACA_EVENT_MOUSE_RELEASE: the
* \e data.mouse.button field is valid and contains the index of the
* mouse button that was pressed.
* - \b CACA_EVENT_MOUSE_MOTION: the \e data.mouse.x and \e data.mouse.y
* fields are valid and contain the mouse coordinates in character
* cells.
* - \b CACA_EVENT_RESIZE: the \e data.resize.w and \e data.resize.h
* fields are valid and contain the new width and height values of
* the \e libcucul canvas attached to \e libcaca.
* - \b CACA_EVENT_QUIT: no other field is valid.
*
* The result of accessing data members outside the above conditions is
* undefined.
*/
* The \e type field is always valid. */
struct caca_event
{
/** \brief User event type enumeration.
*
* This enum serves two purposes:
* - Build listening masks for caca_get_event().
* - Define the type of a \e caca_event_t.
*/
enum caca_event_type
{
CACA_EVENT_NONE = 0x0000, /**< No event. */
@@ -80,8 +63,39 @@ struct caca_event
CACA_EVENT_QUIT = 0x0040, /**< The user requested to quit. */

CACA_EVENT_ANY = 0xffff /**< Bitmask for any event. */
} type;

}
/** \brief User event type member.
*
* This field is always valid when caca_get_event() returns.
*/
type;

/** \brief User event data member.
*
* The validity of the \e data union depends on the value of the \e type
* field:
* - \c CACA_EVENT_NONE: no field is valid.
* - \c CACA_EVENT_KEY_PRESS, \c CACA_EVENT_KEY_RELEASE: the
* \e data.key.ch field is valid and contains either the ASCII value for
* the key, or an \e enum \e caca_key value. If the value is a printable
* ASCII character, the \e data.key.utf32 and \e data.key.utf8 fields are
* also filled and contain respectively the UTF-32/UCS-4 and the UTF-8
* representations of the character. Otherwise, their content is
* undefined.
* - \c CACA_EVENT_MOUSE_PRESS, \c CACA_EVENT_MOUSE_RELEASE: the
* \e data.mouse.button field is valid and contains the index of the
* mouse button that was pressed.
* - \c CACA_EVENT_MOUSE_MOTION: the \e data.mouse.x and \e data.mouse.y
* fields are valid and contain the mouse coordinates in character
* cells.
* - \c CACA_EVENT_RESIZE: the \e data.resize.w and \e data.resize.h
* fields are valid and contain the new width and height values of
* the \e libcucul canvas attached to \e libcaca.
* - \c CACA_EVENT_QUIT: no other field is valid.
*
* The result of accessing data members outside the above conditions is
* undefined.
*/
union
{
struct { unsigned int x, y, button; } mouse;


Načítá se…
Zrušit
Uložit