直接在代码库上开发
推荐路径想给 LibreOffice 加一个普遍有用的功能,最佳方式还是在代码库上工作。这样更容易编译与构建自己的代码,避开了脚本 API 中种种任意的限制,对一名还算胜任的 C++ 程序员来说也简单直观得多。
开发者指南
写扩展,或者直接改代码库。下面是两条路径的差别、最值得先读的模块,以及提交改动时会用到的约定。
仓库里有两百个模块,很多只对特定领域的专家才有意义。下面这些是最值得先读的几个。
想改渲染效果,从这几个目录下手。
画布中图形的基础算法与数据类型。
全新的 UNO 画布渲染模型,带多种后端。
使用 UNO 画布的 C++ 辅助类。
把可绘制对象拆成更容易渲染的基本图元。
这一条规则看似琐碎,但它统一了整个仓库的风格,编译期就会检查。
仅当被包含文件与包含它的文件相邻时,才使用 "..." 形式。否则,使用 <...> 形式。
UNO API 的包含文件应当一致地使用双引号,以惠及该 API 的外部使用者。
#include "myhelper.hxx" // 与当前文件相邻,用双引号
#include <sal/macros.h> // 其他位置,用尖括号
#include <vcl/inc/vcl.h>
#include "com/sun/star/uno/XComponent.hxx" // UNO API 统一用双引号邮件列表无需订阅即可提问,IRC 频道里也总有乐于帮忙的人。代码刚开始看时没有任何愚蠢的问题。