向Chrome浏览器进军,呵呵,夸张了。
随着对chrome的基础库的熟悉以及平时的维护,总体上来讲view框架以下的部分基本上稳定。目前变动的主要是硬件加速部分,两个分支:direct2d和opengl,还有就是对touch的支持,最近又引入了aura的一套界面,应该是谷歌收买摩托之后的一些计划,但是具体是什么还不清楚。
作为基础库学习的最后一个作业,我想实现一个window平台下的chrome界面,可能不是全部特性,但希望能做到尽量吻合。所有的实现会在三(.3)的时候完成,预计期望带上一个webbrowser能勉强浏览网页。其实在最初抽取这套东西的时候,几乎所有人都期望的是chrome的那个能随意拖拉的tab,这次我也希望能实做一个出来。
本身browser的代码极其大,我也无心恋战,一顿猛砍之后,居然神奇般的能跑起来一个空壳,真的是很欣慰,算是一个中间阶段吧,下面的工作就是整理代码,慢慢恢复一个最小的外壳。目前状况见下图:
之后的下一步打算是弄一套metroui风格的控件,因为chrome的view框架本身对windows控件的封装也不多,实现也不多,但是引擎确实极好,正好适合这一目的。可能会封装出接口api甚至是集成脚本引擎,因为这些上层的东西对于大多数人来讲是喜欢的,他们懒得知道那么多细节,当然可能限制就会多一些。
======================================================================================
继续:
前进一步:
第一个Tab:
开始支持拖动
开始支持拖拽TAB分离
当前release的exe大小为1.98M,静态链接crt,不包含资源dll