FOX是一个基于C++的、能简单而高效地开发图形用户界面的工具包。它提供了一个广泛的而且仍在不断增长的控件集合,为拖、拽、选择、3D图形的OpenGL widget等操作提供了极大的便利。FOX还实现了图标、图像、状态栏帮助、工具提示组件(tooltip,它也可用于3D对象)等方便用户的特性。<o:p></o:p>
由于有很多值得考虑的重要特性都引入了FOX,从而使得它成为开发速度最快的工具包之一。为了减少对内存的消耗,FOX使用了一系列技术来加速GUI的拖拽和空间布局等操作。开发者可以在FOX不运行的情况下创建和销毁GUI元素,从而节省内存。<o:p></o:p>
即使FOX已经提供了一个包含大量控件的控件集合,但是FOX仍然支持开发者通过C++简单地创建额外的控件和GUI元素,只需要使用现有的控件,然后创建一个添加或定义了想要的行为的继承类即可。<o:p></o:p>
FOX的主要设计目的之一是简化程序开发,然后,大部分控件仅仅利用一行简单的C++代码即可创建,大部分参数都有智能的默认值,以至于它们有时候可以被忽略。布局管理器确保GUI的设计者不需要为准确的排列对齐而担心。<o:p></o:p>
FOX的另外一个重要特性是它能让各个widget之间互相连接,而且在它们之间传递相关的命令,例如Hide Toolbar菜单能直接与Toolbar连接,而且能能使它隐藏起来。该特性大大减少了需要编写的代码行数量。<o:p></o:p>
FOX通过GUI元素的自动更新(通过访问应用程序的状态实现)使得应用程序中的GUI状态的维护变得简单。该特性大大减少了对依赖于应用程序的sensitizing、graying out 、checking/unchecking的处理。<o:p></o:p>
FOX更新较快,2008.01.2发布了1.7.14版,2008.01.11发布了1.7.15版,而且每一个版本都有比较大的改进。1.7.15版中的主要改进如下:<o:p></o:p>
1.更新了Windows操作系统中的OpenGL实现。在这个版本中,可以在ICD驱动器中使用wglGetPixelFormatAttribivARB()来决定被扩展的PIXELFORMAT的特性。其中特别有趣的是其匹配支持硬件反混淆算法(anti-aliasing)的多样本(multi-sampling)PIXELFORMAT的能力。<o:p></o:p>
2.在Windows操作系统中,FXSetting中的Fixed bug还没有借助CRLF得到很好的处理。在ASCII模式下,regular模式使用注册表而且工作得很好。<o:p></o:p>
3. X11中实现的PropertyNotify消息阻止了_NET_WM_STATE的改变。当用户操作一个应用程序的top-level窗口时,允许我们发送SEL_RESTORE, SEL_MAXIMIZE和SEL_MINIMIZE等。<o:p></o:p>
目前FOX提供了可用于Linux、Unix和Windows XP以及其之前各版本的安装包,下载路径:http://www.fox-toolkit.com/download.html
<o:p></o:p>