Chromium UI框架view

如果把widget当作画板,那么view就相当于铺在画板上的画纸。widget上面不会画什么东西,我们的界面元素都是画在view上,然后view又盖在widget上面。 在non_client_view.h的注视里面可以看到以下的内容: 可以看到最底层是Widget,然后RootView盖在Widget上面。RootView包含了NonClientView,而NonClientView又包含NonClientFrameView和ClientView。View不仅可以显示元素,而且可以当作容器包含其他的View。所有的View形成了一个树状的层次结构,低底层的根是RootView。 RootView附着在一个Widget上面,Widget从操作系统里面接受事件,转换成与View兼容的事件,然后再传递给RootView。RootView则按照树状层次结构一层层的传递事件。 听起来还是很抽象,我们可以实际动手试一试,我们利用views::PrintViewHierarchy(this)打印出RootView的View... Read More | Share it now!

Chromium UI框架widget

很早之前就想把Chromium的UI框架总结一遍。知道一个事物并向别人描述清楚并非是一件容易的事情,而且它又是如此的复杂,我没有把握把Chromium的UI框架给别人讲清楚,只有尽力而为。 我准备分三部分来讲Chromium的UI框架。首先是Widget,它是View的宿主,也是连接操作系统原生的UI系统的枢纽,同时还与CC(Chrome... Read More | Share it now!