本文整理汇总了C++中clutter_stage_get_default函数的典型用法代码示例。如果您正苦于以下问题:C++ clutter_stage_get_default函数的具体用法?C++ clutter_stage_get_default怎么用?C++ clutter_stage_get_default使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了clutter_stage_get_default函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: main
int
main (int argc, char *argv[])
{
ClutterActor *stage;
ClutterActor *coglbox;
ClutterTimeline *tl;
clutter_init(&argc, &argv);
tl = clutter_timeline_new (G_N_ELEMENTS (paint_func) * 1000);
clutter_timeline_set_loop (tl, TRUE);
clutter_timeline_start (tl);
stage = clutter_stage_get_default ();
clutter_actor_set_size (stage, 400, 400);
clutter_stage_set_title (CLUTTER_STAGE (stage), "Cogl Test");
coglbox = clutter_group_new ();
clutter_container_add_actor (CLUTTER_CONTAINER (stage), coglbox);
g_signal_connect (coglbox, "paint", G_CALLBACK (paint_cb), tl);
/* Redraw every frame of the timeline */
g_signal_connect_swapped (tl, "new-frame",
G_CALLBACK (clutter_actor_queue_redraw), coglbox);
clutter_actor_set_rotation (coglbox, CLUTTER_Y_AXIS, -30, 200, 0, 0);
clutter_actor_set_position (coglbox, 0, 100);
clutter_actor_show (stage);
clutter_main ();
g_object_unref (tl);
return 0;
}
开发者ID:aalex,项目名称:tempi,代码行数:35,代码来源:proto.c
示例2: test_clone_no_map
void
test_clone_no_map (TestConformSimpleFixture *fixture,
gconstpointer data)
{
ClutterActor *stage;
ClutterActor *group;
ClutterActor *actor;
ClutterActor *clone;
stage = clutter_stage_get_default ();
group = clutter_group_new ();
actor = clutter_rectangle_new ();
clutter_actor_hide (group);
clutter_container_add_actor (CLUTTER_CONTAINER (group), actor);
clutter_container_add_actor (CLUTTER_CONTAINER (stage), group);
g_assert (!(CLUTTER_ACTOR_IS_MAPPED (group)));
g_assert (!(CLUTTER_ACTOR_IS_MAPPED (actor)));
clone = clutter_clone_new (group);
clutter_container_add_actor (CLUTTER_CONTAINER (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));
}
开发者ID:Docworld,项目名称:chromiumos,代码行数:33,代码来源:test-actor-invariants.c
示例3: test_cogl_multitexture
void
test_cogl_multitexture (TestConformSimpleFixture *fixture,
gconstpointer data)
{
TestState state;
ClutterActor *stage;
ClutterActor *group;
guint idle_source;
state.frame = 0;
stage = clutter_stage_get_default ();
clutter_stage_set_color (CLUTTER_STAGE (stage), &stage_color);
group = clutter_group_new ();
clutter_container_add_actor (CLUTTER_CONTAINER (stage), group);
/* We force continuous redrawing of the stage, since we need to skip
* the first few frames, and we wont be doing anything else that
* will trigger redrawing. */
idle_source = g_idle_add (queue_redraw, stage);
g_signal_connect (group, "paint", G_CALLBACK (on_paint), &state);
clutter_actor_show_all (stage);
clutter_main ();
g_source_remove (idle_source);
if (g_test_verbose ())
g_print ("OK\n");
}
开发者ID:gramozeka,项目名称:GSB-NEW,代码行数:34,代码来源:test-cogl-multitexture.c
示例4: opt_show_add_slide
void
opt_show_add_slide (OptShow *self, OptSlide *slide)
{
ClutterActor *bg, *stage;
self->priv->slides = g_list_append(self->priv->slides, slide);
self->priv->num_slides++;
stage = clutter_stage_get_default();
bg = CLUTTER_ACTOR(opt_slide_get_background_texture (slide));
if (bg == NULL)
bg = clutter_clone_new(self->priv->bg);
clutter_actor_set_size (bg,
clutter_actor_get_width (stage),
clutter_actor_get_height (stage));
clutter_group_add (CLUTTER_GROUP(slide), bg);
clutter_actor_lower_bottom(bg);
clutter_actor_show(bg);
opt_menu_add_slide (self->priv->menu, slide);
}
开发者ID:UIKit0,项目名称:toys,代码行数:27,代码来源:opt-show.c
示例5: transition_completed_cb
static void
transition_completed_cb (OptTransition *trans,
gpointer data)
{
OptShow *show = (OptShow *)data;
OptSlide *from;
OptShowPrivate *priv;
ClutterActor *stage;
priv = show->priv;
from = opt_transition_get_from (trans);
stage = clutter_stage_get_default();
/* Remove as to free up resources. */
clutter_actor_hide_all (CLUTTER_ACTOR(from));
clutter_container_remove_actor (CLUTTER_CONTAINER(stage),
CLUTTER_ACTOR(from));
/* Reset any tranforms to be safe */
clutter_actor_set_rotation (CLUTTER_ACTOR(from), CLUTTER_X_AXIS, 0, 0, 0, 0);
clutter_actor_set_rotation (CLUTTER_ACTOR(from), CLUTTER_Y_AXIS, 0, 0, 0, 0);
clutter_actor_set_rotation (CLUTTER_ACTOR(from), CLUTTER_Z_AXIS, 0, 0, 0, 0);
/* If needed, update the position */
if (priv->position_label_visible)
opt_show_update_position_label (show);
/* Disconnect the handler */
g_signal_handler_disconnect (trans, priv->trans_signal_id);
priv->trans_signal_id = 0;
}
开发者ID:UIKit0,项目名称:toys,代码行数:34,代码来源:opt-show.c
示例6: test_animation_main
G_MODULE_EXPORT int
test_animation_main (int argc, char *argv[])
{
ClutterActor *stage, *rect;
ClutterColor stage_color = { 0x66, 0x66, 0xdd, 0xff };
ClutterColor rect_color = { 0x44, 0xdd, 0x44, 0xff };
ClutterAction *action;
if (clutter_init (&argc, &argv) != CLUTTER_INIT_SUCCESS)
return 1;
stage = clutter_stage_get_default ();
clutter_stage_set_color (CLUTTER_STAGE (stage), &stage_color);
rect = clutter_rectangle_new_with_color (&rect_color);
clutter_container_add_actor (CLUTTER_CONTAINER (stage), rect);
clutter_actor_set_size (rect, 50, 50);
clutter_actor_set_anchor_point (rect, 25, 25);
clutter_actor_set_position (rect,
clutter_actor_get_width (stage) / 2,
clutter_actor_get_height (stage) / 2);
clutter_actor_set_opacity (rect, 0x88);
clutter_actor_set_reactive (rect, TRUE);
action = clutter_click_action_new ();
g_signal_connect (action, "clicked", G_CALLBACK (on_clicked), NULL);
clutter_actor_add_action_with_name (rect, "click", action);
clutter_actor_show (stage);
clutter_main ();
return EXIT_SUCCESS;
}
开发者ID:rib,项目名称:clutter,代码行数:34,代码来源:test-animation.c
示例7: main
int
main (int argc, char *argv[])
{
ClutterActor *stage;
ClutterActor *coglbox;
clutter_init(&argc, &argv);
stage = clutter_stage_get_default ();
clutter_actor_set_size (stage, 400, 400);
clutter_stage_set_title (CLUTTER_STAGE (stage), "Cogl Test");
coglbox = test_coglbox_new ();
clutter_container_add_actor (CLUTTER_CONTAINER (stage), coglbox);
clutter_actor_set_rotation (coglbox, CLUTTER_Y_AXIS, -30, 200, 0, 0);
clutter_actor_set_position (coglbox, 0, 100);
clutter_actor_show_all (stage);
while (1)
{
clutter_actor_hide (coglbox);
clutter_actor_show (coglbox);
SPIN();
}
return 0;
}
开发者ID:archlinuxarm-n900,项目名称:clutter08,代码行数:29,代码来源:test-cogl-primitives.c
示例8: am_ready_cb
static void
am_ready_cb (GObject *source_object,
GAsyncResult *result,
gpointer userdata)
{
TpAccountManager *account_manager = TP_ACCOUNT_MANAGER (source_object);
AnerleyFeed *feed;
ClutterActor *stage;
ClutterActor *scroll_view;
ClutterActor *icon_view;
ClutterModel *model;
GError *error = NULL;
if (!tp_account_manager_prepare_finish (account_manager, result, &error))
{
g_warning ("Failed to make account manager ready: %s", error->message);
g_error_free (error);
return;
}
feed = ANERLEY_FEED (anerley_aggregate_tp_feed_new ());
model = CLUTTER_MODEL (anerley_feed_model_new (feed));
stage = clutter_stage_get_default ();
icon_view = anerley_tile_view_new (ANERLEY_FEED_MODEL (model));
scroll_view = mx_scroll_view_new ();
clutter_container_add_actor (CLUTTER_CONTAINER (stage),
CLUTTER_ACTOR (scroll_view));
clutter_container_add_actor (CLUTTER_CONTAINER (scroll_view),
CLUTTER_ACTOR (icon_view));
clutter_actor_set_size (CLUTTER_ACTOR (scroll_view), 640, 480);
clutter_actor_show_all (stage);
}
开发者ID:dudochkin-victor,项目名称:anerley,代码行数:34,代码来源:test-aggregate-tp-feed.c
示例9: main
int
main (int argc,
char **argv)
{
ClutterActor *stage;
ClutterActor *pane;
ClutterActor *button;
if (clutter_init (&argc, &argv) != CLUTTER_INIT_SUCCESS)
{
g_warning ("Unable to initialise Clutter");
return EXIT_FAILURE;
}
mx_style_load_from_file (mx_style_get_default (),
THEMEDIR "/theme.css", NULL);
stage = clutter_stage_get_default ();
pane = mpl_content_pane_new ("Foo");
clutter_actor_set_size (pane, 480, 320);
clutter_container_add_actor (CLUTTER_CONTAINER (stage), pane);
button = mx_button_new_with_label ("Bar");
mpl_content_pane_set_header_actor (MPL_CONTENT_PANE (pane), button);
button = mx_button_new_with_label ("Baz");
clutter_container_add_actor (CLUTTER_CONTAINER (pane), button);
clutter_actor_show_all (stage);
clutter_main ();
return EXIT_SUCCESS;
}
开发者ID:xclaesse,项目名称:dawati-shell,代码行数:35,代码来源:test-content-pane.c
示例10: test_fullscreen_main
G_MODULE_EXPORT int
test_fullscreen_main (int argc, char *argv[])
{
ClutterActor *stage;
clutter_init (&argc, &argv);
stage = clutter_stage_get_default ();
g_signal_connect (stage,
"fullscreen", G_CALLBACK (on_fullscreen),
NULL);
g_signal_connect (stage,
"unfullscreen", G_CALLBACK (on_unfullscreen),
NULL);
clutter_stage_set_fullscreen (CLUTTER_STAGE (stage), TRUE);
clutter_actor_show (stage);
g_debug ("stage size: %.2fx%.2f, mapped: %s",
clutter_actor_get_width (stage),
clutter_actor_get_height (stage),
CLUTTER_ACTOR_IS_MAPPED (stage) ? "true" : "false");
g_timeout_add (1000, toggle_fullscreen, NULL);
clutter_main ();
return EXIT_SUCCESS;
}
开发者ID:Docworld,项目名称:chromiumos,代码行数:29,代码来源:test-fullscreen.c
示例11: tick
static void
tick (ClutterTimeline *timeline,
gint msecs,
gpointer data)
{
Flower **flowers = (Flower**)data;
gint i = 0;
for (i = 0; i < N_FLOWERS; i++)
{
ClutterActor *stage;
flowers[i]->y += flowers[i]->v;
flowers[i]->rot += flowers[i]->rv;
stage = clutter_stage_get_default ();
if (flowers[i]->y > (gint) clutter_actor_get_height (stage))
flowers[i]->y = -clutter_actor_get_height (flowers[i]->ctex);
clutter_actor_set_position (flowers[i]->ctex,
flowers[i]->x, flowers[i]->y);
clutter_actor_set_rotation (flowers[i]->ctex,
CLUTTER_Z_AXIS,
flowers[i]->rot,
clutter_actor_get_width (flowers[i]->ctex)/2,
clutter_actor_get_height (flowers[i]->ctex)/2,
0);
}
}
开发者ID:rib,项目名称:clutter,代码行数:30,代码来源:test-cairo-flowers.c
示例12: test_realized
void
test_realized (TestConformSimpleFixture *fixture,
gconstpointer data)
{
ClutterActor *actor;
ClutterActor *stage;
stage = clutter_stage_get_default ();
actor = clutter_rectangle_new ();
g_assert (!(CLUTTER_ACTOR_IS_REALIZED (actor)));
clutter_actor_hide (actor); /* don't show, so won't map */
clutter_container_add_actor (CLUTTER_CONTAINER (stage),
actor);
clutter_actor_realize (actor);
g_assert (CLUTTER_ACTOR_IS_REALIZED (actor));
g_assert (!(CLUTTER_ACTOR_IS_MAPPED (actor)));
g_assert (!(CLUTTER_ACTOR_IS_VISIBLE (actor)));
clutter_actor_destroy (actor);
}
开发者ID:Docworld,项目名称:chromiumos,代码行数:25,代码来源:test-actor-invariants.c
示例13: lib_object_prepare
/* NOTE: actor is not used with MOD_MODULE
*/
void lib_object_prepare(obj_t *obj, manager_actor_t *actor)
{
ClutterActor *stage;
uint i;
assert( obj != NULL );
/* RENDERING !
*/
stage = clutter_stage_get_default();
obj->group = clutter_group_new();
clutter_container_add_actor(CLUTTER_CONTAINER(stage), obj->group);
/* create box
*/
for ( i = 0; i < obj->beatcount; i++ )
{
obj->beatbox[i] = clutter_round_rectangle_new();
clutter_actor_set_width(obj->beatbox[i], obj->boxsize);
clutter_actor_set_height(obj->beatbox[i], obj->boxsize);
clutter_actor_set_x(obj->beatbox[i], obj->boxdx + (i * (obj->boxsize + obj->boxmx)));
clutter_actor_set_y(obj->beatbox[i], obj->boxdy);
clutter_round_rectangle_set_color(CLUTTER_ROUND_RECTANGLE(obj->beatbox[i]), &obj->beat_background);
clutter_round_rectangle_set_border_color(CLUTTER_ROUND_RECTANGLE(obj->beatbox[i]), &obj->beat_border);
clutter_round_rectangle_set_border_width(CLUTTER_ROUND_RECTANGLE(obj->beatbox[i]), obj->boxborderwidth);
clutter_container_add_actor(CLUTTER_CONTAINER(obj->group), obj->beatbox[i]);
}
na_event_observe(NA_EV_BPM, metronome_bpm, obj);
}
开发者ID:tito,项目名称:noya,代码行数:32,代码来源:mod_metronome.c
示例14: test_offscreen_main
G_MODULE_EXPORT int
test_offscreen_main (int argc, char *argv[])
{
ClutterActor *stage;
gboolean offscreen;
clutter_init (&argc, &argv);
stage = clutter_stage_get_default ();
/* Attempt to set up rendering offscreen */
g_object_set (stage, "offscreen", TRUE, NULL);
/* See if it worked */
g_object_get (stage, "offscreen", &offscreen, NULL);
if (offscreen == FALSE)
printf ("FAIL: Unable to setup offscreen rendering\n.");
else
printf ("SUCCESS: Able to setup offscreen rendering\n.");
clutter_actor_show_all (CLUTTER_ACTOR (stage));
clutter_main();
return 0;
}
开发者ID:JackDanger,项目名称:chromiumos,代码行数:27,代码来源:test-offscreen.c
示例15: show_message
void
show_message (void)
{
ClutterActor *stage, *label;
ClutterColor black = { 0, 0, 0, 255 };
ClutterColor white = { 255, 255, 255, 255 };
clutter_init (NULL, NULL);
stage = clutter_stage_get_default ();
clutter_stage_set_color (CLUTTER_STAGE (stage), &black);
clutter_stage_set_fullscreen (CLUTTER_STAGE (stage), TRUE);
label = clutter_text_new_with_text ("Sans 20",
"Cannot find suitable screen mode\n"
"Media Explorer requires a 720p screen");
clutter_text_set_line_wrap (CLUTTER_TEXT (label), TRUE);
clutter_text_set_color (CLUTTER_TEXT (label), &white);
clutter_container_add_actor (CLUTTER_CONTAINER (stage), label);
/* Put the label in the middle */
clutter_actor_add_constraint
(label, clutter_align_constraint_new (stage, CLUTTER_ALIGN_X_AXIS, 0.5));
clutter_actor_add_constraint
(label, clutter_align_constraint_new (stage, CLUTTER_ALIGN_Y_AXIS, 0.5));
clutter_actor_show (stage);
clutter_main ();
}
开发者ID:Cyrene,项目名称:media-explorer,代码行数:29,代码来源:message.c
示例16: main
int main(int argc, char *argv[])
{
clutter_init(&argc, &argv);
ClutterActor *stage = NULL;
ClutterColor black = { 0x00, 0x00, 0x00, 0xff };
stage = clutter_stage_get_default();
clutter_stage_set_title(CLUTTER_STAGE(stage), "Mx test");
clutter_stage_set_color(CLUTTER_STAGE(stage), &black);
clutter_actor_set_size(stage, WIN_W, WIN_H);
Assistant *assistant = g_new0(Assistant, 1);
assistant->script = require_script(GUI_SCRIPT);
assistant->stage = stage;
ClutterActor *root = CLUTTER_ACTOR(require_object_from_script(assistant->script, "root"));
assistant->slider = CLUTTER_ACTOR(require_object_from_script(assistant->script, "slider"));
assistant->combo_box = CLUTTER_ACTOR(require_object_from_script(assistant->script, "combo_box"));
clutter_container_add_actor(CLUTTER_CONTAINER(stage), root);
// Combo box contents:
MxComboBox *combo_box = MX_COMBO_BOX(assistant->combo_box);
mx_combo_box_append_text(combo_box, "Foo");
mx_combo_box_append_text(combo_box, "Spam");
mx_combo_box_append_text(combo_box, "Lorem ipsum");
mx_combo_box_set_index(combo_box, 0);
// DONE
g_signal_connect(stage, "key-press-event", G_CALLBACK(key_event_cb), assistant);
clutter_script_connect_signals(assistant->script, assistant);
assistant->ready_ = TRUE;
clutter_actor_show(stage);
clutter_main();
return 0;
}
开发者ID:aalex,项目名称:proto-mx,代码行数:34,代码来源:main.cpp
示例17: main
int main(int argc, char *argv[])
{
clutter_init(&argc, &argv);
ClutterActor *stage = NULL;
ClutterColor black = { 0x00, 0x00, 0x00, 0xff };
ClutterColor red = { 0xff, 0x00, 0x00, 0xff };
stage = clutter_stage_get_default();
clutter_stage_set_title(CLUTTER_STAGE(stage), "Key binder proto");
clutter_stage_set_color(CLUTTER_STAGE(stage), &black);
clutter_actor_set_size(stage, WIN_W, WIN_H);
App *self = g_new0(App, 1);
create_stuff();
self->rectangle = clutter_rectangle_new_with_color(&red);
clutter_actor_set_size(self->rectangle, 200, 200);
clutter_container_add_actor(CLUTTER_CONTAINER(stage), self->rectangle);
g_signal_connect(stage, "key-press-event", G_CALLBACK(key_event_cb), self);
clutter_actor_show(stage);
clutter_main();
g_free(self);
return 0;
}
开发者ID:toonloop,项目名称:proto-keybinder,代码行数:27,代码来源:main.cpp
示例18: main
int
main (int argc, char **argv)
{
ClutterActor *stage, *image, *sub_image;
CoglHandle texture, sub_texture;
gfloat image_width, image_height;
/* Initialize Clutter */
if (clutter_init (NULL, NULL) != CLUTTER_INIT_SUCCESS)
return 1;
/* Get the default stage */
stage = clutter_stage_get_default ();
clutter_stage_set_title (CLUTTER_STAGE (stage), "Sub-texture");
/* Create a new ClutterTexture that shows smiley.png */
image = clutter_texture_new_from_file ("smiley.png", NULL);
clutter_actor_get_size (image, &image_width, &image_height);
clutter_actor_set_size (stage,
image_width * 3 / 2 + 30,
image_height + 20);
/* Grab the CoglHandle of the underlying Cogl texture */
texture = clutter_texture_get_cogl_texture (CLUTTER_TEXTURE (image));
/* Create a new Cogl texture from the handle above. That new texture is a
* rectangular region from image, more precisely the north ouest corner
* of the image */
sub_texture = cogl_texture_new_from_sub_texture (texture,
0, 0,
image_width / 2,
image_height / 2);
/* Finally, use the newly created Cogl texture to feed a new ClutterTexture
* and thus create a new actor that displays sub_texture */
sub_image = clutter_texture_new ();
clutter_texture_set_cogl_texture (CLUTTER_TEXTURE (sub_image), sub_texture);
/*
* You could have used the more straightforward g_object_new() function that
* can create an object and set some properties on it at the same time:
* sub_image = g_object_new (CLUTTER_TYPE_TEXTURE,
* "cogl-texture", sub_texture,
* NULL);
*/
/* Put the original image at (10,10) and the new sub image next to it */
clutter_actor_set_position (image, 10, 10);
clutter_actor_set_position (sub_image, 20 + image_width, 10);
/* Add both ClutterTexture to the stage */
clutter_container_add (CLUTTER_CONTAINER (stage), image, sub_image, NULL);
clutter_actor_show_all (stage);
clutter_main ();
return 0;
}
开发者ID:rib,项目名称:clutter,代码行数:59,代码来源:textures-sub-texture.c
示例19: test_fbo_main
G_MODULE_EXPORT int
test_fbo_main (int argc, char *argv[])
{
ClutterColor blue = {0x33, 0x44, 0x55, 0xff};
ClutterActor *fbo;
ClutterActor *onscreen_source;
ClutterActor *stage;
ClutterAnimation *animation;
int x_pos = 200;
int y_pos = 100;
clutter_init (&argc, &argv);
if (clutter_feature_available (CLUTTER_FEATURE_OFFSCREEN) == FALSE)
g_error("This test requires CLUTTER_FEATURE_OFFSCREEN");
stage = clutter_stage_get_default ();
clutter_actor_set_size (stage, STAGE_WIDTH, STAGE_HEIGHT);
clutter_stage_set_color (CLUTTER_STAGE (stage), &blue);
/* Create the first source */
onscreen_source = make_source();
clutter_actor_show_all (onscreen_source);
clutter_group_add (stage, onscreen_source);
y_pos = (STAGE_HEIGHT/2.0) -
(clutter_actor_get_height (onscreen_source)/2.0);
clutter_actor_set_position (onscreen_source, x_pos, y_pos);
x_pos += clutter_actor_get_width (onscreen_source);
animation = clutter_actor_animate (onscreen_source,
CLUTTER_LINEAR,
5000, /* 1 second duration */
"rotation-angle-y", 360.0f,
NULL);
clutter_animation_set_loop (animation, TRUE);
/* Second hand = actor from onscreen_source */
if ((fbo = clutter_texture_new_from_actor (onscreen_source)) == NULL)
g_error("onscreen fbo creation failed");
clutter_actor_set_position (fbo, x_pos, y_pos);
x_pos += clutter_actor_get_width (fbo);
clutter_group_add (stage, fbo);
/* Third hand = actor from Second hand */
if ((fbo = clutter_texture_new_from_actor (fbo)) == NULL)
g_error("fbo from fbo creation failed");
clutter_actor_set_position (fbo, x_pos, y_pos);
x_pos += clutter_actor_get_width (fbo);
clutter_group_add (stage, fbo);
clutter_actor_show_all (stage);
clutter_main ();
return 0;
}
开发者ID:nobled,项目名称:clutter,代码行数:59,代码来源:test-fbo.c
示例20: main
int main(int argc,char *argv[])
{
ClutterColor stage_color = { 0x00, 0x00, 0x00, 0xff };
ClutterColor actor_color = { 0xff,0xff,0xff,0x98};
/** 初始化clutter */
clutter_init(&argc, &argv);
/** 获取默认的场景stage */
ClutterActor *stage = clutter_stage_get_default();
/** 设置场景大小,注意场景也actor的一种,所以可以使用actor的api设置*/
clutter_actor_set_size(stage,400,400);
/** 设置场景背景*/
clutter_stage_set_color(CLUTTER_STAGE(stage), &stage_color);
/** 载入一个图像的actor */
//ClutterActor * image = clutter_texture_new_from_file("demo.png",NULL);
image = clutter_texture_new_from_file("demo.png",NULL);
if(!image){
printf("load image error\n");
exit(-1);
}
/** 设置actor在场景中的位置*/
clutter_actor_set_position(image, 100,100);
/** 缩放图像,这里设置长宽各放大了两倍*/
clutter_actor_set_scale(image,2.0,2.0);
/** 设置图像旋转,以y轴旋转,角度20'c */
clutter_actor_set_rotation(image, CLUTTER_Y_AXIS, 120,0,0,0);
/** 把actor加入场景中*/
clutter_container_add_actor(CLUTTER_CONTAINER(stage),image);
clutter_actor_show(image);
/** 打开actor的事件响应*/
clutter_actor_set_reactive(image,TRUE);
/** 连接actor的某事件*/
g_signal_connect(image, "button-press-event", G_CALLBACK(on_image_button_press),NULL);
/** 加入时间线*/
//ClutterTimeline* timeline = clutter_timeline_new(5000);
timeline = clutter_timeline_new(5000);
g_signal_connect(timeline, "new-frame",G_CALLBACK(on_timeline_new_frame),NULL);
clutter_timeline_set_loop(timeline,TRUE);
//clutter_timeline_start(timeline);
clutter_actor_show(stage);
clutter_main();
g_object_unref(timeline);
printf("\n");
return 0;
}
开发者ID:lerosua,项目名称:gmcore,代码行数:59,代码来源:rotate_demo.c
注:本文中的clutter_stage_get_default函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论