Events

Events — User and window system events

Synopsis




#define             CLUTTER_CURRENT_TIME
#define             CLUTTER_PRIORITY_EVENTS
enum                ClutterModifierType;
enum                ClutterScrollDirection;
enum                ClutterStageState;
enum                ClutterEventType;
union               ClutterEvent;
                    ClutterButtonEvent;
                    ClutterKeyEvent;
                    ClutterMotionEvent;
                    ClutterScrollEvent;
                    ClutterStageStateEvent;
                    ClutterInputDevice;
ClutterEvent*       clutter_event_new                   (ClutterEventType type);
ClutterEvent*       clutter_event_copy                  (ClutterEvent *event);
void                clutter_event_free                  (ClutterEvent *event);
ClutterEventType    clutter_event_type                  (ClutterEvent *event);
void                clutter_event_get_coords            (ClutterEvent *event,
                                                         gint *x,
                                                         gint *y);
ClutterModifierType clutter_event_get_state             (ClutterEvent *event);
guint32             clutter_event_get_time              (ClutterEvent *event);
ClutterEvent*       clutter_event_get                   (void);
ClutterEvent*       clutter_event_peek                  (void);
void                clutter_event_put                   (ClutterEvent *event);
gboolean            clutter_events_pending              (void);
guint32             clutter_button_event_button         (ClutterButtonEvent *buttev);
guint               clutter_key_event_symbol            (ClutterKeyEvent *keyev);
guint16             clutter_key_event_code              (ClutterKeyEvent *keyev);
guint32             clutter_key_event_unicode           (ClutterKeyEvent *keyev);
guint32             clutter_keysym_to_unicode           (guint keyval);


Description

Windowing events handled by Clutter.

Details

CLUTTER_CURRENT_TIME

#define CLUTTER_CURRENT_TIME    0L


CLUTTER_PRIORITY_EVENTS

#define CLUTTER_PRIORITY_EVENTS (G_PRIORITY_DEFAULT)


enum ClutterModifierType

typedef enum {
  CLUTTER_SHIFT_MASK    = 1 << 0,
  CLUTTER_LOCK_MASK     = 1 << 1,
  CLUTTER_CONTROL_MASK  = 1 << 2,
  CLUTTER_MOD1_MASK     = 1 << 3,
  CLUTTER_MOD2_MASK     = 1 << 4,
  CLUTTER_MOD3_MASK     = 1 << 5,
  CLUTTER_MOD4_MASK     = 1 << 6,
  CLUTTER_MOD5_MASK     = 1 << 7,
  CLUTTER_BUTTON1_MASK  = 1 << 8,
  CLUTTER_BUTTON2_MASK  = 1 << 9,
  CLUTTER_BUTTON3_MASK  = 1 << 10,
  CLUTTER_BUTTON4_MASK  = 1 << 11,
  CLUTTER_BUTTON5_MASK  = 1 << 12
} ClutterModifierType;


enum ClutterScrollDirection

typedef enum
{
  CLUTTER_SCROLL_UP,
  CLUTTER_SCROLL_DOWN,
  CLUTTER_SCROLL_LEFT,
  CLUTTER_SCROLL_RIGHT
} ClutterScrollDirection;


enum ClutterStageState

typedef enum
{
  CLUTTER_STAGE_STATE_FULLSCREEN,
  CLUTTER_STAGE_STATE_MAXIMIZED,
  CLUTTER_STAGE_STATE_MINIMIZED,
  CLUTTER_STAGE_STATE_OFFSCREEN
} ClutterStageState;


enum ClutterEventType

typedef enum 
{
  CLUTTER_NOTHING = 0,
  
  CLUTTER_KEY_PRESS,
  CLUTTER_KEY_RELEASE,
  CLUTTER_MOTION,
  CLUTTER_BUTTON_PRESS,
  CLUTTER_2BUTTON_PRESS, 	/* Double click */
  CLUTTER_3BUTTON_PRESS,        /* Triple click */
  CLUTTER_BUTTON_RELEASE,
  CLUTTER_SCROLL,
  CLUTTER_STAGE_STATE,
  CLUTTER_DESTROY_NOTIFY,
  CLUTTER_CLIENT_MESSAGE,
  CLUTTER_DELETE
} ClutterEventType;


union ClutterEvent

union ClutterEvent
{
  ClutterEventType type;
  
  ClutterAnyEvent any;
  ClutterButtonEvent button;
  ClutterKeyEvent key;
  ClutterMotionEvent motion;
  ClutterScrollEvent scroll;
  ClutterStageStateEvent stage_state;
};


ClutterButtonEvent

typedef struct {
  ClutterEventType type;
  guint32 time;
  gint x;
  gint y;
  ClutterModifierType modifier_state;
  guint32 button;
  gdouble *axes; /* Future use */
  ClutterInputDevice *device; /* Future use */
} ClutterButtonEvent;


