Top | Description | ![]() |
![]() |
![]() |
![]() |
#define CLUTTER_CURRENT_TIME #define CLUTTER_PRIORITY_EVENTS #define CLUTTER_EVENT_PROPAGATE #define CLUTTER_EVENT_STOP enum ClutterModifierType; enum ClutterScrollDirection; enum ClutterStageState; enum ClutterEventType; union ClutterEvent; enum ClutterEventFlags; struct ClutterButtonEvent; struct ClutterKeyEvent; struct ClutterMotionEvent; struct ClutterScrollEvent; struct ClutterStageStateEvent; struct ClutterCrossingEvent; struct ClutterTouchEvent; ClutterEventSequence; ClutterEvent * clutter_event_new (ClutterEventType type
); ClutterEvent * clutter_event_copy (const ClutterEvent *event
); void clutter_event_free (ClutterEvent *event
); ClutterEventType clutter_event_type (const ClutterEvent *event
); void clutter_event_set_coords (ClutterEvent *event
,gfloat x
,gfloat y
); void clutter_event_get_coords (const ClutterEvent *event
,gfloat *x
,gfloat *y
); void clutter_event_set_state (ClutterEvent *event
,ClutterModifierType state
); ClutterModifierType clutter_event_get_state (const ClutterEvent *event
); void clutter_event_get_state_full (const ClutterEvent *event
,ClutterModifierType *button_state
,ClutterModifierType *base_state
,ClutterModifierType *latched_state
,ClutterModifierType *locked_state
,ClutterModifierType *effective_state
); void clutter_event_set_time (ClutterEvent *event
,guint32 time_
); guint32 clutter_event_get_time (const ClutterEvent *event
); void clutter_event_set_source (ClutterEvent *event
,ClutterActor *actor
); ClutterActor * clutter_event_get_source (const ClutterEvent *event
); void clutter_event_set_stage (ClutterEvent *event
,ClutterStage *stage
); ClutterStage * clutter_event_get_stage (const ClutterEvent *event
); void clutter_event_set_flags (ClutterEvent *event
,ClutterEventFlags flags
); ClutterEventFlags clutter_event_get_flags (const ClutterEvent *event
); gdouble * clutter_event_get_axes (const ClutterEvent *event
,guint *n_axes
); ClutterEventSequence * clutter_event_get_event_sequence (const ClutterEvent *event
); double clutter_event_get_angle (const ClutterEvent *source
,const ClutterEvent *target
); float clutter_event_get_distance (const ClutterEvent *source
,const ClutterEvent *target
); void clutter_event_get_position (const ClutterEvent *event
,ClutterPoint *position
); gboolean clutter_event_has_control_modifier (const ClutterEvent *event
); gboolean clutter_event_has_shift_modifier (const ClutterEvent *event
); gboolean clutter_event_is_pointer_emulated (const ClutterEvent *event
); ClutterEvent * clutter_event_get (void
); ClutterEvent * clutter_event_peek (void
); void clutter_event_put (const ClutterEvent *event
); gboolean clutter_events_pending (void
); gboolean (*ClutterEventFilterFunc) (const ClutterEvent *event
,gpointer user_data
); guint clutter_event_add_filter (ClutterStage *stage
,ClutterEventFilterFunc func
,GDestroyNotify notify
,gpointer user_data
); void clutter_event_remove_filter (guint id
); #define CLUTTER_BUTTON_PRIMARY #define CLUTTER_BUTTON_MIDDLE #define CLUTTER_BUTTON_SECONDARY void clutter_event_set_button (ClutterEvent *event
,guint32 button
); guint32 clutter_event_get_button (const ClutterEvent *event
); guint clutter_event_get_click_count (const ClutterEvent *event
); void clutter_event_set_key_symbol (ClutterEvent *event
,guint key_sym
); guint clutter_event_get_key_symbol (const ClutterEvent *event
); void clutter_event_set_key_code (ClutterEvent *event
,guint16 key_code
); guint16 clutter_event_get_key_code (const ClutterEvent *event
); void clutter_event_set_key_unicode (ClutterEvent *event
,gunichar key_unicode
); gunichar clutter_event_get_key_unicode (const ClutterEvent *event
); guint32 clutter_keysym_to_unicode (guint keyval
); guint clutter_unicode_to_keysym (guint32 wc
); void clutter_event_set_related (ClutterEvent *event
,ClutterActor *actor
); ClutterActor * clutter_event_get_related (const ClutterEvent *event
); void clutter_event_set_scroll_direction (ClutterEvent *event
,ClutterScrollDirection direction
); ClutterScrollDirection clutter_event_get_scroll_direction (const ClutterEvent *event
); void clutter_event_get_scroll_delta (const ClutterEvent *event
,gdouble *dx
,gdouble *dy
); void clutter_event_set_scroll_delta (ClutterEvent *event
,gdouble dx
,gdouble dy
); void clutter_event_set_device (ClutterEvent *event
,ClutterInputDevice *device
); ClutterInputDevice * clutter_event_get_device (const ClutterEvent *event
); void clutter_event_set_source_device (ClutterEvent *event
,ClutterInputDevice *device
); ClutterInputDevice * clutter_event_get_source_device (const ClutterEvent *event
); gint clutter_event_get_device_id (const ClutterEvent *event
); ClutterInputDeviceType clutter_event_get_device_type (const ClutterEvent *event
); guint32 clutter_get_current_event_time (void
); const ClutterEvent * clutter_get_current_event (void
);
Windowing events handled by Clutter.
The events usually come from the windowing backend, but can also be synthesized by Clutter itself or by the application code.
#define CLUTTER_PRIORITY_EVENTS (G_PRIORITY_DEFAULT)
Priority for event handling.
Since 0.4
#define CLUTTER_EVENT_PROPAGATE (FALSE)
Continues the propagation of an event; this macro should be used in event-related signals.
Since 1.10
#define CLUTTER_EVENT_STOP (TRUE)
Stops the propagation of an event; this macro should be used in event-related signals.
Since 1.10
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, #endif CLUTTER_SUPER_MASK = 1 << 26, CLUTTER_HYPER_MASK = 1 << 27, CLUTTER_META_MASK = 1 << 28, #endif CLUTTER_RELEASE_MASK = 1 << 30, /* Combination of CLUTTER_SHIFT_MASK..CLUTTER_BUTTON5_MASK + CLUTTER_SUPER_MASK + CLUTTER_HYPER_MASK + CLUTTER_META_MASK + CLUTTER_RELEASE_MASK */ CLUTTER_MODIFIER_MASK = 0x5c001fff } ClutterModifierType;
Masks applied to a ClutterEvent by modifiers.
Note that Clutter may add internal values to events which include
reserved values such as CLUTTER_MODIFIER_RESERVED_13_MASK
. Your code
should preserve and ignore them. You can use CLUTTER_MODIFIER_MASK
to
remove all reserved values.
Mask applied by the Shift key | |
Mask applied by the Caps Lock key | |
Mask applied by the Control key | |
Mask applied by the first Mod key | |
Mask applied by the second Mod key | |
Mask applied by the third Mod key | |
Mask applied by the fourth Mod key | |
Mask applied by the fifth Mod key | |
Mask applied by the first pointer button | |
Mask applied by the second pointer button | |
Mask applied by the third pointer button | |
Mask applied by the fourth pointer button | |
Mask applied by the fifth pointer button | |
Mask applied by the Super key | |
Mask applied by the Hyper key | |
Mask applied by the Meta key | |
Mask applied during release | |
A mask covering all modifier types |
Since 0.4
typedef enum { /*< prefix=CLUTTER_SCROLL >*/ CLUTTER_SCROLL_UP, CLUTTER_SCROLL_DOWN, CLUTTER_SCROLL_LEFT, CLUTTER_SCROLL_RIGHT, CLUTTER_SCROLL_SMOOTH } ClutterScrollDirection;
Direction of a pointer scroll event.
The CLUTTER_SCROLL_SMOOTH
value implies that the ClutterScrollEvent
has precise scrolling delta information.
Scroll up | |
Scroll down | |
Scroll left | |
Scroll right | |
Precise scrolling delta (available in 1.10) |
Since 0.4
typedef enum { CLUTTER_STAGE_STATE_FULLSCREEN = (1 << 1), CLUTTER_STAGE_STATE_OFFSCREEN = (1 << 2), CLUTTER_STAGE_STATE_ACTIVATED = (1 << 3) } ClutterStageState;
Stage state masks, used by the ClutterEvent of type CLUTTER_STAGE_STATE
.
Fullscreen mask | |
Offscreen mask (deprecated) | |
Activated mask |
Since 0.4
typedef enum { /*< prefix=CLUTTER >*/ CLUTTER_NOTHING = 0, CLUTTER_KEY_PRESS, CLUTTER_KEY_RELEASE, CLUTTER_MOTION, CLUTTER_ENTER, CLUTTER_LEAVE, CLUTTER_BUTTON_PRESS, CLUTTER_BUTTON_RELEASE, CLUTTER_SCROLL, CLUTTER_STAGE_STATE, CLUTTER_DESTROY_NOTIFY, CLUTTER_CLIENT_MESSAGE, CLUTTER_DELETE, CLUTTER_TOUCH_BEGIN, CLUTTER_TOUCH_UPDATE, CLUTTER_TOUCH_END, CLUTTER_TOUCH_CANCEL, CLUTTER_EVENT_LAST /* helper */ } ClutterEventType;
Types of events.
Empty event | |
Key press event | |
Key release event | |
Pointer motion event | |
Actor enter event | |
Actor leave event | |
Pointer button press event | |
Pointer button release event | |
Pointer scroll event | |
Stage state change event | |
Destroy notification event | |
Client message event | |
Stage delete event | |
A new touch event sequence has started; event added in 1.10 | |
A touch event sequence has been updated; event added in 1.10 | |
A touch event sequence has finished; event added in 1.10 | |
A touch event sequence has been canceled; event added in 1.10 | |
Marks the end of the ClutterEventType enumeration; added in 1.10 |
Since 0.4
typedef enum { /*< flags prefix=CLUTTER_EVENT >*/ CLUTTER_EVENT_NONE = 0, CLUTTER_EVENT_FLAG_SYNTHETIC = 1 << 0 } ClutterEventFlags;
Flags for the ClutterEvent
Since 0.6
struct ClutterButtonEvent { ClutterEventType type; guint32 time; ClutterEventFlags flags; ClutterStage *stage; ClutterActor *source; gfloat x; gfloat y; ClutterModifierType modifier_state; guint32 button; guint click_count; gdouble *axes; /* Future use */ ClutterInputDevice *device; };
Button event.
The event coordinates are relative to the stage that received the
event, and can be transformed into actor-relative coordinates by
using clutter_actor_transform_stage_point()
.
ClutterEventType |
event type |
event time | |
ClutterEventFlags |
event flags |
ClutterStage * |
event source stage |
ClutterActor * |
event source actor |
event X coordinate, relative to the stage | |
event Y coordinate, relative to the stage | |
ClutterModifierType |
button modifiers |
event button | |
number of button presses within the default time and radius | |
reserved for future use | |
ClutterInputDevice * |
the device that originated the event. If you want the physical
device the event originated from, use clutter_event_get_source_device()
|
Since 0.2
struct ClutterKeyEvent { ClutterEventType type; guint32 time; ClutterEventFlags flags; ClutterStage *stage; ClutterActor *source; ClutterModifierType modifier_state; guint keyval; guint16 hardware_keycode; gunichar unicode_value; ClutterInputDevice *device; };
Key event
ClutterEventType |
event type |
event time | |
ClutterEventFlags |
event flags |
ClutterStage * |
event source stage |
ClutterActor * |
event source actor |
ClutterModifierType |
key modifiers |
raw key value | |
raw hardware key value | |
Unicode representation | |
ClutterInputDevice * |
the device that originated the event. If you want the physical
device the event originated from, use clutter_event_get_source_device()
|
Since 0.2
struct ClutterMotionEvent { ClutterEventType type; guint32 time; ClutterEventFlags flags; ClutterStage *stage; ClutterActor *source; gfloat x; gfloat y; ClutterModifierType modifier_state; gdouble *axes; /* Future use */ ClutterInputDevice *device; };
Event for the pointer motion
ClutterEventType |
event type |
event time | |
ClutterEventFlags |
event flags |
ClutterStage * |
event source stage |
ClutterActor * |
event source actor |
event X coordinate | |
event Y coordinate | |
ClutterModifierType |
button modifiers |
reserved for future use | |
ClutterInputDevice * |
the device that originated the event. If you want the physical
device the event originated from, use clutter_event_get_source_device()
|
Since 0.2
struct ClutterScrollEvent { ClutterEventType type; guint32 time; ClutterEventFlags flags; ClutterStage *stage; ClutterActor *source; gfloat x; gfloat y; ClutterScrollDirection direction; ClutterModifierType modifier_state; gdouble *axes; /* future use */ ClutterInputDevice *device; };
Scroll wheel (or similar device) event
ClutterEventType |
event type |
event time | |
ClutterEventFlags |
event flags |
ClutterStage * |
event source stage |
ClutterActor * |
event source actor |
event X coordinate | |
event Y coordinate | |
ClutterScrollDirection |
direction of the scrolling |
ClutterModifierType |
button modifiers |
reserved for future use | |
ClutterInputDevice * |
the device that originated the event. If you want the physical
device the event originated from, use clutter_event_get_source_device()
|
Since 0.2
struct ClutterStageStateEvent { ClutterEventType type; guint32 time; ClutterEventFlags flags; ClutterStage *stage; ClutterActor *source; /* XXX: should probably be the stage itself */ ClutterStageState changed_mask; ClutterStageState new_state; };
Event signalling a change in the ClutterStage state.
ClutterEventType |
event type |
event time | |
ClutterEventFlags |
event flags |
ClutterStage * |
event source stage |
ClutterActor * |
event source actor (unused) |
ClutterStageState |
bitwise OR of the changed flags |
ClutterStageState |
bitwise OR of the current state flags |
Since 0.2
struct ClutterCrossingEvent { ClutterEventType type; guint32 time; ClutterEventFlags flags; ClutterStage *stage; ClutterActor *source; gfloat x; gfloat y; ClutterInputDevice *device; ClutterActor *related; };
Event for the movement of the pointer across different actors
ClutterEventType |
event type |
event time | |
ClutterEventFlags |
event flags |
ClutterStage * |
event source stage |
ClutterActor * |
event source actor |
event X coordinate | |
event Y coordinate | |
ClutterInputDevice * |
the device that originated the event. If you want the physical
device the event originated from, use clutter_event_get_source_device()
|
ClutterActor * |
actor related to the crossing |
Since 0.2
struct ClutterTouchEvent { ClutterEventType type; guint32 time; ClutterEventFlags flags; ClutterStage *stage; ClutterActor *source; gfloat x; gfloat y; ClutterEventSequence *sequence; ClutterModifierType modifier_state; gdouble *axes; /* reserved */ ClutterInputDevice *device; };
Used for touch events.
The type
field will be one of CLUTTER_TOUCH_BEGIN
, CLUTTER_TOUCH_END
,
CLUTTER_TOUCH_UPDATE
, or CLUTTER_TOUCH_CANCEL
.
Touch events are grouped into sequences; each touch sequence will begin
with a CLUTTER_TOUCH_BEGIN
event, progress with CLUTTER_TOUCH_UPDATE
events, and end either with a CLUTTER_TOUCH_END
event or with a
CLUTTER_TOUCH_CANCEL
event.
With multi-touch capable devices there can be multiple event sequence running at the same time.
ClutterEventType |
event type |
event time | |
ClutterEventFlags |
event flags |
ClutterStage * |
event source stage |
ClutterActor * |
event source actor (unused) |
the X coordinate of the pointer, relative to the stage | |
the Y coordinate of the pointer, relative to the stage | |
ClutterEventSequence * |
the event sequence that this event belongs to |
ClutterModifierType |
a bit-mask representing the state of modifier keys (e.g. Control, Shift, and Alt) and the pointer buttons. See ClutterModifierType. [type ClutterModifierType] |
reserved | |
ClutterInputDevice * |
the device that originated the event. If you want the physical
device the event originated from, use clutter_event_get_source_device()
|
Since 1.10
typedef struct _ClutterEventSequence ClutterEventSequence;
The ClutterEventSequence structure is an opaque type used to denote the event sequence of a touch event.
Since 1.12
ClutterEvent * clutter_event_new (ClutterEventType type
);
Creates a new ClutterEvent of the specified type.
|
The type of event. |
Returns : |
A newly allocated ClutterEvent. [transfer full] |
ClutterEvent * clutter_event_copy (const ClutterEvent *event
);
Copies event
.
|
A ClutterEvent. |
Returns : |
A newly allocated ClutterEvent. [transfer full] |
void clutter_event_free (ClutterEvent *event
);
Frees all resources used by event
.
|
A ClutterEvent. |
ClutterEventType clutter_event_type (const ClutterEvent *event
);
Retrieves the type of the event.
|
a ClutterEvent |
Returns : |
a ClutterEventType |
void clutter_event_set_coords (ClutterEvent *event
,gfloat x
,gfloat y
);
Sets the coordinates of the event
.
|
a ClutterEvent |
|
the X coordinate of the event |
|
the Y coordinate of the event |
Since 1.8
void clutter_event_get_coords (const ClutterEvent *event
,gfloat *x
,gfloat *y
);
Retrieves the coordinates of event
and puts them into x
and y
.
|
a ClutterEvent |
|
return location for the X coordinate, or NULL . [out]
|
|
return location for the Y coordinate, or NULL . [out]
|
Since 0.4
void clutter_event_set_state (ClutterEvent *event
,ClutterModifierType state
);
Sets the modifier state of the event.
|
a ClutterEvent |
|
the modifier state to set |
Since 1.8
ClutterModifierType clutter_event_get_state (const ClutterEvent *event
);
Retrieves the modifier state of the event. In case the window system supports reporting latched and locked modifiers, this function returns the effective state.
|
a ClutterEvent |
Returns : |
the modifier state parameter, or 0 |
Since 0.4
void clutter_event_get_state_full (const ClutterEvent *event
,ClutterModifierType *button_state
,ClutterModifierType *base_state
,ClutterModifierType *latched_state
,ClutterModifierType *locked_state
,ClutterModifierType *effective_state
);
Retrieves the decomposition of the keyboard state into button, base, latched, locked and effective. This can be used to transmit to other applications, for example when implementing a wayland compositor.
|
a ClutterEvent |
|
the pressed buttons as a mask. [out][allow-none] |
|
the regular pressed modifier keys. [out][allow-none] |
|
the latched modifier keys (currently released but still valid for one key press/release). [out][allow-none] |
|
the locked modifier keys (valid until the lock key is pressed and released again). [out][allow-none] |
|
the logical OR of all the state bits above. [out][allow-none] |
Since 1.16
void clutter_event_set_time (ClutterEvent *event
,guint32 time_
);
Sets the time of the event.
|
a ClutterEvent |
|
the time of the event |
Since 1.8
guint32 clutter_event_get_time (const ClutterEvent *event
);
Retrieves the time of the event.
|
a ClutterEvent |
Returns : |
the time of the event, or CLUTTER_CURRENT_TIME
|
Since 0.4
void clutter_event_set_source (ClutterEvent *event
,ClutterActor *actor
);
Sets the source ClutterActor of event
.
|
a ClutterEvent |
|
a ClutterActor, or NULL . [allow-none]
|
Since 1.8
ClutterActor * clutter_event_get_source (const ClutterEvent *event
);
Retrieves the source ClutterActor the event originated from, or NULL if the event has no source.
|
a ClutterEvent |
Returns : |
a ClutterActor. [transfer none] |
Since 0.6
void clutter_event_set_stage (ClutterEvent *event
,ClutterStage *stage
);
Sets the source ClutterStage of the event.
|
a ClutterEvent |
|
a ClutterStage, or NULL . [allow-none]
|
Since 1.8
ClutterStage * clutter_event_get_stage (const ClutterEvent *event
);
Retrieves the source ClutterStage the event originated for, or
NULL
if the event has no stage.
|
a ClutterEvent |
Returns : |
a ClutterStage. [transfer none] |
Since 0.8
void clutter_event_set_flags (ClutterEvent *event
,ClutterEventFlags flags
);
Sets the ClutterEventFlags of event
|
a ClutterEvent |
|
a binary OR of ClutterEventFlags values |
Since 1.8
ClutterEventFlags clutter_event_get_flags (const ClutterEvent *event
);
Retrieves the ClutterEventFlags of event
|
a ClutterEvent |
Returns : |
the event flags |
Since 1.0
gdouble * clutter_event_get_axes (const ClutterEvent *event
,guint *n_axes
);
Retrieves the array of axes values attached to the event.
|
a ClutterEvent |
|
return location for the number of axes returned. [out] |
Returns : |
an array of axis values. [transfer none] |
Since 1.6
ClutterEventSequence * clutter_event_get_event_sequence (const ClutterEvent *event
);
Retrieves the ClutterEventSequence of event
.
|
a ClutterEvent of type CLUTTER_TOUCH_BEGIN ,
CLUTTER_TOUCH_UPDATE , CLUTTER_TOUCH_END , or
CLUTTER_TOUCH_CANCEL
|
Returns : |
the event sequence, or NULL . [transfer none]
|
Since 1.10
double clutter_event_get_angle (const ClutterEvent *source
,const ClutterEvent *target
);
Retrieves the angle relative from source
to target
.
The direction of the angle is from the position X axis towards the positive Y axis.
|
a ClutterEvent |
|
a ClutterEvent |
Returns : |
the angle between two ClutterEvent |
Since 1.12
float clutter_event_get_distance (const ClutterEvent *source
,const ClutterEvent *target
);
Retrieves the distance between two events, a source
and a target
.
|
a ClutterEvent |
|
a ClutterEvent |
Returns : |
the distance between two ClutterEvent |
Since 1.12
void clutter_event_get_position (const ClutterEvent *event
,ClutterPoint *position
);
Retrieves the event coordinates as a ClutterPoint.
|
a ClutterEvent |
|
a ClutterPoint |
Since 1.12
gboolean clutter_event_has_control_modifier (const ClutterEvent *event
);
Checks whether event
has the Control modifier mask set.
|
a ClutterEvent |
Returns : |
TRUE if the event has the Control modifier mask set |
Since 1.12
gboolean clutter_event_has_shift_modifier (const ClutterEvent *event
);
Checks whether event
has the Shift modifier mask set.
|
a ClutterEvent |
Returns : |
TRUE if the event has the Shift modifier mask set |
Since 1.12
gboolean clutter_event_is_pointer_emulated (const ClutterEvent *event
);
Checks whether a pointer event
has been generated by the windowing
system. The returned value can be used to distinguish between events
synthesized by the windowing system itself (as opposed by Clutter).
|
a ClutterEvent |
Returns : |
TRUE if the event is pointer emulated |
Since 1.12
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
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. [transfer none] |
Since 0.4
void clutter_event_put (const ClutterEvent *event
);
Puts a copy of the event on the back of the event queue. The event will
have the CLUTTER_EVENT_FLAG_SYNTHETIC
flag set. If the source is set
event signals will be emitted for this source and capture/bubbling for
its ancestors. If the source is not set it will be generated by picking
or use the actor that currently has keyboard focus
|
a ClutterEvent |
Since 0.6
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
gboolean (*ClutterEventFilterFunc) (const ClutterEvent *event
,gpointer user_data
);
A function pointer type used by event filters that are added with
clutter_event_add_filter()
.
|
the event that is going to be emitted |
|
the data pointer passed to clutter_event_add_filter()
|
Returns : |
CLUTTER_EVENT_STOP to indicate that the event
has been handled or CLUTTER_EVENT_PROPAGATE otherwise.
Returning CLUTTER_EVENT_STOP skips any further filter
functions and prevents the signal emission for the event. |
Since 1.18
guint clutter_event_add_filter (ClutterStage *stage
,ClutterEventFilterFunc func
,GDestroyNotify notify
,gpointer user_data
);
Adds a function which will be called for all events that Clutter processes. The function will be called before any signals are emitted for the event and it will take precedence over any grabs.
|
The ClutterStage to capture events for. [allow-none] |
|
The callback function which will be passed all events. |
|
A GDestroyNotify |
|
A data pointer to pass to the function. |
Returns : |
an identifier for the event filter, to be used
with clutter_event_remove_filter() . |
Since 1.18
void clutter_event_remove_filter (guint id
);
Removes an event filter that was previously added with
clutter_event_add_filter()
.
|
The ID of the event filter, as returned from clutter_event_add_filter()
|
Since 1.18
#define CLUTTER_BUTTON_PRIMARY (1)
The primary button of a pointer device.
This is typically the left mouse button in a right-handed mouse configuration.
Since 1.10
#define CLUTTER_BUTTON_MIDDLE (2)
The middle button of a pointer device.
Since 1.10
#define CLUTTER_BUTTON_SECONDARY (3)
The secondary button of a pointer device.
This is typically the right mouse button in a right-handed mouse configuration.
Since 1.10
void clutter_event_set_button (ClutterEvent *event
,guint32 button
);
Sets the button number of event
|
a ClutterEvent or type CLUTTER_BUTTON_PRESS or
of type CLUTTER_BUTTON_RELEASE
|
|
the button number |
Since 1.8
guint32 clutter_event_get_button (const ClutterEvent *event
);
Retrieves the button number of event
|
a ClutterEvent of type CLUTTER_BUTTON_PRESS or
of type CLUTTER_BUTTON_RELEASE
|
Returns : |
the button number |
Since 1.0
guint clutter_event_get_click_count (const ClutterEvent *event
);
Retrieves the number of clicks of event
|
a ClutterEvent of type CLUTTER_BUTTON_PRESS or
of type CLUTTER_BUTTON_RELEASE
|
Returns : |
the click count |
Since 1.0
void clutter_event_set_key_symbol (ClutterEvent *event
,guint key_sym
);
Sets the key symbol of event
.
|
a ClutterEvent of type CLUTTER_KEY_PRESS
or CLUTTER_KEY_RELEASE
|
|
the key symbol representing the key |
Since 1.8
guint clutter_event_get_key_symbol (const ClutterEvent *event
);
Retrieves the key symbol of event
|
a ClutterEvent of type CLUTTER_KEY_PRESS or
of type CLUTTER_KEY_RELEASE
|
Returns : |
the key symbol representing the key |
Since 1.0
void clutter_event_set_key_code (ClutterEvent *event
,guint16 key_code
);
Sets the keycode of the event
.
|
a ClutterEvent of type CLUTTER_KEY_PRESS
or CLUTTER_KEY_RELEASE
|
|
the keycode representing the key |
Since 1.8
guint16 clutter_event_get_key_code (const ClutterEvent *event
);
Retrieves the keycode of the key that caused event
|
a ClutterEvent of type CLUTTER_KEY_PRESS or
of type CLUTTER_KEY_RELEASE
|
Returns : |
The keycode representing the key |
Since 1.0
void clutter_event_set_key_unicode (ClutterEvent *event
,gunichar key_unicode
);
Sets the Unicode value of event
.
|
a ClutterEvent of type CLUTTER_KEY_PRESS
or CLUTTER_KEY_RELEASE
|
|
the Unicode value representing the key |
Since 1.8
gunichar clutter_event_get_key_unicode (const ClutterEvent *event
);
Retrieves the unicode value for the key that caused keyev
.
|
a ClutterEvent of type CLUTTER_KEY_PRESS
or CLUTTER_KEY_RELEASE
|
Returns : |
The unicode value representing the key |
guint32 clutter_keysym_to_unicode (guint keyval
);
Converts keyval
from a Clutter key symbol to the corresponding
ISO10646 (Unicode) character.
|
a key symbol |
Returns : |
a Unicode character, or 0 if there is no corresponding character. |
guint clutter_unicode_to_keysym (guint32 wc
);
Convert from a ISO10646 character to a key symbol.
|
a ISO10646 encoded character |
Returns : |
the corresponding Clutter key symbol, if one exists. or, if there is no corresponding symbol, wc | 0x01000000 |
Since 1.10
void clutter_event_set_related (ClutterEvent *event
,ClutterActor *actor
);
Sets the related actor of a crossing event
|
a ClutterEvent of type CLUTTER_ENTER or CLUTTER_LEAVE
|
|
a ClutterActor or NULL . [allow-none]
|
Since 1.8
ClutterActor * clutter_event_get_related (const ClutterEvent *event
);
Retrieves the related actor of a crossing event.
|
a ClutterEvent of type CLUTTER_ENTER or of
type CLUTTER_LEAVE
|
Returns : |
the related ClutterActor, or NULL . [transfer none]
|
Since 1.0
void clutter_event_set_scroll_direction (ClutterEvent *event
,ClutterScrollDirection direction
);
Sets the direction of the scrolling of event
|
a ClutterEvent |
|
the scrolling direction |
Since 1.8
ClutterScrollDirection clutter_event_get_scroll_direction
(const ClutterEvent *event
);
Retrieves the direction of the scrolling of event
|
a ClutterEvent of type CLUTTER_SCROLL
|
Returns : |
the scrolling direction |
Since 1.0
void clutter_event_get_scroll_delta (const ClutterEvent *event
,gdouble *dx
,gdouble *dy
);
Retrieves the precise scrolling information of event
.
The event
has to have a ClutterScrollEvent.direction value
of CLUTTER_SCROLL_SMOOTH
.
|
a ClutterEvent of type CLUTTER_SCROLL
|
|
return location for the delta on the horizontal axis. [out] |
|
return location for the delta on the vertical axis. [out] |
Since 1.10
void clutter_event_set_scroll_delta (ClutterEvent *event
,gdouble dx
,gdouble dy
);
Sets the precise scrolling information of event
.
|
a ClutterEvent of type CLUTTER_SCROLL
|
|
delta on the horizontal axis |
|
delta on the vertical axis |
Since 1.10
void clutter_event_set_device (ClutterEvent *event
,ClutterInputDevice *device
);
Sets the device for event
.
|
a ClutterEvent |
|
a ClutterInputDevice, or NULL . [allow-none]
|
Since 1.6
ClutterInputDevice * clutter_event_get_device (const ClutterEvent *event
);
Retrieves the ClutterInputDevice for the event.
If you want the physical device the event originated from, use
clutter_event_get_source_device()
.
The ClutterInputDevice structure is completely opaque and should be cast to the platform-specific implementation.
|
a ClutterEvent |
Returns : |
the ClutterInputDevice or NULL . The
returned device is owned by the ClutterEvent and it should not
be unreferenced. [transfer none]
|
Since 1.0
void clutter_event_set_source_device (ClutterEvent *event
,ClutterInputDevice *device
);
Sets the source ClutterInputDevice for event
.
The ClutterEvent must have been created using clutter_event_new()
.
|
a ClutterEvent |
|
a ClutterInputDevice. [allow-none] |
Since 1.8
ClutterInputDevice * clutter_event_get_source_device (const ClutterEvent *event
);
Retrieves the hardware device that originated the event.
If you need the virtual device, use clutter_event_get_device()
.
If no hardware device originated this event, this function will
return the same device as clutter_event_get_device()
.
|
a ClutterEvent |
Returns : |
a pointer to a ClutterInputDevice
or NULL . [transfer none]
|
Since 1.6
gint clutter_event_get_device_id (const ClutterEvent *event
);
Retrieves the events device id if set.
|
a clutter event |
Returns : |
A unique identifier for the device or -1 if the event has no specific device set. |
ClutterInputDeviceType clutter_event_get_device_type (const ClutterEvent *event
);
Retrieves the type of the device for event
|
a ClutterEvent |
Returns : |
the ClutterInputDeviceType for the device, if any is set |
Since 1.0
guint32 clutter_get_current_event_time (void
);
Retrieves the timestamp of the last event, if there is an event or if the event has a timestamp.
Returns : |
the event timestamp, or CLUTTER_CURRENT_TIME
|
Since 1.0
const ClutterEvent * clutter_get_current_event (void
);
If an event is currently being processed, return that event. This function is intended to be used to access event state that might not be exposed by higher-level widgets. For example, to get the key modifier state from a Button 'clicked' event.
Returns : |
The current ClutterEvent, or NULL if none. [transfer none]
|
Since 1.2