Nana 1.0是Beta阶段的第一个版本。
接口变更
1, 移除 nana::color_t 类型,加入新的 nana::color 类
color_t 的主要问题是无法表示无效的颜色值,因为 color_t 就是unsigned类型的别名。color 类还提供了一些有用的接口,from_rgb()/from_hsl()用来赋值颜色,blend()混合两个颜色,还定义了一些用于初始化颜色的辅助类型。
using namespace nana;
//nana::colors 定义了一些颜色的名称.
//参考 http://www.w3.org/TR/2011/REC-css3-color-20110607/
//4.3. Extended color keywords参看具体的名称 .
color col0{colors::silver};
//nana::color_rgb将整数解释为颜色
color col1{static_cast<color_rgb>(0x112233)}; //red=0x11,green=0x22,blue=0x33
//nana::color_argb/nana::color_rgba 将整数解释为带透明通道的颜色.
color col2{static_cast<color_argb>(0xff112233)}; //alpha=0xff,red=0x11,green=0x22,blue=0x33
color col3{static_cast<color_rgba>(0x112233ff)}; //red=0x11,green=0x22,blue=0x33,alpha=0xff
这些助手类型都表示32位整数,这将有助于将一组颜色数据初始化为color对象。
2,接口变更
一些接口命名的变更。
API::background/foreground变更为API:;bgcolor/fgcolor
widget::background/foreground变更为widget::bgcolor/fgcolor
一些graphics类的成员函数变更。
函数名(int x, int y)变更为 函数名(const nana::point& pos);
函数名(int x, int y, unsigned width, unsigned height) 变更为 函数名(const nana::rectangle& r);
新特性
1,widget的颜色方案
颜色方案是一个用于个性化显示widget的子系统。Nana库基本上提供了用于修改widget背景色和前景色的接口,但是这对一个复杂复合型的widget来说,例如listbox,这两个接口是不够的。通过颜色方案,就可以实现修改listbox的顶栏颜色。
//nana::listbox lsbox;
lsbox.sc