Constify Event accessors and copy method

This is still C, but at least we can get some sort of safety net when
using the API correctly.
This commit is contained in:
Emmanuele Bassi 2010-09-08 15:15:57 +01:00
parent 8fb4c7b9a9
commit e4870ebaf4
6 changed files with 64 additions and 64 deletions

View File

@ -519,9 +519,9 @@ _clutter_backend_get_units_per_em (ClutterBackend *backend,
} }
void void
_clutter_backend_copy_event_data (ClutterBackend *backend, _clutter_backend_copy_event_data (ClutterBackend *backend,
ClutterEvent *src, const ClutterEvent *src,
ClutterEvent *dest) ClutterEvent *dest)
{ {
ClutterBackendClass *klass; ClutterBackendClass *klass;

View File

@ -85,11 +85,11 @@ struct _ClutterBackendClass
ClutterStage *stage); ClutterStage *stage);
ClutterDeviceManager *(* get_device_manager) (ClutterBackend *backend); ClutterDeviceManager *(* get_device_manager) (ClutterBackend *backend);
void (* copy_event_data) (ClutterBackend *backend, void (* copy_event_data) (ClutterBackend *backend,
ClutterEvent *src, const ClutterEvent *src,
ClutterEvent *dest); ClutterEvent *dest);
void (* free_event_data) (ClutterBackend *backend, void (* free_event_data) (ClutterBackend *backend,
ClutterEvent *event); ClutterEvent *event);
/* signals */ /* signals */
void (* resolution_changed) (ClutterBackend *backend); void (* resolution_changed) (ClutterBackend *backend);

View File

