Clutter学习(七):容器
来源:互联网 发布:旅行社办公软件 编辑:程序博客网 时间:2024/05/01 22:07
学习资料来源:http://www.openismus.com/documents/clutter_tutorial/0.9/docs/tutorial/html/sec-containers.html
在一个容器内,我们可以放入新的actor(clutter_container_add函数),他的位置是根据所在容器的相对位置中确定。因此如果我们的项目涉 及的内容很多,仅用stage作为一个container是不足够的,我们需要更多的容器来组织。ClutterStage是一个container,也是clutter或者clutter widget的主容器。另一个容器是ClutterGroup,我们这里学习ClutterGroup的用法。
#include <stdlib.h>
#include <clutter/clutter.h>ClutterActor * rect, * label;
static gboolean on_stage_button_press(ClutterStage *stage, ClutterEvent *event, gpointer data){
//… … 一些触发处理
return TRUE;
}
int main(int argc , char * argv[]){
ClutterColor stage_color ={0x00,0x00,0x00,0xff};
ClutterColor actor_color ={0xff,0xff,0xff,0xB0};clutter_init(&argc, & argv);
ClutterActor *stage = clutter_stage_get_default();
clutter_actor_set_size(stage,350,350);
clutter_stage_set_color(CLUTTER_STAGE(stage),&stage_color);/* Add one group in a stage */
ClutterActor * group = clutter_group_new();
clutter_actor_set_position(group,40,40);
//clutter_actor_set_size(group,200,200); /* 用于试验*/
clutter_container_add_actor(CLUTTER_CONTAINER(stage),group);/*Using texture instead of rect, lable will display correctly with ati display driver and clutter 1.0 */
texture = clutter_texture_new_from_file("1_flowingflying.jpg",NULL);
clutter_container_add_actor(CLUTTER_CONTAINER(group),texture);
clutter_actor_set_position(texture,150,100);/*Insert a label */
label = clutter_text_new_full ("微软雅黑 14", "您好!", &actor_color);
clutter_actor_set_position(label,150,240);
clutter_container_add_actor(CLUTTER_CONTAINER(group),label);g_signal_connect(stage,"button-press-event",G_CALLBACK(on_stage_button_press),NULL);
clutter_actor_show_all(stage);
clutter_main();
return EXIT_SUCCESS;
}
将ClutterGroup作为container是很简单的。
试验:将group的容器限制大小,看看里面部件的动态效果能否操作容器大小的限制。只要在stage的可显示范围内,即使我们限制container的大小,在使用move,rotation,scaling,clip的时候,不受group大小的限制,因此我们也可以认为对于group而且没有size的限制。
相关链接:
我的Clutter相关博客
- Clutter学习(七):容器
- Clutter学习(三):在GTK容器中加入Clutter容器——Stage Widget小例子
- Clutter学习(十二):Clutter的动态效果ClutterAnimation
- Clutter学习(五):Clutter的兼容性问题——clutter actor的学习
- Clutter学习(八):Actor的事件
- Qt学习笔记(七)容器类
- Clutter讨论(二):Clutter和GTK+
- Clutter学习(一):终于有正式版本
- Clutter学习(二):一个Stage小程序
- Clutter学习(四):带有滚动条的Stage Widget
- Clutter学习(六):actor的一些动态效果
- Clutter学习(九):Timeline的时间和帧触发
- Clutter学习(十):多个timeline——ClutterScore
- Clutter学习(十一):动态效果设置ClutterBehaviour
- Clutter学习(十三):可多行可编辑的ClutterText
- MX学习(一):Clutter Button的使用
- Clutter
- clutter-1.0 动画效果学习
- java卡开发环境的配置
- ORACLE常用命令
- 01.EntityBase
- SQL事件名行变成列,次数列变行
- 区域性电子商务的星星之火何时燎原?
- Clutter学习(七):容器
- 《Linux程序设计》学习笔记01——入门
- iframe嵌套网页的指定部分 div+iframe
- 热烈欢迎燕姿天后归来
- 用nohup命令让Linux下程序永远在后台执行
- Flex 编程规范
- mysql导入导出
- Abstract Factory
- 与其他形形式式的商机相比,NGN最大的优势在哪里?