Posted on 2009-07-10 16:44
djx_zh 阅读(859)
评论(0) 编辑 收藏 引用
1. WebFrame::spoolPages(...) =C> 调用Frame paint函数
2. coreFramepaint(&spoolCtx, pageRect);{void Frame::paint(GraphicsContext* p, const IntRect& rect)} =C> 调用根(document) 的layer 的paint函数
3. contentRenderer()->layer()->paint(p, rect, d->m_paintRestriction, eltRenderer); RenderLayer::paint(GraphicsContext* p, const IntRect& damageRect, PaintRestriction paintRestriction, RenderObject *paintingRoot) =C> 调paintLayer
4. paintLayer(this, p, damageRect, false, paintRestriction, paintingRoot); =C> 调 rearrange..., RenderObject::paint
5. void RenderObject::paint(PaintInfo& /*paintInfo*/, int /*tx*/, int /*ty*/) ; // this is virtual function
WebFrame ===> Frame::paint =...> RenderLayer::paint ===> RenderLayer::paintLayer ===> RenderObject::paint