可用的vapi文件包含的比实际库包含的要少得多。
vapi:http://valadoc.org/#!wiki=librsvg-2.0/index
图书馆:https://git.gnome.org/browse/librsvg/tree/
我本来希望能够访问像RsvgNode这样的组件,从而能够直接访问和更改SVG内容,但是无论是vapi还是与devel包一起安装的头文件都不包含库头中的很多内容。我认为这与使库GObject友好有关,但我感兴趣的不仅仅是其中的内容。
是否有一种方法来添加标题,扩展vapi,并使用我需要的结构和函数?
这可能不是我应该做的,库的内容使用了G_GNUC_HIDDEN宏,这表明它们不想给您访问权限。但是,我想知道如何编辑SVG文档/元素,同时在开罗上下文中显示它呢?我确信我可以使用libxml编辑它,但我不知道如何在不重新加载SVG数据和重新创建表面的情况下刷新上下文。
谢谢。
发布于 2013-10-03 21:35:37
刚在IRC上问了克里斯蒂安·佩奇这个问题。他的答复是:
没错,所有的东西都不是出口的,也不是出口的状态。如果不创建新的上下文并将新的svg xml加载到其中,就无法使用librsvg更改svg。
如果库没有在C级别导出这些内容,那么在Vala级别上就没有什么可以做的了。创建绑定并不困难,但是它绑定的API确实需要公开。
取决于您的用例,也许您会更高兴使用克拉特?
https://stackoverflow.com/questions/19165900
复制相似问题