@ -98,7 +98,7 @@ _clutter_event_set_platform_data (ClutterEvent *event,
* Return value: a #ClutterEventType * Return value: a #ClutterEventType
*/ */
ClutterEventType ClutterEventType
clutter_event_type (ClutterEvent *event) clutter_event_type (const ClutterEvent *event)
{ {
g_return_val_if_fail (event != NULL, CLUTTER_NOTHING); g_return_val_if_fail (event != NULL, CLUTTER_NOTHING);
@ -116,7 +116,7 @@ clutter_event_type (ClutterEvent *event)
* Since: 0.4 * Since: 0.4
*/ */
guint32 guint32
clutter_event_get_time (ClutterEvent *event) clutter_event_get_time (const ClutterEvent *event)
{ {
g_return_val_if_fail (event != NULL, CLUTTER_CURRENT_TIME); g_return_val_if_fail (event != NULL, CLUTTER_CURRENT_TIME);
@ -134,7 +134,7 @@ clutter_event_get_time (ClutterEvent *event)
* Since: 0.4 * Since: 0.4
*/ */
ClutterModifierType ClutterModifierType
clutter_event_get_state (ClutterEvent *event) clutter_event_get_state (const ClutterEvent *event)
{ {
g_return_val_if_fail (event != NULL, 0); g_return_val_if_fail (event != NULL, 0);
@ -164,17 +164,17 @@ clutter_event_get_state (ClutterEvent *event)
/** /**
* clutter_event_get_coords: * clutter_event_get_coords:
* @event: a #ClutterEvent * @event: a #ClutterEvent
* @x: return location for the X coordinate * @x: (out): return location for the X coordinate, or %NULL
* @y: return location for the Y coordinate * @y: (out): return location for the Y coordinate, or %NULL
* *
* Retrieves the coordinates of @event and puts them into @x and @y. * Retrieves the coordinates of @event and puts them into @x and @y.
* *
* Since: 0.4 * Since: 0.4
*/ */
void void
clutter_event_get_coords (ClutterEvent *event, clutter_event_get_coords (const ClutterEvent *event,
gfloat *x, gfloat *x,
gfloat *y) gfloat *y)
{ {
gfloat event_x, event_y; gfloat event_x, event_y;
@ -235,7 +235,7 @@ clutter_event_get_coords (ClutterEvent *event,
* Since: 0.6 * Since: 0.6
*/ */
ClutterActor * ClutterActor *
clutter_event_get_source (ClutterEvent *event) clutter_event_get_source (const ClutterEvent *event)
{ {
g_return_val_if_fail (event != NULL, NULL); g_return_val_if_fail (event != NULL, NULL);
@ -254,7 +254,7 @@ clutter_event_get_source (ClutterEvent *event)
* Since: 0.8 * Since: 0.8
*/ */
ClutterStage * ClutterStage *
clutter_event_get_stage (ClutterEvent *event) clutter_event_get_stage (const ClutterEvent *event)
{ {
g_return_val_if_fail (event != NULL, NULL); g_return_val_if_fail (event != NULL, NULL);
@ -272,7 +272,7 @@ clutter_event_get_stage (ClutterEvent *event)
* Since: 1.0 * Since: 1.0
*/ */
ClutterEventFlags ClutterEventFlags
clutter_event_get_flags (ClutterEvent *event) clutter_event_get_flags (const ClutterEvent *event)
{ {
g_return_val_if_fail (event != NULL, CLUTTER_EVENT_NONE); g_return_val_if_fail (event != NULL, CLUTTER_EVENT_NONE);
@ -291,7 +291,7 @@ clutter_event_get_flags (ClutterEvent *event)
* Since: 1.0 * Since: 1.0
*/ */
ClutterActor * ClutterActor *
clutter_event_get_related (ClutterEvent *event) clutter_event_get_related (const ClutterEvent *event)
{ {
g_return_val_if_fail (event != NULL, NULL); g_return_val_if_fail (event != NULL, NULL);
g_return_val_if_fail (event->type == CLUTTER_ENTER || g_return_val_if_fail (event->type == CLUTTER_ENTER ||
@ -311,7 +311,7 @@ clutter_event_get_related (ClutterEvent *event)
* Since: 1.0 * Since: 1.0
*/ */
ClutterScrollDirection ClutterScrollDirection
clutter_event_get_scroll_direction (ClutterEvent *event) clutter_event_get_scroll_direction (const ClutterEvent *event)
{ {
g_return_val_if_fail (event != NULL, CLUTTER_SCROLL_UP); g_return_val_if_fail (event != NULL, CLUTTER_SCROLL_UP);
g_return_val_if_fail (event->type == CLUTTER_SCROLL, CLUTTER_SCROLL_UP); g_return_val_if_fail (event->type == CLUTTER_SCROLL, CLUTTER_SCROLL_UP);
@ -331,7 +331,7 @@ clutter_event_get_scroll_direction (ClutterEvent *event)
* Since: 1.0 * Since: 1.0
*/ */
guint32 guint32
clutter_event_get_button (ClutterEvent *event) clutter_event_get_button (const ClutterEvent *event)
{ {
g_return_val_if_fail (event != NULL, 0); g_return_val_if_fail (event != NULL, 0);
g_return_val_if_fail (event->type == CLUTTER_BUTTON_PRESS || g_return_val_if_fail (event->type == CLUTTER_BUTTON_PRESS ||
@ -352,7 +352,7 @@ clutter_event_get_button (ClutterEvent *event)
* Since: 1.0 * Since: 1.0
*/ */
guint32 guint32
clutter_event_get_click_count (ClutterEvent *event) clutter_event_get_click_count (const ClutterEvent *event)
{ {
g_return_val_if_fail (event != NULL, 0); g_return_val_if_fail (event != NULL, 0);
g_return_val_if_fail (event->type == CLUTTER_BUTTON_PRESS || g_return_val_if_fail (event->type == CLUTTER_BUTTON_PRESS ||
@ -375,7 +375,7 @@ clutter_event_get_click_count (ClutterEvent *event)
* Since: 1.0 * Since: 1.0
*/ */
guint guint
clutter_event_get_key_symbol (ClutterEvent *event) clutter_event_get_key_symbol (const ClutterEvent *event)
{ {
g_return_val_if_fail (event != NULL, 0); g_return_val_if_fail (event != NULL, 0);
g_return_val_if_fail (event->type == CLUTTER_KEY_PRESS || g_return_val_if_fail (event->type == CLUTTER_KEY_PRESS ||
@ -396,7 +396,7 @@ clutter_event_get_key_symbol (ClutterEvent *event)
* Since: 1.0 * Since: 1.0
*/ */
guint16 guint16
clutter_event_get_key_code (ClutterEvent *event) clutter_event_get_key_code (const ClutterEvent *event)
{ {
g_return_val_if_fail (event != NULL, 0); g_return_val_if_fail (event != NULL, 0);
g_return_val_if_fail (event->type == CLUTTER_KEY_PRESS || g_return_val_if_fail (event->type == CLUTTER_KEY_PRESS ||
@ -414,7 +414,7 @@ clutter_event_get_key_code (ClutterEvent *event)
* Return value: The unicode value representing the key * Return value: The unicode value representing the key
*/ */
guint32 guint32
clutter_event_get_key_unicode (ClutterEvent *event) clutter_event_get_key_unicode (const ClutterEvent *event)
{ {
g_return_val_if_fail (event != NULL, 0); g_return_val_if_fail (event != NULL, 0);
g_return_val_if_fail (event->type == CLUTTER_KEY_PRESS || g_return_val_if_fail (event->type == CLUTTER_KEY_PRESS ||
@ -483,7 +483,7 @@ clutter_keysym_to_unicode (guint keyval)
* no specific device set. * no specific device set.
*/ */
gint gint
clutter_event_get_device_id (ClutterEvent *event) clutter_event_get_device_id (const ClutterEvent *event)
{ {
ClutterInputDevice *device = NULL; ClutterInputDevice *device = NULL;
@ -533,7 +533,7 @@ clutter_event_get_device_id (ClutterEvent *event)
* Since: 1.0 * Since: 1.0
*/ */
ClutterInputDeviceType ClutterInputDeviceType
clutter_event_get_device_type (ClutterEvent *event) clutter_event_get_device_type (const ClutterEvent *event)
{ {
ClutterInputDevice *device = NULL; ClutterInputDevice *device = NULL;
@ -591,7 +591,7 @@ clutter_event_get_device_type (ClutterEvent *event)
* Since: 1.0 * Since: 1.0
*/ */
ClutterInputDevice * ClutterInputDevice *
clutter_event_get_device (ClutterEvent *event) clutter_event_get_device (const ClutterEvent *event)
{ {
ClutterInputDevice *device = NULL; ClutterInputDevice *device = NULL;
@ -661,7 +661,7 @@ clutter_event_new (ClutterEventType type)
new_event = (ClutterEvent *) priv; new_event = (ClutterEvent *) priv;
new_event->type = new_event->any.type = type; new_event->type = new_event->any.type = type;
if (all_events == NULL) if (G_UNLIKELY (all_events == NULL))
all_events = g_hash_table_new (NULL, NULL); all_events = g_hash_table_new (NULL, NULL);
g_hash_table_replace (all_events, priv, GUINT_TO_POINTER (1)); g_hash_table_replace (all_events, priv, GUINT_TO_POINTER (1));
@ -678,7 +678,7 @@ clutter_event_new (ClutterEventType type)
* Return value: A newly allocated #ClutterEvent * Return value: A newly allocated #ClutterEvent
*/ */
ClutterEvent * ClutterEvent *
clutter_event_copy (ClutterEvent *event) clutter_event_copy (const ClutterEvent *event)
{ {
ClutterEvent *new_event; ClutterEvent *new_event;
@ -776,7 +776,7 @@ clutter_event_peek (void)
* Since: 0.6 * Since: 0.6
*/ */
void void
clutter_event_put (ClutterEvent *event) clutter_event_put (const ClutterEvent *event)
{ {
ClutterMainContext *context = _clutter_context_get_default (); ClutterMainContext *context = _clutter_context_get_default ();
ClutterEvent *event_copy; ClutterEvent *event_copy;

View File

@ -441,38 +441,38 @@ GType clutter_event_get_type (void) G_GNUC_CONST;
gboolean clutter_events_pending (void); gboolean clutter_events_pending (void);
ClutterEvent * clutter_event_get (void); ClutterEvent * clutter_event_get (void);
ClutterEvent * clutter_event_peek (void); ClutterEvent * clutter_event_peek (void);
void clutter_event_put (ClutterEvent *event); void clutter_event_put (const ClutterEvent *event);
ClutterEvent * clutter_event_new (ClutterEventType type); ClutterEvent * clutter_event_new (ClutterEventType type);
ClutterEvent * clutter_event_copy (ClutterEvent *event); ClutterEvent * clutter_event_copy (const ClutterEvent *event);
void clutter_event_free (ClutterEvent *event); void clutter_event_free (ClutterEvent *event);
ClutterEventType clutter_event_type (ClutterEvent *event); ClutterEventType clutter_event_type (const ClutterEvent *event);
ClutterEventFlags clutter_event_get_flags (ClutterEvent *event); ClutterEventFlags clutter_event_get_flags (const ClutterEvent *event);
guint32 clutter_event_get_time (ClutterEvent *event); guint32 clutter_event_get_time (const ClutterEvent *event);
ClutterModifierType clutter_event_get_state (ClutterEvent *event); ClutterModifierType clutter_event_get_state (const ClutterEvent *event);
gint clutter_event_get_device_id (ClutterEvent *event); gint clutter_event_get_device_id (const ClutterEvent *event);
ClutterInputDeviceType clutter_event_get_device_type (ClutterEvent *event); ClutterInputDeviceType clutter_event_get_device_type (const ClutterEvent *event);
ClutterInputDevice * clutter_event_get_device (ClutterEvent *event); ClutterInputDevice * clutter_event_get_device (const ClutterEvent *event);
ClutterActor * clutter_event_get_source (ClutterEvent *event); ClutterActor * clutter_event_get_source (const ClutterEvent *event);
ClutterStage * clutter_event_get_stage (ClutterEvent *event); ClutterStage * clutter_event_get_stage (const ClutterEvent *event);
void clutter_event_get_coords (ClutterEvent *event, void clutter_event_get_coords (const ClutterEvent *event,
gfloat *x, gfloat *x,
gfloat *y); gfloat *y);
guint clutter_event_get_key_symbol (ClutterEvent *event); guint clutter_event_get_key_symbol (const ClutterEvent *event);
guint16 clutter_event_get_key_code (ClutterEvent *event); guint16 clutter_event_get_key_code (const ClutterEvent *event);
guint32 clutter_event_get_key_unicode (ClutterEvent *event); guint32 clutter_event_get_key_unicode (const ClutterEvent *event);
guint32 clutter_event_get_button (ClutterEvent *event); guint32 clutter_event_get_button (const ClutterEvent *event);
guint clutter_event_get_click_count (ClutterEvent *event); guint clutter_event_get_click_count (const ClutterEvent *event);
ClutterActor * clutter_event_get_related (ClutterEvent *event); ClutterActor * clutter_event_get_related (const ClutterEvent *event);
ClutterScrollDirection clutter_event_get_scroll_direction (ClutterEvent *event); ClutterScrollDirection clutter_event_get_scroll_direction (const ClutterEvent *event);
guint32 clutter_keysym_to_unicode (guint keyval); guint32 clutter_keysym_to_unicode (guint keyval);
guint32 clutter_get_current_event_time (void); guint32 clutter_get_current_event_time (void);
G_CONST_RETURN ClutterEvent *clutter_get_current_event (void); G_CONST_RETURN ClutterEvent *clutter_get_current_event (void);

View File

@ -291,11 +291,11 @@ gboolean _clutter_backend_post_parse (ClutterBackend *backend,
GError **error); GError **error);
void _clutter_backend_init_events (ClutterBackend *backend); void _clutter_backend_init_events (ClutterBackend *backend);
void _clutter_backend_copy_event_data (ClutterBackend *backend, void _clutter_backend_copy_event_data (ClutterBackend *backend,
ClutterEvent *src, const ClutterEvent *src,
ClutterEvent *dest); ClutterEvent *dest);
void _clutter_backend_free_event_data (ClutterBackend *backend, void _clutter_backend_free_event_data (ClutterBackend *backend,
ClutterEvent *event); ClutterEvent *event);
ClutterFeatureFlags _clutter_backend_get_features (ClutterBackend *backend); ClutterFeatureFlags _clutter_backend_get_features (ClutterBackend *backend);

View File

@ -482,9 +482,9 @@ clutter_backend_x11_get_features (ClutterBackend *backend)
} }
static void static void
clutter_backend_x11_copy_event_data (ClutterBackend *backend, clutter_backend_x11_copy_event_data (ClutterBackend *backend,
ClutterEvent *src, const ClutterEvent *src,
ClutterEvent *dest) ClutterEvent *dest)
{ {
gpointer event_x11; gpointer event_x11;