static void clutter_shader_effect_set_actor (ClutterActorMeta *meta, ClutterActor *actor) { ClutterShaderEffect *self = CLUTTER_SHADER_EFFECT (meta); ClutterShaderEffectPrivate *priv = self->priv; ClutterActorMetaClass *parent; if (!clutter_feature_available (CLUTTER_FEATURE_SHADERS_GLSL)) { /* if we don't have support for GLSL shaders then we * forcibly disable the ActorMeta */ g_warning ("Unable to use the ShaderEffect: the graphics hardware " "or the current GL driver does not implement support " "for the GLSL shading language."); clutter_actor_meta_set_enabled (meta, FALSE); return; } parent = CLUTTER_ACTOR_META_CLASS (clutter_shader_effect_parent_class); parent->set_actor (meta, actor); /* we keep a back pointer here */ priv->actor = clutter_actor_meta_get_actor (meta); if (priv->actor == NULL) return; CLUTTER_NOTE (SHADER, "Preparing shader effect of type '%s'", G_OBJECT_TYPE_NAME (meta)); }
static void clutter_bind_constraint_set_actor (ClutterActorMeta *meta, ClutterActor *new_actor) { ClutterBindConstraint *bind = CLUTTER_BIND_CONSTRAINT (meta); ClutterActorMetaClass *parent; if (new_actor != NULL && bind->source != NULL && clutter_actor_contains (new_actor, bind->source)) { g_warning (G_STRLOC ": The source actor '%s' is contained " "by the actor '%s' associated to the constraint " "'%s'", _clutter_actor_get_debug_name (bind->source), _clutter_actor_get_debug_name (new_actor), _clutter_actor_meta_get_debug_name (meta)); return; } /* store the pointer to the actor, for later use */ bind->actor = new_actor; parent = CLUTTER_ACTOR_META_CLASS (clutter_bind_constraint_parent_class); parent->set_actor (meta, new_actor); }
static void st_scroll_view_fade_set_actor (ClutterActorMeta *meta, ClutterActor *actor) { StScrollViewFade *self = ST_SCROLL_VIEW_FADE (meta); ClutterActorMetaClass *parent; g_return_if_fail (actor == NULL || ST_IS_SCROLL_VIEW (actor)); if (self->shader == COGL_INVALID_HANDLE) { clutter_actor_meta_set_enabled (meta, FALSE); return; } if (self->vadjustment) { g_signal_handlers_disconnect_by_func (self->vadjustment, (gpointer)on_adjustment_changed, self); self->vadjustment = NULL; } if (self->hadjustment) { g_signal_handlers_disconnect_by_func (self->hadjustment, (gpointer)on_adjustment_changed, self); self->hadjustment = NULL; } if (actor) { StScrollView *scroll_view = ST_SCROLL_VIEW (actor); StScrollBar *vscroll = ST_SCROLL_BAR (st_scroll_view_get_vscroll_bar (scroll_view)); StScrollBar *hscroll = ST_SCROLL_BAR (st_scroll_view_get_hscroll_bar (scroll_view)); self->vadjustment = ST_ADJUSTMENT (st_scroll_bar_get_adjustment (vscroll)); self->hadjustment = ST_ADJUSTMENT (st_scroll_bar_get_adjustment (hscroll)); g_signal_connect (self->vadjustment, "changed", G_CALLBACK (on_adjustment_changed), self); g_signal_connect (self->hadjustment, "changed", G_CALLBACK (on_adjustment_changed), self); on_adjustment_changed (NULL, CLUTTER_EFFECT (self)); } parent = CLUTTER_ACTOR_META_CLASS (st_scroll_view_fade_parent_class); parent->set_actor (meta, actor); /* we keep a back pointer here, to avoid going through the ActorMeta */ self->actor = clutter_actor_meta_get_actor (meta); }
static void clutter_path_constraint_set_actor (ClutterActorMeta *meta, ClutterActor *new_actor) { ClutterPathConstraint *path = CLUTTER_PATH_CONSTRAINT (meta); ClutterActorMetaClass *parent; /* store the pointer to the actor, for later use */ path->actor = new_actor; parent = CLUTTER_ACTOR_META_CLASS (clutter_path_constraint_parent_class); parent->set_actor (meta, new_actor); }
static void clutter_align_constraint_set_actor (ClutterActorMeta *meta, ClutterActor *new_actor) { ClutterAlignConstraint *align = CLUTTER_ALIGN_CONSTRAINT (meta); ClutterActorMetaClass *parent; /* store the pointer to the actor, for later use */ align->actor = new_actor; parent = CLUTTER_ACTOR_META_CLASS (clutter_align_constraint_parent_class); parent->set_actor (meta, new_actor); }
static void clutter_snap_constraint_set_actor (ClutterActorMeta *meta, ClutterActor *new_actor) { ClutterSnapConstraint *self = CLUTTER_SNAP_CONSTRAINT (meta); ClutterActorMetaClass *parent; /* store the pointer to the actor, for later use */ self->actor = new_actor; parent = CLUTTER_ACTOR_META_CLASS (clutter_snap_constraint_parent_class); parent->set_actor (meta, new_actor); }
static void clutter_bind_constraint_set_actor (ClutterActorMeta *meta, ClutterActor *new_actor) { ClutterBindConstraint *bind = CLUTTER_BIND_CONSTRAINT (meta); ClutterActorMetaClass *parent; /* store the pointer to the actor, for later use */ bind->actor = new_actor; parent = CLUTTER_ACTOR_META_CLASS (clutter_bind_constraint_parent_class); parent->set_actor (meta, new_actor); }