使用Moblin进行应用程序开发——Clutter之Event[转]
上次的Demo太简单了,仅仅在窗口中铺了一堆图片,用户只能看,却不能动。这次我们要给之前的Demo增加一个功能:支持鼠标拖动。
这次我们会接触到clutter的事件机制。Actor可以接受输入的事件,比如键盘按键、鼠标移动等事件,并且可以通过回调函数对事件进行处理。由于这一套机制是通过glib的signal来实现的,因此熟悉glib和gtk编程的用户对此肯定是相当的熟悉。但是与gtk相比,clutter还是有一点不太相同的地方,就是除了Stage之外,所有的Actor默认不接受事件。如果需要让某个Actor接受事件,程序员需要通过clutter_actor_set_reactive()函数手动的将Actor设为reactive,也就是说能够接受事件。我猜想这样的设计是为了减少事件处理时寻找事件源所花费的时间。
下图是从clutter参考手册中截下来的,每一个有“?”标记的地方用户都可以插入有关的事件处理的代码。
http://software.intel.com/zh-cn/blogs/2009/04/20/moblinclutterevent/?cid=sw:prccsdn652

0 条评论:
发表评论
<< 主页