SOUI官方论坛

 找回密码
 立即注册
查看: 25728|回复: 10

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

  [复制链接]
  • TA的每日心情
    奋斗
    2022-7-4 09:45
  • 签到天数: 28 天

    [LV.4]偶尔看看III

    59

    主题

    588

    帖子

    5493

    积分

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    5493

    突出贡献优秀版主

    发表于 2019-8-4 16:11:32 | 显示全部楼层 |阅读模式
    本帖最后由 setoutsoft 于 2019-8-5 10:27 编辑

    从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元素,用来描述支持光标行为。支持动画光标,支持改变光标颜color。

      <caret color="rgb(255,0,0)" animate="true" speed="30" interpolator="Accelerate"/>
    5、支持滚动条动画特效,配置后滚动条只在有鼠标***作才显示,否则就隐藏,采用渐显渐隐过渡。在XML中配置fadeInterpolator属性来指定***值动画类型,再配置一个fadeSpeed属性(整数,默认30)就可以控制动画。

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

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

    8、调整了ISkinObj接口,增加了DrawByIndex, DrawByState方法。
    9、调整了窗口的alpha属性。原来Swindow的alpha属性是默认传递给ISkinObj去使用,只有定义了layeredWindow属性才会做为窗口的图层透明属性。3.0里,alpha属性!=255就是定义一个半透明图层。如果要让skin半透明,只能在skin里配置alpha属性。

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

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

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

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

    2、增加界面模板支持。

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

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

    详细说明参见:https://www.cnblogs.com/setoutsoft/p/10528519.html
  • TA的每日心情
    开心
    2024-4-28 10:07
  • 签到天数: 942 天

    [LV.10]以坛为家III

    580

    主题

    1340

    帖子

    2万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    28797
    发表于 2019-8-4 21:35:22 | 显示全部楼层
    如果有定义控件重载了这个方法需要注意。
    定义吗?
  • TA的每日心情
    奋斗
    2022-7-4 09:45
  • 签到天数: 28 天

    [LV.4]偶尔看看III

    59

    主题

    588

    帖子

    5493

    积分

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    5493

    突出贡献优秀版主

     楼主| 发表于 2019-8-5 10:14:54 | 显示全部楼层
    admin 发表于 2019-8-4 21:35
    如果有息定义控件重载了这个方法需要注意。
    是重定义吗?

    改过来了。是“自定义”
  • TA的每日心情
    奋斗
    2020-6-18 09:28
  • 签到天数: 2 天

    [LV.1]初来乍到

    0

    主题

    11

    帖子

    95

    积分

    24:00金丹期

    Rank: 2

    积分
    95
    发表于 2019-8-6 17:27:53 | 显示全部楼层
    666,希望越来越好用!

    该用户从未签到

    0

    主题

    1

    帖子

    33

    积分

    22:00筑基期

    Rank: 1

    积分
    33
    发表于 2019-8-9 09:21:35 | 显示全部楼层
    楼主威武!! 常年坚持免费做一件事情不容易啊。
  • TA的每日心情
    开心
    2024-4-28 10:07
  • 签到天数: 942 天

    [LV.10]以坛为家III

    580

    主题

    1340

    帖子

    2万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    28797
    发表于 2019-8-14 22:58:20 | 显示全部楼层
    gzstyxb 发表于 2019-8-9 09:21
    楼主威武!! 常年坚持免费做一件事情不容易啊。

    坚持10年了,佩服呀

    该用户从未签到

    2

    主题

    8

    帖子

    73

    积分

    24:00金丹期

    Rank: 2

    积分
    73
    发表于 2020-3-23 22:23:46 | 显示全部楼层
    我发现还有一个问题,就是edit不支持其他的渲染了,为啥没做进去呢?
  • TA的每日心情
    奋斗
    2022-7-4 09:45
  • 签到天数: 28 天

    [LV.4]偶尔看看III

    59

    主题

    588

    帖子

    5493

    积分

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    5493

    突出贡献优秀版主

     楼主| 发表于 2020-3-23 22:38:36 | 显示全部楼层
    范特西 发表于 2020-3-23 22:23
    我发现还有一个问题,就是edit不支持其他的渲染了,为啥没做进去呢?

    edit控件是复用的微软的Richedit的无窗口模式(windowless),它只支持输出到hdc,我也没有办法。
  • TA的每日心情
    奋斗
    2022-7-4 09:45
  • 签到天数: 28 天

    [LV.4]偶尔看看III

    59

    主题

    588

    帖子

    5493

    积分

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    5493

    突出贡献优秀版主

     楼主| 发表于 2020-3-24 19:41:52 | 显示全部楼层
    3.0.0.27增加了窗口的显示隐藏动画效果。
  • TA的每日心情
    奋斗
    2022-7-4 09:45
  • 签到天数: 28 天

    [LV.4]偶尔看看III

    59

    主题

    588

    帖子

    5493

    积分

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    5493

    突出贡献优秀版主

     楼主| 发表于 2020-3-24 19:52:08 | 显示全部楼层
    enterAni.gif
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|SOUI官方论坛

    GMT+8, 2024-5-6 17:53

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表