每个控件都有一个皮肤,但是这些皮肤是如何在舞台上呈现的呢?是的,主要的CSS文件,场景图和棱镜渲染线程在那里,但我想知道哪些类在渲染方面做什么。谢谢!
发布于 2014-07-15 01:15:20
还有更多,但Node、场景、CssStyleHelper、工具包接口(QuantumToolkit)、QuantumRenderer、玻璃场景(ViewScene)、ViewPainter、PaintCollector、PaintRenderJob、PGNode、Graphics、BaseContext和VertexBuffer都在渲染控件中发挥了作用。
我只是想分享一下,以防别人需要,或者我需要纠正。
它从QuantumToolkit上的脉冲()开始,该脉冲调用PaintCollector的renderAll(),然后调用ViewScene上的repaint()。ViewScene向QuantumToolkit添加一个PaintRenderJob,后者通过QuantumRenderer将作业提交给ExecutorService。
PaintRenderJob有它的ViewPainter,这是一个具有PGNode的可运行的。在ViewPainter的一个实现上,ViewPainter中包含的PGNode是通过让PGNode调用它的图形对象来绘制的。
该图形确定绘图方式,然后通过VertexBuffer刷新到BaseContext。对VertexBuffer的刷新涉及一个名为drawQuads(int)的本地方法。
对于节点、场景和CssStyleHelper部分,它们都是用来判断哪些需要重新绘制的。讲述是通过听众来完成的。
在FX2中,有一个开始和结束绘图会话的PrismPen。
https://stackoverflow.com/questions/21695215
复制相似问题