在尝试将 Qt5 移植到 N900 时,我遇到了与 QtQuick2/OpenGL 相关的错误。为了调查这一点,我想现在,会发生什么
Text { text:"Hello!" }
直到它在屏幕上可见,换句话说,我想解释一下中间最重要的函数调用(你可以跳过一些字体细节、rtl 相关的东西或类似的东西)。它应该是这样的:
QQuickText::setText(QString("Hello!"))
//calls:
QQuickTextPrivate::updateLayout();
//provokes a call to:
QQuickText::updatePaintNode()
//calls:
QQuickTextNode::addTextLayout()
//calls:
SelectionEngine::addGlyphsForRanges()
...
//what happens to the scenegraph
...
//calls:
glBindTexture()
glDrawElements()
...swapBuffers()