Webkit 3

1. Skia developed for Android:
* Windows : Skia + "Chromium Win"
* Linux : Skia + "Chromium Linux"
* Mac : mostly matches Safari,doesn't use Skia

2. GraphicsContext represents a generic drawing surface.
Implementation split into two parts:
* GraphicsContext.cpp : Cross-platform code
* GraphicsContext[Skia|Mac].cpp : Platform-specific
Shared header with #ifdefs,only one object

3. Fonts
* Font.cpp
* FontChromiumWin.cpp
* FontLinux.cpp
* FontMac.mm
Fast path for simple text
* GlyphPageTreeNode : Font,Character -> Font,Glyph
* GlyphWidthMap : Glyph -> Width
Complex path (Arabic,Indic)
* Uniscribe,ATSUI,Harfbuzz

4. Images
* Image.cpp
* ImageSkia.cpp
* ImageMac.cpp
Hooks in all image decoders
2 level memory cache
* Decoded (uncompressed) data
* Encoded (compressed) data

5. Painting in Test Shell(Win/Linux)
* Get an "invalid rect" from the OS
* Make a skia::PlatformCanvas,setup transform
(wraps a SkCanvas to integrate with the OS)
* Create a GraphicsContextSkia with the bitmap
* WebKit paints into the canvas
* Copy canvas to invalid area on screen

6. Painting in Chrome
Browser and renderer must run asynchronously
* Browser maintains a "backing store" of the tab
* renderer paints get copied into this backing store
RenderWidget,RenderWindgetHost handle paint & input
RenderView inherits from RenderWidget to represent a "web page"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值