* ClutterModelIter Object
*/
+/**
+ * SECTION:clutter-model-iter
+ * @short_description: Iterates through a model
+ *
+ * #ClutterModelIter is an object used for iterating through all the rows
+ * of a #ClutterModel. It allows setting and getting values on the row
+ * which is currently pointing at.
+ *
+ * A #ClutterModelIter represents a position between two elements
+ * of the sequence. For example, the iterator returned by
+ * clutter_model_get_first_iter() represents the gap immediately before
+ * the first row of the #ClutterModel, and the iterator returned by
+ * clutter_model_get_last_iter() represents the gap immediately after the
+ * last row.
+ *
+ * A #ClutterModelIter can only be created by a #ClutterModel and it is
+ * valid as long as the model does not change.
+ *
+ * #ClutterModelIter is available since Clutter 0.6
+ */
+
G_DEFINE_TYPE (ClutterModelIter, clutter_model_iter, G_TYPE_OBJECT);
#define CLUTTER_MODEL_ITER_GET_PRIVATE(obj) \
{
temp_iter->priv->seq_iter = begin;
if (_model_filter (model, temp_iter))
- {
- end = begin;
- break;
- }
+ {
+ end = begin;
+ break;
+ }
+
begin = g_sequence_iter_prev (begin);
}
/* This is because the 'end_iter' is always *after* the last valid iter.
{
g_object_set (temp_iter, "iter", filter_next, NULL);
if (_model_filter (model, temp_iter))
- {
- break;
- }
+ break;
+
filter_next = g_sequence_iter_next (filter_next);
}
{
g_object_set (temp_iter, "iter", filter_prev, NULL);
if (_model_filter (model, temp_iter))
- {
- break;
- }
+ break;
+
filter_prev = g_sequence_iter_prev (filter_prev);
}
{
if (iter_priv->seq_iter == temp_iter->priv->seq_iter)
break;
+
row++;
}
filter_next = g_sequence_iter_next (filter_next);
if (column < 0 || column >= model_priv->n_columns)
{
- g_warning ("%s: Invalid column number %d added to iter (remember to end you list of columns with a -1)", G_STRLOC, column);
+ g_warning ("%s: Invalid column number %d added to iter "
+ "(remember to end you list of columns with a -1)",
+ G_STRLOC, column);
break;
}
g_value_init (&value, model_priv->column_types[column]);
if (column < 0 || column >= model_priv->n_columns)
{
- g_warning ("%s: Invalid column number %d added to iter (remember to end you list of columns with a -1)", G_STRLOC, column);
+ g_warning ("%s: Invalid column number %d added to iter "
+ "(remember to end you list of columns with a -1)",
+ G_STRLOC, column);
break;
}
/**
* clutter_x11_trap_x_errors:
*
- * FIXME
+ * Traps every X error until clutter_x11_untrap_x_errors() is called.
*
- * Since: 0.4
+ * Since: 0.6
*/
void
clutter_x11_trap_x_errors (void)
/**
* clutter_x11_untrap_x_errors:
*
- * FIXME
+ * Removes the X error trap and returns the current status.
*
- * Return value: FIXME
+ * Return value: the trapped error code, or 0 for success
*
* Since: 0.4
*/
/**
* clutter_x11_get_default_display:
*
- * FIXME
+ * Retrieves the pointer to the default display.
*
- * Return value: FIXME
+ * Return value: the default display
*
- * Since: 0.4
+ * Since: 0.6
*/
Display *
clutter_x11_get_default_display (void)
/**
* clutter_x11_get_default_screen:
*
- * Gets the pointer to the default X Screen object.
+ * Gets the number of the default X Screen object.
*
- * Return value: FIXME
+ * Return value: the number of the default screen
*
- * Since: 0.4
+ * Since: 0.6
*/
int
clutter_x11_get_default_screen (void)
/**
* clutter_x11_get_root_window:
*
- * FIXME
+ * Retrieves the root window.
*
- * Return value: FIXME
+ * Return value: the id of the root window
*
- * Since: 0.4
+ * Since: 0.6
*/
Window
clutter_x11_get_root_window (void)
/**
* clutter_x11_add_filter:
- *
- * FIXME
+ * @func: a filter function
+ * @data: user data to be passed to the filter function, or %NULL
*
- * Return value: FIXME
+ * Adds an event filter function.
*
- * Since: 0.4
+ * Since: 0.6
*/
void
-clutter_x11_add_filter (ClutterX11FilterFunc func, gpointer data)
+clutter_x11_add_filter (ClutterX11FilterFunc func,
+ gpointer data)
{
ClutterX11EventFilter *filter;
return;
}
- filter = g_new0(ClutterX11EventFilter, 1);
+ filter = g_new0 (ClutterX11EventFilter, 1);
filter->func = func;
filter->data = data;
- backend_singleton->event_filters
- = g_slist_append (backend_singleton->event_filters, filter);
+ backend_singleton->event_filters =
+ g_slist_append (backend_singleton->event_filters, filter);
return;
}
/**
* clutter_x11_remove_filter:
- *
- * FIXME
+ * @func: a filter function
+ * @data: user data to be passed to the filter function, or %NULL
*
- * Return value: FIXME
+ * Removes the given filter function.
*
- * Since: 0.4
+ * Since: 0.6
*/
void
-clutter_x11_remove_filter (ClutterX11FilterFunc func, gpointer data)
+clutter_x11_remove_filter (ClutterX11FilterFunc func,
+ gpointer data)
{
GSList *tmp_list, *this;
ClutterX11EventFilter *filter;
while (tmp_list)
{
- filter = (ClutterX11EventFilter *)tmp_list->data;
+ filter = tmp_list->data;
this = tmp_list;
tmp_list = tmp_list->next;
if (filter->func == func && filter->data == data)
{
- backend_singleton->event_filters
- = g_slist_remove_link (backend_singleton->event_filters, this);
+ backend_singleton->event_filters =
+ g_slist_remove_link (backend_singleton->event_filters, this);
g_slist_free_1 (this);
g_free (filter);
G_BEGIN_DECLS
+/**
+ * ClutterX11FilterReturn:
+ * @CLUTTER_X11_FILTER_CONTINUE: The event was not handled, continues the
+ * processing
+ * @CLUTTER_X11_FILTER_TRANSLATE: Native event translated into a Clutter
+ * event, stops the processing
+ * @CLUTTER_X11_FILTER_REMOVE: Remove the event, stops the processing
+ *
+ * Return values for the #ClutterX11FilterFunc function.
+ *
+ * Since: 0.6
+ */
typedef enum {
- CLUTTER_X11_FILTER_CONTINUE, /* Event not handled, continue processesing */
- CLUTTER_X11_FILTER_TRANSLATE, /* Native event translated into a Clutter
- event and stored in the "event" structure
- that was passed in */
- CLUTTER_X11_FILTER_REMOVE /* Terminate processing, removing event */
+ CLUTTER_X11_FILTER_CONTINUE,
+ CLUTTER_X11_FILTER_TRANSLATE,
+ CLUTTER_X11_FILTER_REMOVE
} ClutterX11FilterReturn;
+/**
+ * ClutterX11FilterFunc:
+ * @xev: Native X11 event structure
+ * @cev: Clutter event structure
+ * @data: user data passed to the filter function
+ *
+ * Filter function for X11 native events.
+ *
+ * Return value: the result of the filtering
+ *
+ * Since: 0.6
+ */
typedef ClutterX11FilterReturn (*ClutterX11FilterFunc) (XEvent *xev,
ClutterEvent *cev,
- gpointer *data);
+ gpointer data);
void clutter_x11_trap_x_errors (void);
gint clutter_x11_untrap_x_errors (void);
int clutter_x11_get_default_screen (void);
Window clutter_x11_get_root_window (void);
-Window clutter_x11_get_stage_window (ClutterStage *stage);
-XVisualInfo *clutter_x11_get_stage_visual (ClutterStage *stage);
-
+Window clutter_x11_get_stage_window (ClutterStage *stage);
+XVisualInfo *clutter_x11_get_stage_visual (ClutterStage *stage);
gboolean clutter_x11_set_stage_foreign (ClutterStage *stage,
Window xwindow);
-void clutter_x11_add_filter (ClutterX11FilterFunc func, gpointer data);
-
+void clutter_x11_add_filter (ClutterX11FilterFunc func,
+ gpointer data);
void clutter_x11_remove_filter (ClutterX11FilterFunc func,
- gpointer data);
+ gpointer data);
G_END_DECLS
<SECTION>
<FILE>clutter-behaviour</FILE>
<TITLE>ClutterBehaviour</TITLE>
+ClutterBehaviour
ClutterBehaviourClass
clutter_behaviour_apply
clutter_behaviour_remove
clutter_behaviour_get_alpha
clutter_behaviour_set_alpha
<SUBSECTION Standard>
-ClutterBehaviour
CLUTTER_BEHAVIOUR
CLUTTER_IS_BEHAVIOUR
CLUTTER_TYPE_BEHAVIOUR
<SECTION>
<FILE>clutter-alpha</FILE>
<TITLE>ClutterAlpha</TITLE>
+ClutterAlpha
+ClutterAlphaClass
clutter_alpha_new
clutter_alpha_new_full
clutter_alpha_get_alpha
CLUTTER_ALPHA_CLASS
CLUTTER_IS_ALPHA_CLASS
CLUTTER_ALPHA_GET_CLASS
-ClutterAlpha
-ClutterAlphaClass
<SUBSECTION Private>
ClutterAlphaPrivate
clutter_alpha_get_type
<SECTION>
<FILE>clutter-clone-texture</FILE>
<TITLE>ClutterCloneTexture</TITLE>
+ClutterCloneTexture
+ClutterCloneTextureClass
clutter_clone_texture_new
clutter_clone_texture_get_parent_texture
clutter_clone_texture_set_parent_texture
<SUBSECTION Standard>
-ClutterCloneTexture
-ClutterCloneTextureClass
CLUTTER_CLONE_TEXTURE
CLUTTER_IS_CLONE_TEXTURE
CLUTTER_TYPE_CLONE_TEXTURE
<SECTION>
<FILE>clutter-group</FILE>
<TITLE>ClutterGroup</TITLE>
+ClutterGroup
+ClutterGroupClass
clutter_group_new
clutter_group_add
clutter_group_add_many
clutter_group_remove_all
clutter_group_get_n_children
clutter_group_get_nth_child
-clutter_group_find_child_by_id
clutter_group_raise
clutter_group_lower
clutter_group_sort_depth_order
+clutter_group_find_child_by_id
<SUBSECTION Standard>
-ClutterGroup
-ClutterGroupClass
CLUTTER_GROUP
CLUTTER_IS_GROUP
CLUTTER_TYPE_GROUP
<SECTION>
<FILE>clutter-container</FILE>
<TITLE>ClutterContainer</TITLE>
+ClutterContainer
ClutterContainerIface
clutter_container_add_actor
clutter_container_add
clutter_container_remove_valist
clutter_container_get_children
clutter_container_foreach
-clutter_container_find_child_by_id
clutter_container_find_child_by_name
clutter_container_raise_child
clutter_container_lower_child
clutter_container_sort_depth_order
<SUBSECTION Standard>
-ClutterContainer
CLUTTER_TYPE_CONTAINER
CLUTTER_CONTAINER
CLUTTER_IS_CONTAINER
<SECTION>
<FILE>clutter-layout</FILE>
<TITLE>ClutterLayout</TITLE>
+ClutterLayout
ClutterLayoutIface
ClutterLayoutFlags
clutter_layout_get_layout_flags
clutter_layout_tune_request
clutter_layout_width_for_height
<SUBSECTION Standard>
-ClutterLayout
CLUTTER_TYPE_LAYOUT
CLUTTER_LAYOUT
CLUTTER_IS_LAYOUT
<SECTION>
<FILE>clutter-rectangle</FILE>
<TITLE>ClutterRectangle</TITLE>
+ClutterRectangle
+ClutterRectangleClass
clutter_rectangle_new
clutter_rectangle_new_with_color
clutter_rectangle_get_color
clutter_rectangle_get_border_width
clutter_rectangle_set_border_width
<SUBSECTION Standard>
-ClutterRectangle
-ClutterRectangleClass
CLUTTER_RECTANGLE
CLUTTER_IS_RECTANGLE
CLUTTER_TYPE_RECTANGLE
clutter_actor_set_y
clutter_actor_get_y
clutter_actor_move_by
-clutter_actor_rotate_x
-clutter_actor_rotate_y
-clutter_actor_rotate_z
+clutter_actor_set_rotation
+clutter_actor_set_rotationx
+clutter_actor_get_rotation
+clutter_actor_get_rotationx
clutter_actor_set_opacity
clutter_actor_get_opacity
clutter_actor_set_name
clutter_actor_get_scale
clutter_actor_get_abs_size
clutter_actor_apply_transform_to_point
-clutter_actor_get_rxang
-clutter_actor_get_ryang
-clutter_actor_get_rzang
-clutter_actor_get_rxangx
-clutter_actor_get_ryangx
-clutter_actor_get_rzangx
<SUBSECTION>
ClutterVertex
clutter_actor_get_vertices
-clutter_actor_pick
-clutter_actor_rotate_xx
-clutter_actor_rotate_yx
-clutter_actor_rotate_zx
clutter_actor_set_scale_with_gravity
clutter_actor_set_scale_with_gravityx
<SECTION>
<FILE>clutter-stage</FILE>
<TITLE>ClutterStage</TITLE>
-<SUBSECTION>
ClutterStage
ClutterStageClass
CLUTTER_STAGE_WIDTH
<SECTION>
<FILE>clutter-behaviour-path</FILE>
<TITLE>ClutterBehaviourPath</TITLE>
-ClutterKnot
-clutter_knot_copy
-clutter_knot_free
-clutter_knot_equal
+ClutterBehaviourPath
ClutterBehaviourPathClass
clutter_behaviour_path_new
clutter_behaviour_path_get_knots
clutter_behaviour_path_insert_knot
clutter_behaviour_path_remove_knot
clutter_behaviour_path_clear
+
+<SUBSECTION>
+ClutterKnot
+clutter_knot_copy
+clutter_knot_free
+clutter_knot_equal
+
<SUBSECTION Standard>
-ClutterBehaviourPath
CLUTTER_TYPE_KNOT
CLUTTER_BEHAVIOUR_PATH
CLUTTER_IS_BEHAVIOUR_PATH
<SECTION>
<FILE>clutter-behaviour-opacity</FILE>
<TITLE>ClutterBehaviourOpacity</TITLE>
-clutter_behaviour_opacity_new
-<SUBSECTION Standard>
ClutterBehaviourOpacity
ClutterBehaviourOpacityClass
+clutter_behaviour_opacity_new
+<SUBSECTION Standard>
CLUTTER_BEHAVIOUR_OPACITY
CLUTTER_IS_BEHAVIOUR_OPACITY
CLUTTER_TYPE_BEHAVIOUR_OPACITY
<TITLE>ClutterBehaviourRotate</TITLE>
ClutterRotateAxis
ClutterRotateDirection
+ClutterBehaviourRotate
+ClutterBehaviourRotateClass
clutter_behaviour_rotate_new
clutter_behaviour_rotate_newx
clutter_behaviour_rotate_set_axis
clutter_behaviour_rotate_set_center
clutter_behaviour_rotate_get_center
<SUBSECTION Standard>
-ClutterBehaviourRotate
-ClutterBehaviourRotateClass
CLUTTER_TYPE_BEHAVIOUR_ROTATE
CLUTTER_BEHAVIOUR_ROTATE
CLUTTER_IS_BEHAVIOUR_ROTATE
<FILE>clutter-behaviour-scale</FILE>
<TITLE>ClutterBehaviourScale</TITLE>
ClutterGravity
+ClutterBehaviourScale
+ClutterBehaviourScaleClass
clutter_behaviour_scale_new
clutter_behaviour_scale_newx
clutter_behaviour_scale_get_bounds
clutter_behaviour_scale_get_boundsx
clutter_behaviour_scale_get_gravity
<SUBSECTION Standard>
-ClutterBehaviourScale
-ClutterBehaviourScaleClass
CLUTTER_BEHAVIOUR_SCALE
CLUTTER_IS_BEHAVIOUR_SCALE
CLUTTER_TYPE_BEHAVIOUR_SCALE
<SECTION>
<FILE>clutter-behaviour-bspline</FILE>
<TITLE>ClutterBehaviourBspline</TITLE>
+ClutterBehaviourBspline
+ClutterBehaviourBsplineClass
clutter_behaviour_bspline_new
clutter_behaviour_bspline_append_knot
+clutter_behaviour_bspline_append_knots
clutter_behaviour_bspline_append
clutter_behaviour_bspline_truncate
clutter_behaviour_bspline_join
clutter_behaviour_bspline_set_origin
clutter_behaviour_bspline_get_origin
<SUBSECTION Standard>
-ClutterBehaviourBspline
-ClutterBehaviourBsplineClass
CLUTTER_TYPE_BEHAVIOUR_BSPLINE
CLUTTER_BEHAVIOUR_BSPLINE
CLUTTER_BEHAVIOUR_BSPLINE_CLASS
<SECTION>
<FILE>clutter-behaviour-ellipse</FILE>
<TITLE>ClutterBehaviourEllipse</TITLE>
+ClutterBehaviourEllipse
ClutterBehaviourEllipseClass
clutter_behaviour_ellipse_new
clutter_behaviour_ellipse_newx
clutter_behaviour_ellipse_set_center
clutter_behaviour_ellipse_get_center
-clutter_behaviour_ellipse_get_angle_begin
-clutter_behaviour_ellipse_get_angle_end
-clutter_behaviour_ellipse_get_angle_tilt
-clutter_behaviour_ellipse_get_height
-clutter_behaviour_ellipse_get_width
-clutter_behaviour_ellipse_set_angle_begin
+clutter_behaviour_ellipse_set_angle_start
+clutter_behaviour_ellipse_get_angle_start
+clutter_behaviour_ellipse_set_angle_startx
+clutter_behaviour_ellipse_get_angle_startx
clutter_behaviour_ellipse_set_angle_end
+clutter_behaviour_ellipse_get_angle_end
+clutter_behaviour_ellipse_set_angle_endx
+clutter_behaviour_ellipse_get_angle_endx
clutter_behaviour_ellipse_set_angle_tilt
+clutter_behaviour_ellipse_get_angle_tilt
+clutter_behaviour_ellipse_set_angle_tiltx
+clutter_behaviour_ellipse_get_angle_tiltx
clutter_behaviour_ellipse_set_height
+clutter_behaviour_ellipse_get_height
clutter_behaviour_ellipse_set_width
-clutter_behaviour_ellipse_get_angle_beginx
-clutter_behaviour_ellipse_get_angle_endx
-clutter_behaviour_ellipse_get_angle_tiltx
-clutter_behaviour_ellipse_set_angle_beginx
-clutter_behaviour_ellipse_set_angle_endx
-clutter_behaviour_ellipse_set_angle_tiltx
+clutter_behaviour_ellipse_get_width
clutter_behaviour_ellipse_set_tilt
clutter_behaviour_ellipse_get_tilt
-clutter_behaviour_ellipse_get_tiltx
clutter_behaviour_ellipse_set_tiltx
-clutter_behaviour_ellipse_get_direction
+clutter_behaviour_ellipse_get_tiltx
clutter_behaviour_ellipse_set_direction
+clutter_behaviour_ellipse_get_direction
<SUBSECTION Standard>
-ClutterBehaviourEllipse
CLUTTER_TYPE_BEHAVIOUR_ELLIPSE
CLUTTER_BEHAVIOUR_ELLIPSE
CLUTTER_BEHAVIOUR_ELLIPSE_CLASS
clutter_cosx
clutter_sini
clutter_sinx
+CLUTTER_SQRTI_ARG_10_PERCENT
+CLUTTER_SQRTI_ARG_5_PERCENT
+CLUTTER_SQRTI_ARG_MAX
clutter_sqrti
clutter_sqrtx
clutter_log2x
clutter_main
clutter_main_quit
clutter_main_level
+
<SUBSECTION>
clutter_get_debug_enabled
clutter_get_show_fps
clutter_set_default_frame_rate
clutter_get_motion_events_enabled
clutter_enable_motion_events
+
<SUBSECTION>
clutter_threads_set_lock_functions
clutter_threads_init
clutter_threads_add_idle_full
clutter_threads_add_timeout
clutter_threads_add_timeout_full
+
+<SUBSECTION>
+clutter_get_keyboard_grab
+clutter_get_pointer_grab
+clutter_grab_keyboard
+clutter_grab_pointer
+clutter_ungrab_keyboard
+clutter_ungrab_pointer
+
<SUBSECTION Standard>
CLUTTER_INIT_ERROR
<SUBSECTION Private>
<SECTION>
<FILE>clutter-entry</FILE>
<TITLE>ClutterEntry</TITLE>
+ClutterEntry
ClutterEntryClass
clutter_entry_new
clutter_entry_new_with_text
CLUTTER_ENTRY_CLASS
CLUTTER_IS_ENTRY_CLASS
CLUTTER_ENTRY_GET_CLASS
-ClutterEntry
<SUBSECTION Private>
ClutterEntryPrivate
clutter_entry_get_type
<SECTION>
<FILE>clutter-box</FILE>
<TITLE>ClutterBox</TITLE>
+ClutterBox
ClutterBoxClass
ClutterPackType
clutter_box_set_color
clutter_box_query_child
clutter_box_query_nth_child
<SUBSECTION Standard>
-ClutterBox
CLUTTER_TYPE_BOX
CLUTTER_BOX
CLUTTER_IS_BOX
<SECTION>
<FILE>clutter-effect</FILE>
<TITLE>Clutter Effects</TITLE>
+ClutterEffectTemplate
+ClutterEffectTemplateClass
clutter_effect_template_new
clutter_effect_template_new_full
clutter_effect_template_new_for_duration
clutter_effect_rotate_z
<SUBSECTION Standard>
-ClutterEffectTemplate
-ClutterEffectTemplateClass
CLUTTER_TYPE_EFFECT_TEMPLATE
CLUTTER_EFFECT_TEMPLATE
CLUTTER_IS_EFFECT_TEMPLATE
<SECTION>
<FILE>clutter-hbox</FILE>
<TITLE>ClutterHBox</TITLE>
-clutter_hbox_new
-<SUBSECTION Standard>
ClutterHBox
ClutterHBoxClass
+clutter_hbox_new
+<SUBSECTION Standard>
CLUTTER_TYPE_HBOX
CLUTTER_HBOX
CLUTTER_IS_HBOX
<SECTION>
<FILE>clutter-vbox</FILE>
<TITLE>ClutterVBox</TITLE>
-clutter_vbox_new
-<SUBSECTION Standard>
ClutterVBox
ClutterVBoxClass
+clutter_vbox_new
+<SUBSECTION Standard>
CLUTTER_TYPE_VBOX
CLUTTER_VBOX
CLUTTER_IS_VBOX
<SECTION>
<FILE>clutter-behaviour-depth</FILE>
<TITLE>ClutterBehaviourDepth</TITLE>
-clutter_behaviour_depth_new
-<SUBSECTION Standard>
ClutterBehaviourDepth
ClutterBehaviourDepthClass
+clutter_behaviour_depth_new
+<SUBSECTION Standard>
CLUTTER_BEHAVIOUR_DEPTH
CLUTTER_IS_BEHAVIOUR_DEPTH
CLUTTER_TYPE_BEHAVIOUR_DEPTH
CLUTTER_MODEL_ITER_CLASS
CLUTTER_IS_MODEL_ITER_CLASS
CLUTTER_MODEL_GET_CLASS
+CLUTTER_MODEL_ITER_GET_CLASS
<SUBSECTION Private>
ClutterModelIterPrivate
clutter_model_iter_get_type
</SECTION>
-
-
-