Skip to content

LCUI 1.0 Beta 4

Pre-release
Pre-release
Compare
Choose a tag to compare
@lc-soft lc-soft released this 28 Nov 15:22
· 526 commits to develop since this release

Changelog

Bug Fixes

  • dirent: LCUI_ReadDirW() UNINITIALIZED READ (dd610ad)
  • display: the renderer pauses when resizing the window (#164) (8ad667a)
  • display: too many duplicate dirty rectangles in one frame (b5d9040)
  • font: failed to set default font after loading font file (9b4c005)
  • font: font number is not reset after module reinitialization (d75b4ca)
  • gui: layout should be updated after widget display role is changed (96c1cef)
  • gui: should clear trash widget when module destroyed (1ad6be1)
  • gui: the block element default width should be 100% (adcb9e7)
  • gui: the node should unlinked before destroying widget (3249490)
  • gui: the unlink event is triggered repeatedly (89faa5d)
  • gui: widget background image is not rendered (e76f3f9)
  • gui: Widget_AutoSize() should not change the static width or height (8bee9c2)
  • ime: non-qwerty keyboard layouts broken (#147) (4b1f050)
  • layout: "left: auto" is calculated as "left: 0" (f4990da)
  • platform: linux framebuffer driver has not been destroyed (#157) (87f79f0)
  • renderer: problem when widget has transparency (#160) (d13b554)
  • renderer: transparent widgets are rendered incorrectly (6668165)
  • textlayer: chinese text line break error (1e5a262)
  • textlayer: isalpha() assertion failed (cd39a46)
  • textview: no effect after changing the "content" property (d1ab50d)
  • textview: size not updated after setting text (31e0582)
  • util: incorrect value of LCUI_DirEntry::name (367febe)
  • worker: worker thread memory access violation (5a7e2c0)
  • linker errors when jpeg and png are not supported (2bbabe1)
  • PACKAGE_VERSION is not defined (70660de)
  • the mouse cursor should be hidden when the window system exists (acf9454)
  • the return value of LCUI_GetAppId() is incorrect (46ec607)
  • "linux/input.h" file not found on FreeBSD (7d95f3f)
  • undefined ENODATA on FreeBSD (2cd0b27)
  • unresolved external symbol _Graph_IsValid (1328a2d)

Features

  • builder: <resource> support load xml file (d5e162c)
  • display: auto disable window maximize button (#164) (82fad1b)
  • event: add ctrl_key and shift_key to LCUI_KeyboardEvent (6f5f17c)
  • gui: add Widget_SetOpacity() (e6ad163)
  • gui: add Widget_SetVisibility() (145d9ee)
  • gui: add Widget_SetVisible() and Widget_SetHidden() (2f581b8)
  • gui: LCUIWidget_ClearTrash() will return count (6262f20)
  • linux: add mouse wheel event handing for x11 (#54) (1061592)
  • linux: use fontconfig to locate fonts (2932246)
  • textview: refresh all textview after loading new font (3fcfa99)
  • util: add OpenUri() (ec20c99)
  • make LCUI_MAX_FRAMES_PER_SEC public (6fa2995)
  • add LCUI_MAX_FRAME_MSEC macro (7abc901)

Performance Improvements

  • charset: improve utf-8 and unicode string convert (1efd856)
  • graph: improve image scaling quality (issue #39) (bbfb9af)

更新日志

问题修复

  • dirent: LCUI_ReadDirW() UNINITIALIZED READ (dd610ad)
  • display: 调整窗口尺寸时会暂停渲染 (#164) (8ad667a)
  • display: 一帧内有过多的重复的脏矩形 (b5d9040)
  • font: 在加载完字体文件后设置默认字体会失败 (9b4c005)
  • font: 在模块被重新初始化后,字体编号未重置 (d75b4ca)
  • gui: 当部件的显示角色改变后应该更新布局 (96c1cef)
  • gui: 当模块被销毁时应该清空废弃的部件 (1ad6be1)
  • gui: 块级元素的默认宽度应该为 100% (adcb9e7)
  • gui: 在销毁部件前应该解除结点 (3249490)
  • gui: unlink 事件被重复触发 (89faa5d)
  • gui: 部件背景图未渲染 (e76f3f9)
  • gui: Widget_AutoSize() 不应该改变静态的宽度或高度 (8bee9c2)
  • ime: 无法正确识别非 qwerty 键盘布局的按键输入 (#147) (4b1f050)
  • layout: "left: auto" 被计算为 "left: 0" (f4990da)
  • platform: linux 帧缓存驱动未被销毁 (#157) (87f79f0)
  • renderer: 当部件整体透明时,子级部件未正确渲染 (#160) (d13b554)
  • renderer: 有透明效果的部件,渲染不正确 (6668165)
  • textlayer: 中文文本断行错误 (1e5a262)
  • textlayer: isalpha() 断言失败 (cd39a46)
  • textview: 在改变 "content" 属性后没有效果 (d1ab50d)
  • textview: 设置文本后未更新自身尺寸 (31e0582)
  • util: LCUI_DirEntry::name 的值不正确 (367febe)
  • worker: 工作线程内存访问越界 (5a7e2c0)
  • 当不支持 jpeg 和 png 时连接器会报错 (2bbabe1)
  • PACKAGE_VERSION 未定义 (70660de)
  • 当系统中存在窗口管理系统时应该隐藏鼠标指针 (acf9454)
  • LCUI_GetAppId() 返回值不正确 (46ec607)
  • 在 FreeBSD 上编译时,"linux/input.h" 文件不存在 (7d95f3f)
  • 在 FreeBSD 上编译时,ENODATA 未定义 (2cd0b27)
  • 未解析的外部符号 _Graph_IsValid (1328a2d)

新特性

  • builder: <resource> 支持加载 xml 文件 (d5e162c)
  • display: 自动禁用窗口最大化按钮 (#164) (82fad1b)
  • event: 添加 ctrl_key 和 shift_key 成员至 LCUI_KeyboardEvent (6f5f17c)
  • gui: 添加 Widget_SetOpacity() (e6ad163)
  • gui: 添加 Widget_SetVisibility() (145d9ee)
  • gui: 添加 Widget_SetVisible() 和 Widget_SetHidden() (2f581b8)
  • gui: LCUIWidget_ClearTrash() 返回值为实际销毁的部件数量 (6262f20)
  • linux: 为 x11 系统添加鼠标滚轮事件处理 (#54) (1061592)
  • linux: 使用 fontconfig 定位字体文件路径 (2932246)
  • textview: 在加载新的字体文件后刷新所有 textview 部件 (3fcfa99)
  • util: 添加 OpenUri() (ec20c99)
  • 添加 LCUI_MAX_FRAMES_PER_SEC 宏定义 (6fa2995)
  • 添加 LCUI_MAX_FRAME_MSEC 宏定义 (7abc901)

改进

  • charset: 改进 utf-8 和 unicode 字符串转换 (1efd856)
  • graph: 添加新的图片缩放方式 (issue #39) (bbfb9af)