作为跨平台文本编辑器Sublime Text 2的粉丝,我一直在研究它是如何开发的。开发人员已经注意到,它对于Linux的一些GTK具有99%的C++,并且使用他称之为“Sublime GUI”的自定义UI工具包。这是来自dev的报价C++自定义UI ToolKit - 跨平台抽象层的选项
Sublime Text 2本身使用自定义UI工具包。有很多应用程序在这里可能没有意义,但对于Sublime Text来说这并不是一个不合理的选择,在那里我总是知道很多UI控件将不得不自定义,无论该工具包是什么(例如,文本控件和选项卡控件)。 UI工具箱位于跨平台抽象层之上,它更多地是平台功能的联合而非最低公分母。
我的问题是,什么是一个跨平台的抽象层的一些选项?我认为这比GTK,QT和SDL要低。我试图弄清楚如何创建一个跨平台的自定义UI工具包,并且只需编写一次代码。
我很欣赏UI工具包的好处,但如果我想让自己的手变得肮脏,并且在Windows,Linux,Mac上支持我的应用程序,我不确定从哪里开始。
基于我所看到的,它可能使用GDI和XLib。使用类似Fraps的东西,如果正在使用gpu,您会看到调试信息,但不存在调试信息。所以我相信它正在做软件渲染。还运行gDEbugger,有0个OpenGL调用。虽然我只在Windows上进行测试,但是可能在其他平台上使用OpenGL,尽管我怀疑它。 – leetNightshade