Cikada 0.0.2 发布

距 2011 年 9 月 26 日发布 0.0.1 版恰好一个月。现在将 Cikada 的小版本号发布周期定为 1 个月。

Cikada 0.0.2 增加的新功能:

  • 时钟模式的概览视图,用于显示演示进度以及页面跳转;
  • 增强了快捷键设置:将 F11 键设定为全屏模式开关键(全屏模式不再使用 Esc 键退出),并将 Left 与 Right 键也作为页面切换键;
  • 大量的代码重构,将各个模块均已 GObject 化;
  • 增加了 PDF 格式的中文使用手册。

下载地址:https://github.com/liyanrui/cikada/zipball/v0.0.2-r1

PDF 演示工具 Cikada 0.0.1 发布

Cikada 是一款 PDF 演示工具,基于 clutter 与 poppler 实现,详见 https://github.com/liyanrui/cikada/tree/v0.0.1

现在发布 0.0.1 版,具有以下功能:

  • 窗口显示与全屏显示
  • 可设置 PDF 页面缓冲数量
  • 淡入淡出的页面切换效果

视频演示地址:

http://cikada.diandian.com/post/d07a7cc0-d0d3-11e0-87f1-782bcb383994

截图:

DIY 一个用于显示 PDF 页面的 Clutter Actor

最近打算基于 Clutter 做一个 PDF 文档的演示工具,首先要解决在 Clutter 场景中渲染 PDF 页面的问题。可以通过 Poppler 库将 PDF 页面转换为 Cairo 图形,进而利用 Clutter 的 CairoTexture Actor 进行 Cairo 图形渲染解决这一问题 [1]。本文将上述过程中的一些细节(例如尺寸与位置的控制)封装为一个便于使用的 Clutter Actor。

继续阅读

Clutter 布局管理

[1] 中的各个 Actor 在 Stage 中的定位都是硬编码的方式实现的,当 Stage 的尺寸发生变化时,这些 Actor 的位置通常难以进行适应调整。Clutter 提供了布局管理机制,用来实现 Actor 的尺寸与位置控制。

Clutter (1.7.4)提供了五种布局方式:

  1. 固定布局(ClutterFixedLayout):跟 Actor 硬编码定位没有太多区别,通常不使用它;
  2. 单一布局(ClutterBinLayout):将 Actor 叠放成一摞,通常可用于将多个 Actor 复合在一起;
  3. 流布局(ClutterFlowLayout):当你不知道有多少个 Actor 的时候,并且又想让它们按照水平方向或竖直方向均匀排列,那么就可以使用流布局;
  4. 盒子布局(ClutterBoxLayout):将 Actor 单行水平或竖直均匀排列;
  5. 表格布局(ClutterTableLayout):将 Actor 按表格的方式均匀排列。

本文只介绍单一布局与流布局,其他布局方式与这两种布局大同小异。

继续阅读

在 Clutter 场景中显示 PDF 页面

之所以开始学习 Clutter 主要是因为 Pinpoint [1] 引起了一些兴趣,用 Clutter 来制作 PDF 文档的演示工具,效果应该会很好。对 Clutter 的一些基本的 Actor 有所了解之后,发现要实现这个 PDF 演示工具不是很困难。按照 Clutter cookbook [2] 的提示,可以利用 Poppler 库轻易的载入 PDF 页面并将其渲染到 Cairo 环境中,继而使用 ClutterCairoTexture 将 PDF 页面显示在 Stage 中。

继续阅读