轻量级界面库_PaintUI_0

PaintUI是一款专注于性能、美观及可扩展性的界面库,采用GDI+绘图,牺牲部分功能以确保运行时效率。设计过程中充分考虑了美工需求的灵活性,实现了界面的快速响应与高质量渲染。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       这是一个简单的界面库设计,简单到舍弃了大部分的功能。但我仍然很臭美的认为它所做出的界面不次任何界面库------实际上它就是我写公司的游戏平台时设计的,也因为如此,不便公开代码,这里只说说设计思路吧。

      设计这个界面库的首要宗旨是性能,其次是美观和可扩展性最后简单,很多东西都在这四者之间做了妥协。

  简单:

1. PaintUI没有考虑Box-Model,因为它并不是作为一个完善的界面库而存在的,它只是工程中一个小小的包。(后来别人问起时,我居然说自己不知道Box-Model,现在想想,我发现自己太邪恶了~)

2.PaintUI并没有使用消息驱动等先进的方式,它只是简单的依赖了多态、继承、和一些模板。这样做带来的问题地球人都知道的,不过我敢保证至少在运行时,你根本看不出来~

3.PaintUI使用的是GDI+,在这里我没有留下任何可扩展的接口。也许你觉得应该使用DirectX或者至少使用GDI。额~ 要简单嘛~就这样吧。

4.PaintUI不可以移植,你看一下上一条就应该明白了~

5.使用PaintUI的人必须要了解它的结构和机制,所以要求后来维护程序的人至少要把源码读一下。反正也不多,读吧~

 

性能:

1.我能保证,当那个漂亮的界面的大小和内部控件布局发生翻天覆地的变化时,你不会感到有任何不协调的事发生。

2.绘制速度也是相当的快的,当你设置”拖动时显示窗口内容”选项后,使用另一个对话框在界面上快速移动,不会留下任何难看的痕迹。

3.至于内存的使用,我留了极大的可扩展性。不过如果你的皮肤完全使各种图片的话不要奢望内存的使用可以忽略不计。

 

美观和可扩展性:

在写PaintUI的过程中,我一直都在警惕美工组提出的各种稀奇古怪的要求。所以造成的结果是,当使用PaintUI扩展界面时,必须要了解PaintUI的实现。不过带来的好处是,只要你想得到的,PaintUI就能做到~

转载于:https://www.cnblogs.com/liuyuxi/archive/2010/12/23/1914370.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值