1
akfish 2014-10-27 04:23:09 +08:00
正经的做法是所有可渲染的对象(如Text,Image,Row)继承自同一父类(如RenderObject),各自实现layout方法,计算自己的boundbox,实现重绘等。一篇混排文档的数据表示就是RenderObject的树结构,一次渲染就是从根节点开始撸一遍渲染树。
《设计模式》一书里有详细的说明。 几乎所有的GUI框架、WYSIWYG编辑器、浏览器内核都是这样实现的,如webkit: https://www.webkit.org/blog/114/webcore-rendering-i-the-basics/ |
2
blank_dlh 2014-10-27 07:28:12 +08:00 via iPhone
Google Core Text
|
3
jox OP |