梦见河水上涨
LCUI 是一种和源代码的图形界面开发库,主要使用 C 语言编写,支持使用 CSS 和 XML 描述界面布局和样式,可用于构建简单的桌面应用程序。
需要特别注意的是,LCUI 采用的开源许可证是GNU 通用公共许可证第二版,简称 GPLv2,当你决定使用它开发应用程序时,相信你已经有了遵循该许可证的要求并应用程序源代码的。
C 语言编写: 适用于体积较小且主要使用 C 语言实现的应用程序,以及偏向使用 C 语言编写简单应用的开发者。
跨平台: 支持 Windows 和 GNU/Linux 系统,可开发简单的 Windows 桌面应用和通用应用,以及 Linux 桌面应用。
XML 解析: 支持使用 XML 标记语言描述界面的结构,更少的代码量,更直观的表达方式,易于开发和。
CSS 解析: 支持使用 CSS 代码描述界面元素的、大小、背景、字体、边框等样式,与应用程序的逻辑分离,易于使用和修改。
类 HTML 布局: 与浏览器处理的网页布局类似,但目前只支持块级(block)、内联块级(inline-block)和简单的弹性(flex)布局,如果你有网页开发经验的话会比较容易上手。
界面缩放: 支持通过设置全局缩放比例来让界面适应不同像素密度的屏幕,也支持使用基于屏幕密度的 sp 和 dp 单位表示界面元素的和大小。
文本绘制: 支持为文本设置全局字体、行高、水平对齐方式,支持对局部文本块单独设置颜色、背景色、加粗、斜体。
字体管理: 支持加载多个字体文件,支持自定义界面中的标题、正文、引用、强调等类型的文本所使用的字体字族和风格。
图片处理: 提供图片读取接口,支持读取 jpg、png 和 bmp 格式的图片。支持逐行读取,可在读取图片的过程反馈读取进度。
相信很多人已经习惯看到那些活跃的开源项目,即使自己什么都不用做,它也能积极的发展下去,然而 LCUI 并不是那种有强大社区力量或雄厚资金支持的开源项目,所以,如果你有什么需求,请先阅读以下内容。
遇到问题时请尽量花时间自己解决,实在无决的话,请再花些时间准备好详细的问题描述,然后按照下面给出的方法提交问题。
普通的使用问题,请在开源中国社区(问答板块)、SegmentFault 或 Stackoverflow 上提交问题并 @ 作者,这样作者在帮助你解决问题后至少能赚点积分/声望值,还能让搜索引擎多收录一条 LCUI 相关的内容,帮助其他遇到类似问题的人们。
BUG、新功能、代码改进等核心开发相关的问题请提交至 GitHub 的 Issues 页面中。虽然作者英语比较渣,但还是你使用英语撰写内容,就当是一起学习英语吧。
如果你想提交自己的代码改进方案,请先向作者确认这个方案是否符合要求,确认之后再开始编写代码,务必遵循现有代码风格。在代码完成后,请提交拉取请求(Pull Request),让作者决定是否拉取你的分支里的代码并合并至主分支,必要的话请补充单元测试。