#themes #gui-framework #applications #graphics

marcel

为 iced GUI 框架提供的动态主题库

2 个版本

0.1.1 2022 年 12 月 9 日
0.1.0 2022 年 3 月 24 日

#645 in GUI

MIT 或 MPL-2.0

56KB
1K SLoC

marcel

为 iced GUI 框架提供的动态主题库


marcel 引入了一种新的方法来加载和管理 iced GUI 框架的主题,使用户能够分发和开发自己的主题。

此工具包无缝集成到 GUI 前端的 iced 和序列化前端的 serde 中,而对用户选择的序列化格式保持无关。

使用方法

将此添加到你的 Cargo.toml

[dependencies]
marcel = "0.1"

要开始,请查看 Github wiki

打包主题的文件结构

主题的文件结构旨在易于打包和高度便携。根文件夹可以存储为压缩文件夹(.zip、.rar 等),并通过 marcel 在任何 iced 应用中使用。

<Theme Name>        # <-- Base folder of the theme
| - theme.xxx       # <-- File named 'theme' with the file format extension (JSON, RON, BON, etc...)
| - theme.meta.xxx  # <-- File named 'theme.meta' with the file format extension (JSON, RON, BON, etc...)
| - img/            # <-- Folder with the images and icons of the theme
| | - img.meta.xxx  # <-- File named 'img.meta' with the file format extension (JSON, RON, BON, etc...)
| | - image.jpg
| | - icon.png
| - font            # <-- Folder with the fonts of the theme
| | - font.ttf

theme.xxx 包含完整的主题内容。此文件将被解析为 iced 主题。

theme.meta.xxx 是一个可选文件,包含一些主题的元数据,如描述和信息。此文件用于主题修改和 UI/UX。

img/ 是包含主题中引用的所有图标和图像的文件夹。

img.meta.xxx 是一个可选文件,包含一些图像的元数据,如描述和信息。此文件用于主题修改和 UI/UX。

font/ 是包含主题使用的所有字体的文件夹。

进行中

以下列出了一个尚未实现主题的控件列表。

  • 复选框
  • 单选按钮
  • 规则
  • 滑块

许可证

marcel 采用 MIT 许可证和 Mozilla 公共许可证(版本 2.0)的条款。

有关详细信息,请参阅 LICENSE-MITLICENSE-MPL2

依赖关系

~16–36MB
~649K SLoC