Posted on 2009-07-10 16:44
djx_zh 閱讀(871)
評論(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