6 个版本 (3 个重大更新)
0.4.0 | 2024年6月6日 |
---|---|
0.3.1 | 2024年6月5日 |
0.2.0 | 2024年6月4日 |
0.1.1 | 2024年6月4日 |
0.1.0 | 2024年5月31日 |
#758 in GUI
100KB
2.5K SLoC
B3. Core
⚠️警告 此项目处于积极开发中。当前代码库可能不稳定且不完整,API 在未来版本中可能会有重大更改。在此阶段,强烈建议不要在发布构建中使用此 crate。
B3. Core 是一个跨平台框架,提供对图形应用程序主要元素的访问和管理
- 包括鼠标、键盘和触摸板事件的事件,
- 菜单:应用程序、上下文等,
- 窗口,
- 通知,
- 托盘。
此框架深受 winit crate 的启发。
仓库
如果您想提交 拉取请求 或打开新的 问题,请确保您在 GitHub.com 上,而不是项目的镜像。
主要
镜像
路线图
- macOS: 支持应用程序菜单
- macOS: 支持系统事件
- macOS: 支持窗口
- macOS: 支持模态窗口
- macOS: 支持通知
功能
功能 | 描述 |
---|---|
dh |
提供原始显示和窗口指针 |
通知 |
启用用户通知的支持 |
示例
项目在 examples 文件夹中包含一些示例。
示例 | 描述 |
---|---|
hello-app |
具有简单应用程序菜单的最小可行应用程序。此示例仅在支持主要应用程序菜单的操作系统上可见。 |
hello-window |
具有多个窗口、通知和主要应用程序菜单的应用程序示例。 |
hello-vulkan |
Vulkan 初始化的示例。它需要额外的配置(见下文)。 |
要启动 hello-vulkan
示例,需要指定指向已安装 Vulkan 库的环境变量。为此,在项目根目录中创建 .env
文件
# Replace <...> by actual paths
cat <<EOT >> .env
VULKAN_SDK=<VULKAN_SDK_DIR>/<TARGET_PLATFORM_DIR>
PATH=<VULKAN_SDK_DIR>/<TARGET_PLATFORM_DIR>/bin:$PATH
DYLD_LIBRARY_PATH=<VULKAN_SDK_DIR>/<TARGET_PLATFORM_DIR>/lib:$DYLD_LIBRARY_PATH
VK_ICD_FILENAMES=<VULKAN_SDK_DIR>/<TARGET_PLATFORM_DIR>/share/vulkan/icd.d/MoltenVK_icd.json
VK_LAYER_PATH=<VULKAN_SDK_DIR>/<TARGET_PLATFORM_DIR>/share/vulkan/explicit_layer.d
EOT
许可
本项目遵循 MIT 许可协议。
依赖项
~0.8–3MB
~66K SLoC