![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Qt
MyMichael
Michael
展开
-
QtWebkit里RenderLayer树的绘制详细流程分析
QtWebKit从绘制事件(Qt的paint)发出,到WebCore的RenderLayer数的绘制详细流程分析如下。 首先是QWidget收到paintEvent,发送给Qt的QWebView,在QWebView里,创建Qt的画笔QPainter,然后使用此画笔再调用Qt的QWebFrame的渲染函数render把这个QWebFrame绘制到裁剪区里。在QWebFrame的ren原创 2015-03-19 00:04:48 · 1792 阅读 · 0 评论 -
Tiled Backing Store(四)
3.3 分片底衬仓库(TiledBackingStore)的可见区域矩形 如下图所示,WebCore::Frame::tiledBackingStoreVisibleRect最终请求QGraphicsWebView给出可见区域:3.4 使分片底衬仓库无效 如果frame内容所在的矩形变脏了,WebCore::Frame会使这个矩形变成无效区域,同时告诉分片翻译 2015-03-03 12:56:09 · 1278 阅读 · 0 评论 -
Tiled Backing Store(三)
3.Qt WebKit之QGraphicsWebView 本节叙述如何通过Qt的QGraphicsWebView实现分片底衬仓库(tiled backing store)。如上静态类图所示,只有实现了分片底衬仓库客户端(TiledBackingStoreClient)的接口的WebCore::Frame才拥有分片底衬仓库实例。其他类只能通过WebCore::Fra翻译 2015-03-03 11:31:49 · 1250 阅读 · 0 评论 -
Tiled Backing Store(一)
1. 概述下列图片从层次的角度解释了什么是Tiled Backing Store:viewport 视图端口:代表用来显示网页内容的区域。Qt里,实际上就是QWidget。Tiled backing store: 可以看作是off-screen的pixmap的缓冲区。为了滚动、缩放操作的平滑,它覆盖的区域总是比viewport要大。 Co翻译 2015-03-03 00:23:21 · 1936 阅读 · 0 评论 -
Tiled Backing Store (二)
2.2 前缓冲区(Front buffer) 通过QPinter来绘制tile实际上就是要绘制存储在前缓冲区里的pixmap。没有前缓冲区的tile意味着它不需要绘制。2.3 后缓冲区(Backend Buffer) 后缓冲区充当tile内容的屏下(off-screen)后缓冲区并且可以采用Qt的画笔绘制到Qt widget上。在更新后缓冲区的过翻译 2015-03-03 00:56:27 · 1655 阅读 · 0 评论