Extending librsvg vapi


可用于

librsvg-2.0 的 vapi 文件包含的内容比实际库包含的要少得多

瓦皮: http://valadoc.org/#!wiki=librsvg-2.0/index

图书馆: https://git.gnome.org/browse/librsvg/tree/

我本来希望能够访问像 RsvgNode 这样的组件,以便能够直接访问和更改 SVG 内容,但与 devel 包一起安装的 vapi 和头文件都不包含库头中的很多内容。我认为这与使库 GObject 友好有关,但我感兴趣的不仅仅是那里的内容。

有没有办法添加标头、扩展 vapi 并使用我需要的结构和函数?

这可能甚至不是我应该做的,库的内容非常自由地使用 G_GNUC_HIDDEN 宏,这表明他们不想让您访问。但是,我想知道如何在开罗上下文中显示SVG文档/元素的同时实时编辑SVG文档/元素?我确定我可以使用 libxml 编辑它,但我不知道如何在不重新加载 SVG 数据并重新创建表面的情况下刷新上下文。

谢谢。

刚刚在IRC上问过Christian Persch。 他的回答是:

没错,所有这些东西都不会导出,也不会处于任何导出状态。 librsvg 无法在不创建新上下文并将新的 SVG XML 加载到其中的情况下更改 SVG

如果库没有导出 C 级别的内容,那么在 Vala 级别你可以做的并不多。 创建绑定不会很困难,但它绑定的 API 确实需要是公开的。

根据您的用例,也许您使用 Clutter 会更快乐?

最新更新