chromium UI库简介

本文主要介绍了Chromium的UI框架,包括Widget、View系统、窗口创建过程和布局管理。Widget管理窗口并处理事件,RootView负责消息传递。View是自定义的UI系统,分为NonClientView、NonClientFrameView和ClientView。WidgetDelegate提供窗口信息和事件回调。窗口创建通过CreateWindowWithParentAndBounds函数完成,布局管理使用LayoutManager,如FillLayout、GridLayout和BoxLayout。所有View在窗口关闭时自动释放。
摘要由CSDN通过智能技术生成
概述
     之前研究了一段时间chromium源码,根据自己的兴趣了解了一下其中部分功能的实现。通过在在网上查看博文、chromium官方文档以及加上自己的一些理解,整理出了一点资料。本文中主要是介绍chromium UI中的一些内容。接下来我会一一介绍 chromium 中窗口的创建过程、布局方式。

基础铺垫
     1、Widget
     Widget 中管理着一个真窗口,用于接收事件消息,以及管理整个 UI 界面,在windows 下就是管理一个 HWND ,它通过NativeWidgetWin 中的 HWNDMessageHandler来实现。 Widget中包含一个 RootView ,因此也可以算是整个view系统中的一层,同时,它也可以包含其他的WidgetsWidget中如果涉及到跟平台相关的处理,它会把他们隐藏起来实现,通过一个指定的NativeWidget去实现,具体实现如下:
 
     widget中同样使用了delegate,在NativeWidgetPrivate中会实现具体的跟窗口自己相关的操作,而当涉及到具体的业务逻辑相关的操作时则会调用到 NativeWidgetDelegate中去做具体的处理。而要如何创建一个窗口的实现也会通过 NativeWidgetDelegate 回调到NativeWidgetPrivate 中在去进行进一步的处理。 Chromium 中多出都使用了 delegate这种模式。用来实现 MVC 模式的处理。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值