本文整理汇总了C++中clutter_actor_show函数的典型用法代码示例。如果您正苦于以下问题:C++ clutter_actor_show函数的具体用法?C++ clutter_actor_show怎么用?C++ clutter_actor_show使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了clutter_actor_show函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: stage_motion_event_cb
static gboolean
stage_motion_event_cb (ClutterActor *stage, ClutterEvent *event, ClutterActor *controls)
{
if (g_object_get_data (G_OBJECT (controls), "cursor-in-controls") != NULL) {
rb_debug ("bleep");
return FALSE;
}
clutter_stage_show_cursor (CLUTTER_STAGE (stage));
clutter_actor_show (controls);
stop_hide_timer (controls);
start_hide_timer (controls);
return FALSE;
}
开发者ID:dardevelin,项目名称:rhythmbox-gnome-fork,代码行数:17,代码来源:rb-visualizer-fullscreen.c
示例2: clutter_stage_get_default
bool StageManager::initStage()
{
stage_ = clutter_stage_get_default();
float width = (float) getAttribute("size").getInt(0);
float height =(float) getAttribute("size").getInt(1);
clutter_actor_set_size(stage_, width, height);
clutter_stage_set_color(CLUTTER_STAGE(stage_), &black);
g_signal_connect(stage_, "destroy", G_CALLBACK(on_stage_destroyed), (gpointer) this);
std::string filename = getAttribute("script").getString(0);
GError *error = NULL;
/* load JSON from a file */
ClutterScript *script = clutter_script_new();
clutter_script_load_from_file(script, filename.c_str(), &error);
if (error != NULL)
{
std::cerr << "Unable to read file: " << error->message << std::endl;
g_error_free(error);
// TODO: fail
g_critical("Could not load GUI");
return false;
}
ClutterActor *group0 = CLUTTER_ACTOR(clutter_script_get_object(script, "group0")); // TODO: rename to root
clutter_container_add_actor(CLUTTER_CONTAINER(stage_), group0);
//clutter_script_connect_signals(script, this);
clutter_script_connect_signals_full(script, tempi_clutter_connect_signals, this);
// timeline to attach a callback for each frame that is rendered
ClutterTimeline *timeline;
timeline = clutter_timeline_new(60); // ms
clutter_timeline_set_loop(timeline, TRUE);
clutter_timeline_start(timeline);
g_signal_connect(timeline, "new-frame", G_CALLBACK(on_frame_cb), this);
g_signal_connect(stage_, "key-press-event", G_CALLBACK(key_event_cb), this);
g_object_unref(script); // avoid memory leak
clutter_actor_show(stage_);
if (CLUTTER_IS_ACTOR(stage_))
return true;
else
return false;
}
开发者ID:aalex,项目名称:tempi,代码行数:46,代码来源:clutterstagenode.cpp
示例3: lcs_taskbar
static int lcs_taskbar (int *argc, char ***argv)
{
gdk_init (argc, argv);
lcs_clutter_enable_transparency (TRUE);
gtk_init (argc, argv);
if (!clutter_init (argc, argv))
{
fprintf (stderr, "error initializing clutter");
exit (1);
}
ClutterActor *stage = clutter_stage_new ();
clutter_actor_set_layout_manager (
stage,
clutter_bin_layout_new (CLUTTER_BIN_ALIGNMENT_START,
CLUTTER_BIN_ALIGNMENT_START));
clutter_stage_set_use_alpha (CLUTTER_STAGE (stage), TRUE);
clutter_actor_set_background_color (stage,
clutter_color_new (255, 255, 255, 96));
ClutterActor *taskbar = lcs_taskbar_new ();
clutter_actor_set_margin (taskbar,
lcs_clutter_margin_new_full (4, 4, 4, 4));
clutter_actor_add_child (stage, taskbar);
g_signal_connect (stage, "destroy", G_CALLBACK (on_stage_destroy), NULL);
ClutterAction *drag = clutter_drag_action_new ();
g_signal_connect (drag,
"drag-motion",
G_CALLBACK (on_stage_drag_motion),
NULL);
clutter_actor_add_action_with_name (stage, "drag", drag);
clutter_actor_show (stage);
long stagexid = lcs_wm_get_stage_xid (CLUTTER_STAGE(stage));
g_object_set_data (G_OBJECT (stage), "xid", GINT_TO_POINTER (stagexid));
lcs_wm_xwindow_set_decorated (stagexid, FALSE);
lcs_wm_xwindow_set_above (stagexid);
lcs_wm_xwindow_set_dock (stagexid);
clutter_main ();
return (0);
}
开发者ID:skim,项目名称:lcs-desktop,代码行数:46,代码来源:main.c
示例4: mex_content_box_notify_open_cb
static void
mex_content_box_notify_open_cb (MexExpanderBox *box,
GParamSpec *pspec)
{
GList *actions;
ClutterStage *stage = CLUTTER_STAGE (
clutter_actor_get_stage (CLUTTER_ACTOR (box)));
MxFocusManager *fmanager = mx_focus_manager_get_for_stage (stage);
MexActionManager *manager = mex_action_manager_get_default ();
MexContentBoxPrivate *priv = MEX_CONTENT_BOX (box)->priv;
gboolean open = mex_expander_box_get_open (box);
if (!open)
{
/* If the action list has focus, push it back onto the tile */
if (mex_actor_has_focus (fmanager, priv->action_list))
mx_focus_manager_push_focus (fmanager, MX_FOCUSABLE (priv->tile));
return;
}
/* Refresh the info panel and the action list */
mex_content_view_set_content (MEX_CONTENT_VIEW (priv->panel), priv->content);
mex_action_list_refresh (MEX_ACTION_LIST (priv->action_list));
/* See if we have any actions */
actions = mex_action_manager_get_actions_for_content (manager,
priv->content);
/* Push focus onto the action list if we have actions, otherwise onto
* the tile.
*/
if (actions)
{
clutter_actor_show (priv->action_list);
mx_focus_manager_push_focus (fmanager,
MX_FOCUSABLE (priv->action_list));
g_list_free (actions);
}
else
{
clutter_actor_hide (priv->action_list);
mx_focus_manager_push_focus (fmanager, MX_FOCUSABLE (priv->tile));
}
}
开发者ID:olethanh,项目名称:media-explorer,代码行数:45,代码来源:mex-content-box.c
示例5: get_error_message_transition
static ClutterTransition *
get_error_message_transition (CalibArea *area)
{
ClutterTransition *transition;
clutter_actor_show (area->error_text);
transition = clutter_property_transition_new ("opacity");
clutter_timeline_set_progress_mode (CLUTTER_TIMELINE (transition),
CLUTTER_EASE_OUT);
clutter_timeline_set_duration (CLUTTER_TIMELINE (transition),
ERROR_MESSAGE_ANIMATION_DURATION);
clutter_transition_set_animatable (transition,
CLUTTER_ANIMATABLE (area->error_text));
clutter_transition_set_from (transition, G_TYPE_UINT, 0);
clutter_transition_set_to (transition, G_TYPE_UINT, 255);
return transition;
}
开发者ID:Amphiboly,项目名称:gnome-control-center,代码行数:18,代码来源:calibrator-gui.c
示例6: mpl_application_view_set_subtitle
void
mpl_application_view_set_subtitle (MplApplicationView *view,
const gchar *text)
{
MplApplicationViewPrivate *priv;
g_return_if_fail (MPL_IS_APPLICATION_VIEW (view));
priv = view->priv;
mx_label_set_text (MX_LABEL (priv->subtitle), text);
if (!strcmp (mx_label_get_text (MX_LABEL (priv->title)),
mx_label_get_text (MX_LABEL (priv->subtitle))))
clutter_actor_hide (priv->subtitle);
else
clutter_actor_show (priv->subtitle);
}
开发者ID:phmccarty,项目名称:dawati-shell,代码行数:18,代码来源:mpl-application-view.c
示例7: _show_settings_dialog_cb
static gboolean
_show_settings_dialog_cb (ClutterActor *actor, MexInfoBar *self)
{
MexInfoBarPrivate *priv = self->priv;
if (!priv->settings_dialog_parented)
{
ClutterActor *stage;
stage = clutter_actor_get_stage (CLUTTER_ACTOR (self));
mx_dialog_set_transient_parent (MX_DIALOG (priv->settings_dialog), stage);
priv->settings_dialog_parented = TRUE;
}
clutter_actor_show (priv->settings_dialog);
return TRUE;
}
开发者ID:tthef,项目名称:media-explorer,代码行数:18,代码来源:mex-info-bar.c
示例8: main
int
main (int argc, char *argv[])
{
TestState state;
ClutterActor *stage;
GError *error = NULL;
g_setenv ("CLUTTER_VBLANK", "none", FALSE);
g_setenv ("CLUTTER_SHOW_FPS", "1", FALSE);
if (clutter_init_with_args (&argc, &argv,
NULL,
entries,
NULL,
&error) != CLUTTER_INIT_SUCCESS)
{
g_warning ("Unable to initialise Clutter:\n%s",
error->message);
g_error_free (error);
return EXIT_FAILURE;
}
state.current_test = 0;
state.stage = stage = clutter_stage_new ();
clutter_actor_set_size (stage, STAGE_WIDTH, STAGE_HEIGHT);
clutter_stage_set_color (CLUTTER_STAGE (stage), CLUTTER_COLOR_White);
clutter_stage_set_title (CLUTTER_STAGE (stage), "Cogl Performance Test");
/* We want continuous redrawing of the stage... */
clutter_threads_add_idle (queue_redraw, stage);
g_signal_connect_after (stage, "paint", G_CALLBACK (on_paint), &state);
clutter_actor_show (stage);
clutter_main ();
clutter_actor_destroy (stage);
return 0;
}
开发者ID:GNOME,项目名称:mutter,代码行数:44,代码来源:test-cogl-perf.c
示例9: test_pick
void
test_pick (TestConformSimpleFixture *fixture,
gconstpointer data)
{
int y, x;
State state;
state.pass = TRUE;
state.stage = clutter_stage_get_default ();
clutter_actor_set_size (state.stage, STAGE_WIDTH, STAGE_HEIGHT);
state.actor_width = STAGE_WIDTH / ACTORS_X;
state.actor_height = STAGE_HEIGHT / ACTORS_Y;
for (y = 0; y < ACTORS_Y; y++)
for (x = 0; x < ACTORS_X; x++)
{
ClutterColor color = { x * 255 / (ACTORS_X - 1),
y * 255 / (ACTORS_Y - 1),
128, 255 };
ClutterGeometry geom = { x * state.actor_width, y * state.actor_height,
state.actor_width, state.actor_height };
ClutterActor *rect = clutter_rectangle_new_with_color (&color);
clutter_actor_set_geometry (rect, &geom);
clutter_container_add (CLUTTER_CONTAINER (state.stage), rect, NULL);
state.gids[y * ACTORS_X + x] = clutter_actor_get_gid (rect);
}
clutter_actor_show (state.stage);
g_timeout_add (250, (GSourceFunc) on_timeout, &state);
clutter_main ();
if (g_test_verbose ())
g_print ("end result: %s\n", state.pass ? "pass" : "FAIL");
g_assert (state.pass);
}
开发者ID:Docworld,项目名称:chromiumos,代码行数:44,代码来源:test-pick.c
示例10: handle_xembed_event
static gboolean
handle_xembed_event (ClutterBackendX11 *backend_x11,
XEvent *xevent)
{
ClutterActor *stage;
stage = clutter_stage_get_default ();
switch (xevent->xclient.data.l[1])
{
case XEMBED_EMBEDDED_NOTIFY:
CLUTTER_NOTE (EVENT, "got XEMBED_EMBEDDED_NOTIFY from %lx",
xevent->xclient.data.l[3]);
ParentEmbedderWin = xevent->xclient.data.l[3];
clutter_actor_realize (stage);
clutter_actor_show (stage);
xembed_set_info (backend_x11,
clutter_x11_get_stage_window (CLUTTER_STAGE (stage)),
XEMBED_MAPPED);
break;
case XEMBED_WINDOW_ACTIVATE:
CLUTTER_NOTE (EVENT, "got XEMBED_WINDOW_ACTIVATE");
break;
case XEMBED_WINDOW_DEACTIVATE:
CLUTTER_NOTE (EVENT, "got XEMBED_WINDOW_DEACTIVATE");
break;
case XEMBED_FOCUS_IN:
CLUTTER_NOTE (EVENT, "got XEMBED_FOCUS_IN");
if (ParentEmbedderWin)
xembed_send_message (backend_x11, ParentEmbedderWin,
XEMBED_FOCUS_NEXT,
0, 0, 0);
break;
default:
CLUTTER_NOTE (EVENT, "got unknown XEMBED message");
break;
}
/* do not propagate the XEMBED events to the stage */
return FALSE;
}
开发者ID:gramozeka,项目名称:GSB-NEW,代码行数:44,代码来源:clutter-event-x11.c
示例11: startOSC
bool App::launch()
{
if (osc_recv_port_ == 0)
if (verbose_)
std::cout << "OSC receiving disabled." << std::endl;
else
startOSC();
// Poll OSC receiver only when we render a Clutter frame.
if (stage_)
{
std::cerr << "cannot create stage twice" << std::endl;
//return false;
}
stage_ = clutter_stage_get_default();
clutter_actor_set_size(stage_, 1024, 768);
ClutterColor black = { 0x00, 0x00, 0x00, 0xff };
clutter_stage_set_color(CLUTTER_STAGE(stage_), &black);
g_signal_connect(stage_, "destroy", G_CALLBACK(clutter_main_quit), NULL);
clutter_actor_set_reactive(stage_, TRUE);
// timeline to attach a callback for each frame that is rendered
ClutterTimeline *timeline;
timeline = clutter_timeline_new(60); // ms
clutter_timeline_set_loop(timeline, TRUE);
clutter_timeline_start(timeline);
g_signal_connect(timeline, "new-frame", G_CALLBACK(on_frame_cb), this);
g_signal_connect(stage_, "key-press-event", G_CALLBACK(key_event_cb), this);
g_signal_connect(stage_, "button-press-event", G_CALLBACK(button_press_cb), this);
g_signal_connect(stage_, "button-release-event", G_CALLBACK(button_released_cb), this);
g_signal_connect(stage_, "motion-event", G_CALLBACK(motion_event_cb), this);
if (fullscreen_)
{
fullscreen_ = false;
toggleFullscreen();
}
createPalette();
clutter_actor_show(stage_);
return true;
}
开发者ID:aalex,项目名称:ubuntu-tempi,代码行数:44,代码来源:main.cpp
示例12: show_stage
static gboolean
show_stage (MetaPlugin *plugin)
{
MetaScreen *screen;
ClutterActor *stage;
screen = meta_plugin_get_screen (plugin);
stage = meta_get_stage_for_screen (screen);
clutter_actor_show (stage);
/* Set up our own keybinding overrides */
meta_keybindings_set_custom_handler(BUDGIE_KEYBINDING_MAIN_MENU,
budgie_launch_menu, NULL, NULL);
meta_keybindings_set_custom_handler(BUDGIE_KEYBINDING_RUN_DIALOG,
budgie_launch_rundialog, NULL, NULL);
return FALSE;
}
开发者ID:bighead85,项目名称:budgie-desktop,代码行数:19,代码来源:plugin.c
示例13: test_window
static void
test_window (void)
{
GsdOsdDrawContext ctx;
ClutterActor *stage, *actor;
ClutterContent *canvas;
GtkWidgetPath *widget_path;
/* create a resizable stage */
stage = clutter_stage_new ();
clutter_stage_set_title (CLUTTER_STAGE (stage), "OSD Test");
clutter_stage_set_user_resizable (CLUTTER_STAGE (stage), TRUE);
clutter_actor_set_background_color (stage, CLUTTER_COLOR_Red);
clutter_actor_set_size (stage, 300, 300);
clutter_actor_show (stage);
/* box canvas */
canvas = clutter_canvas_new ();
clutter_canvas_set_size (CLUTTER_CANVAS (canvas), 300, 300);
actor = clutter_actor_new ();
clutter_actor_add_constraint (actor, clutter_bind_constraint_new (stage, CLUTTER_BIND_SIZE, 0));
clutter_actor_set_content (actor, canvas);
g_object_unref (canvas);
clutter_actor_add_child (stage, actor);
memset (&ctx, 0, sizeof(ctx));
widget_path = gtk_widget_path_new ();
gtk_widget_path_append_type (widget_path, GTK_TYPE_WINDOW);
ctx.style = gtk_style_context_new ();
gtk_style_context_set_path (ctx.style, widget_path);
ctx.direction = clutter_get_default_text_direction ();
ctx.theme = gtk_icon_theme_get_default ();
g_signal_connect (canvas, "draw", G_CALLBACK (draw_box), &ctx);
clutter_content_invalidate (canvas);
g_signal_connect (stage, "destroy", G_CALLBACK (gtk_main_quit), NULL);
}
开发者ID:ChrisCummins,项目名称:gnome-settings-daemon,代码行数:42,代码来源:test-media-window-clutter.c
示例14: meta_switcher_show
gboolean meta_switcher_show(MetaSwitcher* self)
{
MetaSwitcherPrivate* priv = self->priv;
int screen_width, screen_height;
MetaScreen* screen = meta_plugin_get_screen(priv->plugin);
priv->workspace = meta_screen_get_active_workspace(screen);
meta_screen_get_size(screen, &screen_width, &screen_height);
meta_switcher_present_list(self);
if (priv->apps == NULL || priv->apps->len == 0) goto _end;
_capture_desktop(self);
clutter_content_invalidate(clutter_actor_get_content(priv->top));
ClutterActor* stage = meta_get_stage_for_screen(screen);
clutter_actor_insert_child_above(stage, priv->top, NULL);
clutter_actor_show(priv->top);
if (!meta_plugin_begin_modal(priv->plugin, 0, clutter_get_current_event_time())) {
if (!meta_plugin_begin_modal(priv->plugin, META_MODAL_POINTER_ALREADY_GRABBED,
clutter_get_current_event_time())) {
g_warning("can not be modal");
goto _end;
}
}
meta_disable_unredirect_for_screen(screen);
priv->modaled = TRUE;
priv->previous_focused = clutter_stage_get_key_focus(CLUTTER_STAGE(stage));
if (priv->previous_focused == stage) priv->previous_focused = NULL;
clutter_stage_set_key_focus(CLUTTER_STAGE(stage), priv->top);
clutter_actor_grab_key_focus(priv->top);
return TRUE;
_end:
clutter_actor_hide(priv->top);
return FALSE;
}
开发者ID:AOSC-Dev,项目名称:elsa-shell,代码行数:42,代码来源:switcher.c
示例15: test_texture_material_main
G_MODULE_EXPORT int
test_texture_material_main (int argc, char *argv[])
{
ClutterActor *stage, *box;
ClutterLayoutManager *manager;
int i;
g_thread_init (NULL);
clutter_threads_init ();
clutter_init (&argc, &argv);
stage = clutter_stage_new ();
clutter_stage_set_title (CLUTTER_STAGE (stage), "Texture Material");
g_signal_connect (stage, "destroy", G_CALLBACK (clutter_main_quit), NULL);
manager = clutter_flow_layout_new (CLUTTER_FLOW_HORIZONTAL);
box = clutter_box_new (manager);
clutter_actor_add_constraint (box, clutter_bind_constraint_new (stage, CLUTTER_BIND_WIDTH, -25.0));
clutter_actor_add_constraint (box, clutter_bind_constraint_new (stage, CLUTTER_BIND_HEIGHT, -25.0));
clutter_actor_set_position (box, 25.0, 25.0);
clutter_container_add_actor (CLUTTER_CONTAINER (stage), box);
for (i = 0; i < 48; i++)
{
ClutterActor *texture = clutter_texture_new ();
clutter_texture_set_load_data_async (CLUTTER_TEXTURE (texture), TRUE);
clutter_texture_set_keep_aspect_ratio (CLUTTER_TEXTURE (texture), TRUE);
clutter_texture_set_from_file (CLUTTER_TEXTURE (texture),
TESTS_DATADIR "/redhand.png",
NULL);
clutter_actor_set_width (texture, 96);
clutter_container_add_actor (CLUTTER_CONTAINER (box), texture);
}
clutter_actor_show (stage);
clutter_main ();
return EXIT_SUCCESS;
}
开发者ID:nobled,项目名称:clutter,代码行数:42,代码来源:test-texture-material.c
示例16: xfdashboard_text_box_set_secondary_icon
void xfdashboard_text_box_set_secondary_icon(XfdashboardTextBox *self, const gchar *inIconName)
{
XfdashboardTextBoxPrivate *priv;
g_return_if_fail(XFDASHBOARD_IS_TEXT_BOX(self));
g_return_if_fail(!inIconName || strlen(inIconName)>0);
priv=self->priv;
/* Set themed icon name or icon file name for primary icon */
if(g_strcmp0(priv->secondaryIconName, inIconName)!=0)
{
/* Set new primary icon name */
if(priv->secondaryIconName)
{
g_free(priv->secondaryIconName);
priv->secondaryIconName=NULL;
}
if(inIconName)
{
/* Load and set new icon */
priv->secondaryIconName=g_strdup(inIconName);
xfdashboard_button_set_icon(XFDASHBOARD_BUTTON(priv->actorSecondaryIcon), priv->secondaryIconName);
/* Show icon */
priv->showSecondaryIcon=TRUE;
clutter_actor_show(priv->actorSecondaryIcon);
clutter_actor_queue_relayout(CLUTTER_ACTOR(self));
}
else
{
/* Hide icon */
priv->showSecondaryIcon=FALSE;
clutter_actor_hide(priv->actorSecondaryIcon);
clutter_actor_queue_relayout(CLUTTER_ACTOR(self));
}
/* Notify about property change */
g_object_notify_by_pspec(G_OBJECT(self), XfdashboardTextBoxProperties[PROP_SECONDARY_ICON_NAME]);
}
}
开发者ID:tydaikho,项目名称:xfdashboard,代码行数:42,代码来源:text-box.c
示例17: key_focus_in_cb
static void
key_focus_in_cb (ClutterActor *actor,
gpointer data)
{
ClutterActor *focus_box = CLUTTER_ACTOR (data);
if (CLUTTER_IS_STAGE (actor))
clutter_actor_hide (focus_box);
else
{
clutter_actor_set_position (focus_box,
clutter_actor_get_x (actor) - 5,
clutter_actor_get_y (actor) - 5);
clutter_actor_set_size (focus_box,
clutter_actor_get_width (actor) + 10,
clutter_actor_get_height (actor) + 10);
clutter_actor_show (focus_box);
}
}
开发者ID:kerrickstaley,项目名称:clutter-vala,代码行数:20,代码来源:test-events.c
示例18: glide_window_paste_action_activate
void
glide_window_paste_action_activate (GtkAction *a,
gpointer user_data)
{
GlideWindow *w = (GlideWindow *)user_data;
GtkClipboard *clipboard = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD);
if (w->priv->copy_buffer)
{
GlideActor *n = glide_window_construct_copy_buffer (w);
glide_stage_manager_add_actor (w->priv->manager, n);
clutter_actor_show (CLUTTER_ACTOR (n));
return;
}
gtk_clipboard_request_targets (clipboard, glide_window_paste_targets_received, w);
}
开发者ID:racarr,项目名称:Glide,代码行数:20,代码来源:glide-window.c
示例19: main
gint
main (int argc,
char *argv[])
{
ClutterActor *stage;
clutter_init (&argc, &argv);
stage = clutter_stage_get_default ();
custom_cursor (0, 0, 0);
gcr_prepare ("/tmp/test.mpg");
clutter_actor_show (stage);
gcr_start ();
clutter_main ();
gcr_stop ();
return 0;
}
开发者ID:UIKit0,项目名称:toys,代码行数:20,代码来源:test.c
示例20: child_adjustment_changed_cb
static void
child_adjustment_changed_cb (TidyAdjustment *adjustment,
ClutterActor *bar)
{
TidyScrollView *scroll;
ClutterFixed lower, upper, page_size;
scroll = TIDY_SCROLL_VIEW (clutter_actor_get_parent (bar));
/* Determine if this scroll-bar should be visible */
tidy_adjustment_get_valuesx (adjustment, NULL, &lower, &upper,
NULL, NULL, &page_size);
if ((upper - lower) > page_size)
clutter_actor_show (bar);
else
clutter_actor_hide (bar);
/* Request a resize */
tidy_scroll_view_request_coords (CLUTTER_ACTOR (scroll), &scroll->priv->box);
}
开发者ID:ak2consulting,项目名称:tweet,代码行数:20,代码来源:tidy-scroll-view.c
注:本文中的clutter_actor_show函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论