device: Add keys and axes accessors

Allow retrieving the number of keys and axes, since we provide the API
to iterate over them both.
This commit is contained in:
Emmanuele Bassi 2011-01-18 16:13:26 +00:00
parent b662a070f2
commit 431200f40d
6 changed files with 38 additions and 14 deletions

View File

@ -148,8 +148,6 @@ guint _clutter_input_device_add_axis (ClutterInputDev
gdouble min_value,
gdouble max_value,
gdouble resolution);
ClutterInputAxis _clutter_input_device_get_axis (ClutterInputDevice *device,
guint index_);
void _clutter_input_device_reset_axes (ClutterInputDevice *device);
void _clutter_input_device_set_associated_device (ClutterInputDevice *device,

View File

@ -907,9 +907,20 @@ _clutter_input_device_translate_axis (ClutterInputDevice *device,
return TRUE;
}
/**
* clutter_input_device_get_axis:
* @device: a #ClutterInputDevice
* @index_: the index of the axis
*
* Retrieves the type of axis on @device at the given index.
*
* Return value: the axis type
*
* Since: 1.6
*/
ClutterInputAxis
_clutter_input_device_get_axis (ClutterInputDevice *device,
guint index_)
clutter_input_device_get_axis (ClutterInputDevice *device,
guint index_)
{
ClutterAxisInfo *info;
@ -963,15 +974,22 @@ _clutter_input_device_set_keys (ClutterInputDevice *device,
device->max_keycode = max_keycode;
}
/**
* clutter_input_device_get_n_keys:
* @device: a #ClutterInputDevice
*
* Retrieves the number of keys registered for @device.
*
* Return value: the number of registered keys
*
* Since: 1.6
*/
guint
clutter_input_device_get_n_keys (ClutterInputDevice *device)
{
g_return_val_if_fail (CLUTTER_IS_INPUT_DEVICE (device), 0);
if (device->keys != NULL)
return device->keys->len;
return 0;
return device->n_keys;
}
/**

View File

@ -138,7 +138,10 @@ ClutterStage * clutter_input_device_get_pointer_stage (ClutterInputDev
G_CONST_RETURN gchar * clutter_input_device_get_device_name (ClutterInputDevice *device);
guint clutter_input_device_get_n_axes (ClutterInputDevice *device);
ClutterInputAxis clutter_input_device_get_axis (ClutterInputDevice *device,
guint index_);
guint clutter_input_device_get_n_keys (ClutterInputDevice *device);
void clutter_input_device_set_key (ClutterInputDevice *device,
guint index_,
guint keyval,

View File

@ -500,7 +500,7 @@ translate_axes (ClutterInputDevice *device,
if (!XIMaskIsSet (valuators->mask, i))
continue;
axis = _clutter_input_device_get_axis (device, i);
axis = clutter_input_device_get_axis (device, i);
val = *values++;
switch (axis)

View File

@ -258,8 +258,7 @@ translate_axes (ClutterInputDeviceX11 *device_x11,
{
ClutterInputAxis axis;
axis = _clutter_input_device_get_axis (device, i);
axis = clutter_input_device_get_axis (device, i);
switch (axis)
{
case CLUTTER_INPUT_AXIS_X:

View File

@ -1082,12 +1082,18 @@ clutter_input_device_get_device_name
clutter_input_device_get_device_coords
clutter_input_device_get_pointer_actor
clutter_input_device_get_pointer_stage
clutter_input_device_set_key
clutter_input_device_get_key
clutter_input_device_get_n_axes
clutter_input_device_get_associated_device
clutter_input_device_get_slave_devices
<SUBSECTION>
clutter_input_device_get_n_keys
clutter_input_device_set_key
clutter_input_device_get_key
<SUBSECTION>
clutter_input_device_get_n_axes
clutter_input_device_get_axis
<SUBSECTION>
clutter_input_device_update_from_event