码迷,mamicode.com
首页 > 其他好文 > 详细

Duilib源码分析(四)绘制管理器—CPaintManagerUI—(前期准备三)

时间:2015-11-07 13:29:42      阅读:913      评论:0      收藏:0      [点我收藏+]

标签:

  接下来,我们将继续分析UIlib.h文件中其他的文件, UIContainer.h, UIRender.h, WinImplBase.h, UIManager.h,以及其他布局、控件等;

  1. UIRender.h:UI渲染器,其中cpp文件中,定义的ZIP压缩相关的数据结构,以及宏操作,与XUnzip.cpp中一样的(个人认为可以提取出来作为共用的一部分),此外还有stbi_load_from_memory、

  stbi_image_free,涉及到图片加载操作,具体详细细节可参考stb_image.c中开源库JPEG/PNG图片加载器stbi_image(支持的格式也比较多的)。

    CRenderClip:渲染剪切区域类,数据成员:rcItem:渲染剪切区域大小,hDC:设备环境句柄 ,hRgn:标识被剪切的区域句柄,hOldRgn:保存早前剪切区域的句柄,静态成员函数:GenerateClip:

    生成剪切区域,参数rc:新的剪切区域大小,内部调用GetClipBox获取到环境句柄的剪切区域大小,并调用CreateRectRgnIndirect创建剪切区域句柄,此外ExtSelectClipRgn将新的剪切区域与当前

    环境句柄的剪切区域进行扩展、合并,GenerateRoundClip:生成圆角剪切区域,参数rcItem为圆角区域位置大小,width、height:圆角矩形的逻辑高度和宽度,内部通过CreateRoundRectRgn

    创建一个圆角矩形区域句柄,并与当前区域合并,UseOldClipBegin:使用早期的矩形区域作为当前的剪切区域区域,UseOldClipEnd:使用当前区域作为设备环境剪切区域;

    CRenderEngine:渲染引擎类,整个类中基本上均是静态成员函数,AdjustColor:色彩调整,在分析如何处理色彩调整前,先分析静态全局函数RGBtoHSL、HSLtoRGB分别为RGB颜色空间互转为

    HSL色彩空间,先看看RGBtoHSL:

    

  

Duilib源码分析(四)绘制管理器—CPaintManagerUI—(前期准备三)

标签:

原文地址:http://www.cnblogs.com/haomiao/p/4944808.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!