什么是nux?它的作用是什么?


Answers:


69

Nux是用于创建用户界面的基于OpenGL的窗口小部件工具箱和画布,类似于GTK +。在较高级别上,nux分为3个库。

  • NuxCore
  • NuxGraphics
  • 纽克斯

NuxCore负责基本的事情,例如类型系统,数学函数,颜色定义等。它基本上提供了小部件系统的所有基本类型(颜色,矩形,点)。这里几乎没有逻辑,这是一个基础库。

NuxGraphics是一个薄的OpenGL抽象层。它提供了常见OpenGL模式的简化(推和弹出剪贴矩形,更改渲染目标,状态设置等),但是它并没有直接禁止用户自己进行原始OpenGL调用。NuxGraphics提供纹理和加载/卸载数据的抽象。

Nux是在NuxCore和NuxGraphics之上实现的小部件库。Nux包含GTK堆栈中几乎每个主要小部件的副本以及几个合成小部件(颜色选择器,图形,3d视图)。Nux小部件尚未达到与GTK小部件相同的复杂度,缺少高级文本呈现(已修复)并且没有明确的主题支持。

nux内部的渲染可以描述为“画布样式”。Nux提供了一个画家来执行基本的绘制图元,除了嵌入其他小部件外,还可以使用它们。因此,与嵌入hbar来创建水平线不同,widget作者可以选择使用绘画程序直接绘制该条。图像也可以以此方式呈现,而不是嵌入其他窗口小部件以仅呈现静态非反应性图像。但是,这并不排除简单地嵌入窗口小部件。

在Unity中,nux用于所谓的“嵌入式模式”。本质上,nux提供了在外部开放gl上下文中绘画自身的功能。我们调用paint函数,然后将其自身推入到后缓冲中。如果需要,我们可以继续在其上绘画(有时我们允许compiz这样做)。提供了在嵌入式模式下执行opengl状态管理的功能。


1
杰森,内容非常丰富 谢谢。是否有指向可以找到更多信息的链接?
SB

是否有可能以GTK +当前为“主要”工具包的方式将Nux扩展为Ubuntu的主要工具包?
ShroudedCloud
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.