本文整理汇总了C++中clutter_actor_add_child函数的典型用法代码示例。如果您正苦于以下问题:C++ clutter_actor_add_child函数的具体用法?C++ clutter_actor_add_child怎么用?C++ clutter_actor_add_child使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了clutter_actor_add_child函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: actor_realize_not_recursive
static void
actor_realize_not_recursive (void)
{
ClutterActor *actor, *group;
ClutterActor *stage;
stage = clutter_test_get_stage ();
clutter_actor_show (stage);
group = clutter_actor_new ();
actor = clutter_actor_new ();
clutter_actor_hide (group); /* don't show, so won't map */
clutter_actor_hide (actor); /* don't show, so won't map */
g_assert (!(CLUTTER_ACTOR_IS_REALIZED (group)));
g_assert (!(CLUTTER_ACTOR_IS_REALIZED (actor)));
clutter_actor_add_child (stage, group);
clutter_actor_add_child (group, actor);
clutter_actor_realize (group);
g_assert (CLUTTER_ACTOR_IS_REALIZED (group));
g_assert (!(CLUTTER_ACTOR_IS_MAPPED (group)));
g_assert (!(CLUTTER_ACTOR_IS_VISIBLE (group)));
/* realizing group did not realize the child */
g_assert (!CLUTTER_ACTOR_IS_REALIZED (actor));
g_assert (!(CLUTTER_ACTOR_IS_MAPPED (actor)));
g_assert (!(CLUTTER_ACTOR_IS_VISIBLE (actor)));
}
示例2: st_scroll_bar_init
static void
st_scroll_bar_init (StScrollBar *self)
{
self->priv = ST_SCROLL_BAR_GET_PRIVATE (self);
self->priv->trough = (ClutterActor *) st_bin_new ();
clutter_actor_set_reactive ((ClutterActor *) self->priv->trough, TRUE);
clutter_actor_set_name (CLUTTER_ACTOR (self->priv->trough), "trough");
clutter_actor_add_child (CLUTTER_ACTOR (self),
CLUTTER_ACTOR (self->priv->trough));
g_signal_connect (self->priv->trough, "button-press-event",
G_CALLBACK (trough_button_press_event_cb), self);
g_signal_connect (self->priv->trough, "button-release-event",
G_CALLBACK (trough_button_release_event_cb), self);
g_signal_connect (self->priv->trough, "leave-event",
G_CALLBACK (trough_leave_event_cb), self);
self->priv->handle = (ClutterActor *) st_button_new ();
clutter_actor_set_name (CLUTTER_ACTOR (self->priv->handle), "hhandle");
clutter_actor_add_child (CLUTTER_ACTOR (self),
CLUTTER_ACTOR (self->priv->handle));
g_signal_connect (self->priv->handle, "button-press-event",
G_CALLBACK (handle_button_press_event_cb), self);
g_signal_connect (self->priv->handle, "button-release-event",
G_CALLBACK (handle_button_release_event_cb), self);
g_signal_connect (self->priv->handle, "motion-event",
G_CALLBACK (handle_motion_event_cb), self);
clutter_actor_set_reactive (CLUTTER_ACTOR (self), TRUE);
g_signal_connect (self, "notify::reactive",
G_CALLBACK (st_scroll_bar_notify_reactive), NULL);
}
示例3: mx_expander_init
static void
mx_expander_init (MxExpander *self)
{
MxExpanderPrivate *priv = self->priv = GET_PRIVATE (self);
priv->label = clutter_text_new ();
clutter_actor_add_child ((ClutterActor *) self, priv->label);
priv->arrow = (ClutterActor *) mx_icon_new ();
clutter_actor_add_child ((ClutterActor*) self, priv->arrow);
clutter_actor_set_name (priv->arrow, "mx-expander-arrow-closed");
/* TODO: make this a style property */
priv->spacing = 10.0f;
priv->timeline = clutter_timeline_new (250);
g_signal_connect (priv->timeline, "new-frame", G_CALLBACK (new_frame), self);
g_signal_connect (priv->timeline, "completed", G_CALLBACK (timeline_complete), self);
priv->alpha = clutter_alpha_new_full (priv->timeline, CLUTTER_EASE_IN_SINE);
g_object_ref_sink (priv->alpha);
clutter_actor_set_reactive ((ClutterActor *) self, TRUE);
g_signal_connect (self, "style-changed",
G_CALLBACK (mx_expander_style_changed), NULL);
}
示例4: st_scroll_view_init
static void
st_scroll_view_init (StScrollView *self)
{
StScrollViewPrivate *priv = self->priv = st_scroll_view_get_instance_private (self);
priv->hscrollbar_policy = GTK_POLICY_AUTOMATIC;
priv->vscrollbar_policy = GTK_POLICY_AUTOMATIC;
priv->hadjustment = g_object_new (ST_TYPE_ADJUSTMENT, NULL);
priv->hscroll = g_object_new (ST_TYPE_SCROLL_BAR,
"adjustment", priv->hadjustment,
"vertical", FALSE,
NULL);
priv->vadjustment = g_object_new (ST_TYPE_ADJUSTMENT, NULL);
priv->vscroll = g_object_new (ST_TYPE_SCROLL_BAR,
"adjustment", priv->vadjustment,
"vertical", TRUE,
NULL);
clutter_actor_add_child (CLUTTER_ACTOR (self), priv->hscroll);
clutter_actor_add_child (CLUTTER_ACTOR (self), priv->vscroll);
/* mouse scroll is enabled by default, so we also need to be reactive */
priv->mouse_scroll = TRUE;
g_object_set (G_OBJECT (self), "reactive", TRUE, NULL);
priv->auto_scroll = FALSE;
priv->auto_scroll_timeout_id = 0;
priv->mouse_pointer = clutter_device_manager_get_core_device (clutter_device_manager_get_default (),
CLUTTER_POINTER_DEVICE);
priv->settings = g_settings_new("org.cinnamon");
priv->setting_connect_id = g_signal_connect (priv->settings, "changed::enable-vfade", G_CALLBACK (vfade_setting_changed_cb), self);
}
示例5: main
int
main (int argc, char *argv[])
{
ClutterActor *stage, *scroll, *info;
if (clutter_init (&argc, &argv) != CLUTTER_INIT_SUCCESS)
return EXIT_FAILURE;
/* create a new stage */
stage = clutter_stage_new ();
clutter_stage_set_title (CLUTTER_STAGE (stage), "Pan Action");
clutter_stage_set_user_resizable (CLUTTER_STAGE (stage), TRUE);
scroll = create_scroll_actor (stage);
clutter_actor_add_child (stage, scroll);
info = clutter_text_new_with_text (NULL, "Press <space> to reset the image position.");
clutter_actor_add_child (stage, info);
clutter_actor_set_position (info, 12, 12);
g_signal_connect (stage, "destroy", G_CALLBACK (clutter_main_quit), NULL);
g_signal_connect (stage, "key-press-event", G_CALLBACK (on_key_press), scroll);
clutter_actor_show (stage);
clutter_main ();
return EXIT_SUCCESS;
}
示例6: clone_no_map
static void
clone_no_map (void)
{
ClutterActor *stage;
ClutterActor *group;
ClutterActor *actor;
ClutterActor *clone;
stage = clutter_test_get_stage ();
clutter_actor_show (stage);
group = clutter_actor_new ();
actor = clutter_actor_new ();
clutter_actor_hide (group);
clutter_actor_add_child (group, actor);
clutter_actor_add_child (stage, group);
g_assert (!(CLUTTER_ACTOR_IS_MAPPED (group)));
g_assert (!(CLUTTER_ACTOR_IS_MAPPED (actor)));
clone = clutter_clone_new (group);
clutter_actor_add_child (stage, clone);
g_assert (CLUTTER_ACTOR_IS_MAPPED (clone));
g_assert (!(CLUTTER_ACTOR_IS_MAPPED (group)));
g_assert (!(CLUTTER_ACTOR_IS_MAPPED (actor)));
clutter_actor_destroy (CLUTTER_ACTOR (clone));
clutter_actor_destroy (CLUTTER_ACTOR (group));
}
示例7: xfdashboard_text_box_init
/* Object initialization
* Create private structure and set up default values
*/
static void xfdashboard_text_box_init(XfdashboardTextBox *self)
{
XfdashboardTextBoxPrivate *priv;
priv=self->priv=XFDASHBOARD_TEXT_BOX_GET_PRIVATE(self);
/* This actor is react on events */
clutter_actor_set_reactive(CLUTTER_ACTOR(self), TRUE);
/* Set up default values */
priv->padding=0.0f;
priv->spacing=0.0f;
priv->isEditable=FALSE;
priv->primaryIconName=NULL;
priv->secondaryIconName=NULL;
priv->textFont=NULL;
priv->textColor=NULL;
priv->selectionTextColor=NULL;
priv->selectionBackgroundColor=NULL;
priv->hintTextFont=NULL;
priv->hintTextColor=NULL;
priv->showPrimaryIcon=FALSE;
priv->showSecondaryIcon=FALSE;
priv->selectionColorSet=FALSE;
priv->hintTextSet=FALSE;
/* Create actors */
priv->actorPrimaryIcon=xfdashboard_button_new();
xfdashboard_stylable_add_class(XFDASHBOARD_STYLABLE(priv->actorPrimaryIcon), "primary-icon");
clutter_actor_set_reactive(priv->actorPrimaryIcon, TRUE);
clutter_actor_hide(priv->actorPrimaryIcon);
clutter_actor_add_child(CLUTTER_ACTOR(self), priv->actorPrimaryIcon);
g_signal_connect_swapped(priv->actorPrimaryIcon, "clicked", G_CALLBACK(_xfdashboard_text_box_on_primary_icon_clicked), self);
priv->actorSecondaryIcon=xfdashboard_button_new();
xfdashboard_stylable_add_class(XFDASHBOARD_STYLABLE(priv->actorSecondaryIcon), "secondary-icon");
clutter_actor_set_reactive(priv->actorSecondaryIcon, TRUE);
clutter_actor_hide(priv->actorSecondaryIcon);
clutter_actor_add_child(CLUTTER_ACTOR(self), priv->actorSecondaryIcon);
g_signal_connect_swapped(priv->actorSecondaryIcon, "clicked", G_CALLBACK(_xfdashboard_text_box_on_secondary_icon_clicked), self);
priv->actorTextBox=clutter_text_new();
clutter_actor_add_child(CLUTTER_ACTOR(self), priv->actorTextBox);
clutter_actor_set_reactive(priv->actorTextBox, TRUE);
clutter_text_set_selectable(CLUTTER_TEXT(priv->actorTextBox), FALSE);
clutter_text_set_editable(CLUTTER_TEXT(priv->actorTextBox), FALSE);
clutter_text_set_single_line_mode(CLUTTER_TEXT(priv->actorTextBox), TRUE);
g_signal_connect_swapped(priv->actorTextBox, "text-changed", G_CALLBACK(_xfdashboard_text_box_on_text_changed), self);
priv->actorHintLabel=clutter_text_new();
clutter_actor_add_child(CLUTTER_ACTOR(self), priv->actorHintLabel);
clutter_actor_set_reactive(priv->actorHintLabel, FALSE);
clutter_text_set_selectable(CLUTTER_TEXT(priv->actorHintLabel), FALSE);
clutter_text_set_editable(CLUTTER_TEXT(priv->actorHintLabel), FALSE);
clutter_text_set_single_line_mode(CLUTTER_TEXT(priv->actorHintLabel), TRUE);
clutter_actor_hide(priv->actorHintLabel);
}
示例8: main
int
main (int argc,
char *argv[])
{
ClutterActor *stage;
ClutterAction *action1;
ClutterAction *action2;
ClutterActor *actor1;
ClutterActor *actor2;
if (clutter_init (&argc, &argv) != CLUTTER_INIT_SUCCESS)
return 1;
stage = clutter_stage_new ();
clutter_actor_set_size (stage, 400, 400);
clutter_stage_set_color (CLUTTER_STAGE (stage), &stage_color);
g_signal_connect (stage, "destroy", G_CALLBACK (clutter_main_quit), NULL);
actor1 = clutter_actor_new ();
clutter_actor_set_name (actor1, "Red Button");
clutter_actor_set_background_color (actor1, CLUTTER_COLOR_Red);
clutter_actor_set_size (actor1, 100, 100);
clutter_actor_set_reactive (actor1, TRUE);
clutter_actor_set_position (actor1, 50, 150);
clutter_actor_add_child (stage, actor1);
actor2 = clutter_actor_new ();
clutter_actor_set_name (actor2, "Blue Button");
clutter_actor_set_background_color (actor2, CLUTTER_COLOR_Blue);
clutter_actor_set_size (actor2, 100, 100);
clutter_actor_set_position (actor2, 250, 150);
clutter_actor_set_reactive (actor2, TRUE);
clutter_actor_add_child (stage, actor2);
action1 = clutter_click_action_new ();
clutter_actor_add_action (actor1, action1);
action2 = clutter_click_action_new ();
clutter_actor_add_action (actor2, action2);
g_signal_connect (action1,
"clicked",
G_CALLBACK (clicked_cb),
NULL);
g_signal_connect (action2,
"clicked",
G_CALLBACK (clicked_cb),
NULL);
clutter_actor_show (stage);
clutter_main ();
return EXIT_SUCCESS;
}
示例9: mex_column_view_init
static void
mex_column_view_init (MexColumnView *self)
{
MexColumnViewPrivate *priv = self->priv = COLUMN_VIEW_PRIVATE (self);
/* Begin private children */
clutter_actor_push_internal (CLUTTER_ACTOR (self));
/* Create the header */
priv->header = mx_box_layout_new ();
mx_box_layout_set_orientation ((MxBoxLayout *) priv->header,
MX_ORIENTATION_HORIZONTAL);
clutter_actor_push_internal (CLUTTER_ACTOR (self));
clutter_actor_set_parent (priv->header, CLUTTER_ACTOR (self));
clutter_actor_pop_internal (CLUTTER_ACTOR (self));
priv->button = mx_button_new ();
mx_stylable_set_style_class (MX_STYLABLE (priv->button), "Header");
priv->label = mx_label_new ();
g_object_set (priv->label, "clip-to-allocation", TRUE, "fade-out", TRUE,
NULL);
clutter_actor_add_child (CLUTTER_ACTOR (priv->button), priv->label);
clutter_actor_add_child (priv->header, priv->button);
clutter_container_child_set (CLUTTER_CONTAINER (priv->header), priv->button,
"expand", TRUE,
"x-fill", TRUE,
"x-align", MX_ALIGN_START,
"y-fill", TRUE,
NULL);
g_signal_connect (priv->button, "clicked",
G_CALLBACK (mex_column_header_clicked_cb), self);
priv->scroll = mex_scroll_view_new ();
mx_kinetic_scroll_view_set_scroll_policy (MX_KINETIC_SCROLL_VIEW (priv->scroll),
MX_SCROLL_POLICY_VERTICAL);
mex_scroll_view_set_indicators_hidden (MEX_SCROLL_VIEW (priv->scroll),
TRUE);
clutter_actor_set_parent (priv->scroll, CLUTTER_ACTOR (self));
priv->column = mex_column_new ();
clutter_actor_add_child (CLUTTER_ACTOR (priv->scroll), priv->column);
g_signal_connect (priv->column, "notify::opened",
G_CALLBACK (mex_column_view_opened_cb), self);
/* End of private children */
clutter_actor_pop_internal (CLUTTER_ACTOR (self));
/* Set the column as reactive and enable collapsing */
clutter_actor_set_reactive (CLUTTER_ACTOR (self), TRUE);
}
示例10: mnb_fancy_bin_init
static void
mnb_fancy_bin_init (MnbFancyBin *self)
{
MnbFancyBinPrivate *priv = self->priv = FANCY_BIN_PRIVATE (self);
priv->curve_radius = 2;
priv->child = clutter_clone_new (NULL);
priv->clone = clutter_clone_new (NULL);
clutter_actor_add_child(CLUTTER_ACTOR (self), priv->child);
clutter_actor_add_child(CLUTTER_ACTOR (self), priv->clone);
g_signal_connect (self, "style-changed",
G_CALLBACK (mnb_fancy_bin_style_changed_cb), self);
}
示例11: _stop_video_preview
static gboolean
_stop_video_preview (MexContentTile *self)
{
MexContentTilePrivate *priv = MEX_CONTENT_TILE (self)->priv;
if (priv->start_video_preview > 0)
g_source_remove (priv->start_video_preview);
/* video never started */
if (priv->child == priv->image)
return FALSE;
if (!priv->video_preview)
return FALSE;
clutter_media_set_playing (CLUTTER_MEDIA (priv->video_preview), FALSE);
clutter_actor_remove_child (CLUTTER_ACTOR (self), priv->video_preview);
clutter_actor_add_child (CLUTTER_ACTOR (self), priv->image);
/* After setting the child the old child is killed off so NULL this to
* help with checks
*/
priv->video_preview = NULL;
return FALSE;
}
示例12: mx_bin_set_child
/**
* mx_bin_set_child:
* @bin: a #MxBin
* @child: a #ClutterActor, or %NULL
*
* Sets @child as the child of @bin.
*
* If @bin already has a child, the previous child is removed.
*/
void
mx_bin_set_child (MxBin *bin,
ClutterActor *child)
{
MxBinPrivate *priv;
g_return_if_fail (MX_IS_BIN (bin));
g_return_if_fail (child == NULL || CLUTTER_IS_ACTOR (child));
priv = bin->priv;
if (priv->child == child)
return;
if (priv->child)
{
ClutterActor *old_child = priv->child;
priv->child = NULL;
clutter_actor_remove_child (CLUTTER_ACTOR (bin), old_child);
}
if (child)
{
priv->child = child;
clutter_actor_add_child (CLUTTER_ACTOR (bin), child);
}
clutter_actor_queue_relayout (CLUTTER_ACTOR (bin));
g_object_notify (G_OBJECT (bin), "child");
}
示例13: clutter_box2_d_tests_clutter_box2_dlayout_manager_tests_test_clutterbox2d_layout_manager_hello_world
void clutter_box2_d_tests_clutter_box2_dlayout_manager_tests_test_clutterbox2d_layout_manager_hello_world (ClutterBox2DTestsClutterBox2DLayoutManagerTests* self) {
ClutterBox2DLayoutManager* manager = NULL;
ClutterBox2DLayoutManager* _tmp0_ = NULL;
ClutterActor* world = NULL;
ClutterActor* _tmp1_ = NULL;
ClutterActor* actor = NULL;
ClutterActor* _tmp2_ = NULL;
g_return_if_fail (self != NULL);
_tmp0_ = clutter_box2_d_layout_manager_new ();
g_object_ref_sink (_tmp0_);
manager = _tmp0_;
_tmp1_ = clutter_actor_new ();
g_object_ref_sink (_tmp1_);
world = _tmp1_;
clutter_actor_set_layout_manager (world, (ClutterLayoutManager*) manager);
_tmp2_ = clutter_actor_new ();
g_object_ref_sink (_tmp2_);
actor = _tmp2_;
clutter_actor_set_size (actor, (gfloat) 150, (gfloat) 150);
clutter_actor_set_position (actor, (gfloat) 100, (gfloat) 120);
clutter_actor_add_child (world, actor);
_g_object_unref0 (actor);
_g_object_unref0 (world);
_g_object_unref0 (manager);
}
示例14: mx_toggle_init
static void
mx_toggle_init (MxToggle *self)
{
ClutterTimeline *timeline;
self->priv = TOGGLE_PRIVATE (self);
self->priv->handle = g_object_new (MX_TYPE_TOGGLE_HANDLE,
"reactive", TRUE, NULL);
clutter_actor_add_child (CLUTTER_ACTOR (self), self->priv->handle);
g_object_bind_property (self, "disabled", self->priv->handle, "disabled",
G_BINDING_SYNC_CREATE);
timeline = clutter_timeline_new (300);
g_signal_connect (timeline, "new-frame",
G_CALLBACK (mx_toggle_update_position), self);
self->priv->alpha = clutter_alpha_new_full (timeline,
CLUTTER_EASE_IN_OUT_CUBIC);
clutter_actor_set_reactive (CLUTTER_ACTOR (self), TRUE);
clutter_actor_set_reactive (CLUTTER_ACTOR (self->priv->handle), TRUE);
self->priv->drag_offset = -1;
g_signal_connect (self->priv->handle, "button-press-event",
G_CALLBACK (mx_toggle_handle_button_press_event), self);
g_signal_connect (self->priv->handle, "button-release-event",
G_CALLBACK (mx_toggle_handle_button_release_event), self);
g_signal_connect (self->priv->handle, "motion-event",
G_CALLBACK (mx_toggle_handle_motion_event), self);
}
示例15: mpl_panel_clutter_set_child
/**
* mpl_panel_clutter_set_child:
* @panel: #MplPanelClutter
* @child: #ClutterActor
*
* Sets child as the top-level #ClutterActor.
*/
void
mpl_panel_clutter_set_child (MplPanelClutter *panel, ClutterActor *child)
{
MplPanelClutterPrivate *priv = panel->priv;
clutter_actor_add_child (priv->stage, child);
}