全开源C++ DirectUI 界面库SOUI 3.0更新

发布时间:2019-08-04 16:10,

浏览次数:1077

, 标签:

DirectUI

SOUI

从2019.5.22开始,SOUI版本号更新到2.9.0.2,后面开始准备3.0的开发,历时近3个月,现在3.0的主要工作基本完成。

为了便于大家区别2.x,3.0启用了新的代码仓库:https://github.com/soui3/soui

3.0相比2.x有以下代码的更新:

1、规范代码中使用的类名,2.x中由于历史原因有一些类名一直是Cxxx这样的以C开头的类名,新版本统一调整为S开头,比如CAutoRefPtr=>SAutoRefPtr,

CSimpleWnd=>SNativeWnd等。

2、删除原来的 CSize SWindow::GetDesiredSize(LPCRECT)重载方法,只保留CSize

SWindow::GetDesiredSize(int wid, int hei)这个方法。如果有息定义控件重载了这个方法需要注意。

3、将原来指定主窗口大小的属性从XML的SOUI结点调整到root结点。soui结点不和swindow对象对应,而root结点是一个SWindow对象,把属性迁移到root更合理。

4、调整光标显示的实现代码。在uidef.xml里增加了caret元素,用来描述支持光标行为。支持动画光标,支持改变光标颜色。

/>

5、支持滚动条动画特效,配置后滚动条只在有鼠标操作才显示,否则就隐藏,采用渐显渐隐过渡。在XML中配置fadeInterpolator属性来指定插值动画类型,再配置一个fadeSpeed属性(整数,默认30)就可以控制动画。

6、完全的矩阵变换支持。增加SWindow::SetMatrix来实现窗口显示的旋转,平移,绽放等矩阵支持的操作。

7、从Android移植了Animation模块,以前一个与Android的数值动画对应的ValueAnimation模块。可以基本上实现Android的全部动画效果。通过实现AnimationSet的repeatCount属性,还可以实现Android不方便实现的动画效果。

总之,3.0一个任务就是只需要简单的配置XML主可以把界面效果做得更加炫酷。

此外,2.8中也引入了两个重大的更新,这里也一便介绍一下:

1、调整style的命名支持,如果style以window.style的形式命名,那前面的window就是控件类型,而window.style还是一个常规的style。

假定用户已经在style中定义了一个

xxxx/>这样的style, 通过支持这们的命名规则,2.8以上的SOUI,XML可以直接使用"button.web"来创建一个button控件,该控件自动使用button.web这个style。

2、增加界面模板支持。

如果一个界面中有很多元素是重复的,但是内容是变化的,常规的做法可能是使用列表来做。但是用列表可能代表着用户需要增加代码来写Adapter等。

有了模板支持,就可以通过模板来直接插入一组新的元素,而不需要使用列表控件。

详细说明参见:https://www.cnblogs.com/setoutsoft/p/10528519.html

启程软件  2019年8月4日

android lib 界面库,全开源C++ DirectUI 界面库SOUI 3.0更新相关推荐

  1. android qq协议 java,配置开源安卓QQ协议库Mirai

    前言 由于常常配置Mirai,每次手动输入命令有些麻烦,因此记录一下配置过程.git 配置JDK Debian系:github apt install openjdk-11-jdk CentOS系:a ...

  2. 小米android安全补丁,迅速补救!小米A1重新获得安卓8.0更新:附带最新安全补丁...

    自从2017年8月份谷歌正式发布了Android 8.0 的正式版后,很多国际厂商都纷纷让自家产品更新到Android 8.0.不过由于奥利奥还不够稳定,导致很多手机在更新新系统后出现各种小问题. 就 ...

  3. linux 图形界面库,几款开源的图形界面库(GUI Libraries)

    遵循BSD许可协议的C++ GUI库,建立在Windows API之上,但仍可以通过使用WineLib在Linux/xNix上使用.也支持Pocket PC和基于Windows CE的应用程序... ...

  4. DirectUI界面库 学习和细节

    1. duilib简介 duilib是一个开源的DirectUI界面库,简洁但是功能强大.而且还是BSD的license,所以即便是在商业上,大家也可以安心使用. 现在大家可以从这个网站获取到他们所有 ...

  5. linux c 界面库,几款开源的图形界面库(GUI Libraries)

    国外: 遵循BSD许可协议的C++ GUI库,建立在Windows API之上,但仍可以通过使用WineLib在Linux/xNix上使用.也支持Pocket PC和基于Windows CE的应用程序 ...

  6. c语言比较好的gui界面库,几款开源的图形界面库(GUI Libraries)

    国外: 遵循BSD许可协议的C++ GUI库,建立在Windows API之上,但仍可以通过使用WineLib在Linux/xNix上使用.也支持Pocket PC和基于Windows CE的应用程序 ...

  7. 提供一个免费的directui界面库(已开源)

    首先说明这个界面库是从http://www.viksoe.dk/code/windowless1.htm修改过来的 Bjarke Viksoe的这个界面程序思想和代码都非常优秀,但是他给的代码主要是表 ...

  8. Android 开源组件和第三方库汇总

    出自(https://github.com/Tim9Liu9/TimLiu-Android) TimLiu-Android 自己总结的Android开源项目及库. 1. github排名 https: ...

  9. 2017年Android开源项目及依赖库

    目录(?)[+] github排名: https://github.com/trending , github搜索: https://github.com/search UI Awesome-Mate ...

最新文章

  1. 《.NET程序员面试秘笈》----面试题8 方法的重载和override有什么区别
  2. meta name=viewport content=width=device-width,minimum-scale=1.0,maximum-scale=1.0/
  3. 深入理解闭包系列第五篇——闭包的10种形式
  4. 小程序开发(6)-之自定义导航栏
  5. Sql Server中的几个系统表(二)
  6. Leetcode每日一题:面试题17.12 binode
  7. 频率单位Hz、MHz、GHz、THz、PHz、EHz换算关系
  8. Meta-Programming in Python
  9. 复制移动VMware Workstation虚拟机文件产生的问题【转】
  10. serialVersionUID详解
  11. 深思新推出高性价比智能卡加密锁--魔锐1
  12. origin | 绘制倒置柱状图 | y轴向下柱状图 | y轴正负对比柱状图 | 添加图层 | 垂线图
  13. Zebra打印机,中文转ZPL指令的.net实现,替换FNTHEX32.DLL
  14. 吐血实践-TiDB离线安装
  15. CNN-VGG16图片性别年龄识别(说白了就是图片分类)
  16. 9.9的阿里巴巴编码规范考试竟如此简单?搜集试题分享!让我们一起守护开发规范!
  17. 协方差意味着什么_微服务意味着我们可以使用所需的任何语言? 真?
  18. ANDROID 65536错误
  19. 直流电机 M PWM 调速原理
  20. 数据库系统实验二作业-SQL实验报告

热门文章

  1. 给suse系统添加源
  2. 《月亮与六便士》阅读笔记
  3. 英语总结改错2011 英一
  4. ORCL-主线2-PLSQL学习
  5. STM32F103(五)——关于EXIT外部中断介绍
  6. C++ vector 相关函数简介
  7. 小布老师OracleDBA视频合集 下载
  8. 究极pytorch环境搭建
  9. C++ constexpr 常量表达式
  10. 计算机图形学(消隐)