ClutterKeyEvent

typedef struct {
  ClutterEventType type;
  guint32 time;
  ClutterModifierType modifier_state;
  guint keyval;
  guint16 hardware_keycode;
} ClutterKeyEvent;


ClutterMotionEvent

typedef struct {
  ClutterEventType type;
  guint32 time;
  gint x;
  gint y;
  ClutterModifierType modifier_state;
  gdouble *axes; /* Future use */
  ClutterInputDevice *device; /* Future use */
} ClutterMotionEvent;


ClutterScrollEvent

typedef struct {
  ClutterEventType type;
  guint32 time;
  gint x;
  gint y;
  ClutterScrollDirection direction;
  ClutterModifierType modifier_state;
  gdouble *axes; /* future use */
  ClutterInputDevice *device; /* future use */
} ClutterScrollEvent;


ClutterStageStateEvent

typedef struct {
  ClutterEventType type;
  ClutterStageState changed_mask;
  ClutterStageState new_state;
} ClutterStageStateEvent;


ClutterInputDevice

typedef struct _ClutterInputDevice ClutterInputDevice;


clutter_event_new ()

ClutterEvent*       clutter_event_new                   (ClutterEventType type);

Creates a new ClutterEvent of the specified type.

type : The type of event.
Returns : A newly allocated ClutterEvent.

clutter_event_copy ()

ClutterEvent*       clutter_event_copy                  (ClutterEvent *event);

Copies event.

event : A ClutterEvent.
Returns : A newly allocated ClutterEvent

clutter_event_free ()

void                clutter_event_free                  (ClutterEvent *event);

Frees all resources used by event.

event : A ClutterEvent.

clutter_event_type ()

ClutterEventType    clutter_event_type                  (ClutterEvent *event);

Retrieves the type of the event.

event : a ClutterEvent
Returns : a ClutterEventType

clutter_event_get_coords ()

void                clutter_event_get_coords            (ClutterEvent *event,
                                                         gint *x,
                                                         gint *y);

Retrieves the coordinates of event and puts them into x and y.

event : a ClutterEvent
x : return location for the X coordinate
y : return location for the Y coordinate

Since 0.4


clutter_event_get_state ()

ClutterModifierType clutter_event_get_state             (ClutterEvent *event);

Retrieves the modifier state of the event.

event : a ClutterEvent
Returns : the modifier state parameter, or 0

Since 0.4


clutter_event_get_time ()

guint32             clutter_event_get_time              (ClutterEvent *event);

Retrieves the time of the event.

event : a ClutterEvent
Returns : the time of the event, or CLUTTER_CURRENT_TIME

Since 0.4


clutter_event_get ()

ClutterEvent*       clutter_event_get                   (void);

Pops an event off the event queue. Applications should not need to call this.

Returns : A ClutterEvent or NULL if queue empty

Since 0.4


clutter_event_peek ()

ClutterEvent*       clutter_event_peek                  (void);

Returns a pointer to the first event from the event queue but does not remove it.

Returns : A ClutterEvent or NULL if queue empty.

Since 0.4


clutter_event_put ()

void                clutter_event_put                   (ClutterEvent *event);

Puts a copy of the event on the back on the event queue.

event : a ClutterEvent

Since 0.4


clutter_events_pending ()

gboolean            clutter_events_pending              (void);

Checks if events are pending in the event queue.

Returns : TRUE if there are pending events, FALSE otherwise.

Since 0.4


clutter_button_event_button ()

guint32             clutter_button_event_button         (ClutterButtonEvent *buttev);

Retrieve the button number of the event.

buttev : a ClutterButtonEvent
Returns : the button number.

Since 0.4


clutter_key_event_symbol ()

guint               clutter_key_event_symbol            (ClutterKeyEvent *keyev);

Retrieves the value of the key that caused keyev.

keyev : A ClutterKeyEvent
Returns : The keysym representing the key

clutter_key_event_code ()

guint16             clutter_key_event_code              (ClutterKeyEvent *keyev);

Retrieves the keycode of the key that caused keyev.

keyev : A ClutterKeyEvent
Returns : The keycode representing the key

clutter_key_event_unicode ()

guint32             clutter_key_event_unicode           (ClutterKeyEvent *keyev);

Retrieves the unicode value for the key that caused keyev.

keyev : A ClutterKeyEvent
Returns : The unicode value representing the key

clutter_keysym_to_unicode ()

guint32             clutter_keysym_to_unicode           (guint keyval);

Convert from a Clutter key symbol to the corresponding ISO10646 (Unicode) character.

keyval : a clutter key symbol
Returns : the corresponding unicode character, or 0 if there is no corresponding character.