窗口系统(windowing system)的架构思考

通用窗口系统架构与像素处理思考

我想做一个通用窗口系统,窗口、控件等,一切都抽象成树形结构的层叠矩形块,可支持半透明、模糊等混合选项,那么每个窗口是不是需要一块存储区?我之前的代码为了计算模糊,还不止一块,要三块。那么32位色,每像素4字节,不说4k分辨率把,就算1000x1000,每块存储区就得4MB,三块12MB,这还得了?那么像素显然不能缓存了,必须按需取用,暴露一个get_pixel接口,这个接口必须速度快,不能说还需要判断ui_object类型,比如如果是位图,就获得位图指针,再计算坐标得到像素。今天突然想到,预先写好各类get_pixel实现,比如get_bitmap_pixelget_textarea_pixel,、具体类型ui_object创建的时候,其中的函数指针指向具体实现,跟面向对象思想相似,但细节不一样,其实更准确讲是duck typing,因为无需给ui_object分类,函数指针本身就可以区分类型的,不同函数指针执行不同动作,自由搭配,比继承多态灵活多了。

(待续)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值