最近想用一下Nuklear这个轻便的IMGUI库,顺便把官方文档翻译了。
如果有翻译错误请评论告诉我。如要转载,请署名。
谢谢!
译者:ktxiaok
好了下面是正式内容
Nuklear
内容
关于
这是一套用 ANSI C 编写的最小化的立即模式(immediate mode)图形用户接口工具库, 在公共领域许可。它被设计为一个简单的可嵌入的应用程序用户界面,没有任何依赖,默认的渲染后端或者操作系统窗口和输入处理,而是提供了一个非常模块化的库方法,使用简单的输入状态作为输入和描述原始图形的渲染命令作为输出。所以,它不是一个层次化的试图在许多平台和渲染后端上抽象的库,它只关注实际的UI。
重点
- 图形化的用户接口工具包
- 单头文件库
- 用 C89 (a.k.a. ANSI C or ISO C90) 编写
- 很小型的代码库(大约一万八千行)
- 以可移植性、效率性、简单性为重
- 没有任何依赖(如果不想的话甚至可以不用标准库)
- 完全可更换外观的和可定制的
- 如果需要的话可以在总内存控制中达到低内存占用
- 支持UTF-8
- 没有全局的或隐藏的状态
- 可定制化的库模块(你可以选择你只需要的进行编译)
特性
- 绝对没有任何平台依赖代码
- 内存管理控制包括从/到
- 轻松使用从标准库分配的任何东西
- 控制库内的内存的每一个字节
- 字体处理控制包括从/到
- 使用你自己的对字体的任何实现
- 使用库内的内置的字体烘焙和控制API
- 绘画输出控制包括从/到
- 用拥有绘画功能的更高层的API创造的简单图形
- 硬件可访问的反锯齿顶点缓冲输出
- 可定制的颜色和配置包括从/到
- 通过填充一个简单颜色表来更改颜色
- 对选择皮肤来装饰部件的完全控制能力
- 可弯曲的带有部件的UI库包括从/到
- 基本部件例如按钮、复选框、滑块等等
- 高级部件例如抽象组合框、上下文菜单等
- 编译时配置,只编译你需要的子集,如果您不想链接或使用标准库,可以使用这些子集
- 可以简单地修改为只更新用户输入而不是帧更新