Skip to main content

Crate rgpui

Crate rgpui 

Source
Expand description

§rgpui - GPU 加速的跨平台 UI 框架

rgpui 是基于 Zed 编辑器的 gpui 框架的跨平台移植版本。 它提供了一套完整的 GPU 加速 UI 系统,包括:

  • 实体系统(Entity System):基于 Arena 分配器的实体管理
  • 响应式事件系统:观察者模式的订阅和通知机制
  • 键盘事件分发:层级化的按键事件处理管线
  • 布局引擎:基于 Taffy 的 Flexbox 布局
  • 文本渲染:GPU 加速的文本排版和渲染
  • 平台抽象层:支持 Windows、macOS、Linux、Web 等平台

§快速入门

use rgpui::prelude::*;
use rgpui::App;

fn main() {
    App::new().run(|cx| {
        // 在这里创建你的第一个窗口和视图
    });
}

§rgpui

rgpui 是 rgpui 项目的核心 crate,是一个混合即时/保留模式、GPU 加速的 Rust UI 框架。

关于项目背景、重命名原因和整体架构,请参见项目根目录 README

§主要特性

  • 混合即时/保留模式:结合即时模式的高性能与保留模式的状态管理优势
  • 基于 Entity 的状态管理:通过智能指针安全地在应用各部分之间共享和通信状态
  • 声明式视图(View):实现 Render trait 即可构建声明式 UI,每帧自动刷新
  • 命令式元素(Element):底层构建块,提供对渲染和布局的完全控制
  • GPU 加速渲染:利用 Metal/Vulkan 进行高性能图形渲染
  • Taffy 布局引擎:支持 Flexbox 和 Grid 布局
  • 丰富的文本系统:支持字体渲染、文本布局和高亮
  • 输入处理与快捷键:完整的键盘/鼠标事件处理和可配置的键位映射
  • 动画系统:内置动画支持
  • 跨平台:支持 macOS、Linux 和 Windows
  • Tailwind 风格 API:通过 div 元素提供熟悉的样式链式调用
  • 系统托盘:完整托盘图标、右键菜单及窗口隐藏/恢复功能
  • 增强透明窗口:支持半透明、毛玻璃等视觉效果

§快速开始

§添加依赖

Cargo.toml 中添加:

[dependencies]
rgpui = "0.1"
rgpui_platform = "0.1"

§最小示例

use rgpui::*;
use rgpui_platform::application;

struct HelloWorld;

impl Render for HelloWorld {
    fn render(&mut self, _window: &mut Window, _cx: &mut Context<Self>) -> impl IntoElement {
        div()
            .flex()
            .items_center()
            .justify_center()
            .size_full()
            .child("Hello, RGPUI!")
    }
}

fn main() {
    application().run(|cx: &mut App| {
        let bounds = Bounds::centered(None, size(px(500.), px(500.0)), cx);
        cx.open_window(
            WindowOptions {
                window_bounds: Some(WindowBounds::Windowed(bounds)),
                titlebar: Some(TitlebarOptions {
                    title: Some("Hello你好".into()),
                    ..Default::default()
                }),
                ..Default::default()
            },
            |_window, cx| cx.new(|_cx| HelloWorld),
        )
            .unwrap();
    });
}

§文档

§许可证

Apache-2.0

Re-exports§

pub use component_text::ComponentText;
pub use component_text::ComponentTextViewStyle;
pub use theme::color::ColorName;
pub use theme::color::Colorize;
pub use theme::color::hsl;
pub use theme::color::try_parse_background;
pub use theme::color::try_parse_color;
pub use theme::registry::DEFAULT_THEME_COLORS;
pub use theme::ActiveTheme;
pub use theme::HighlightTheme;
pub use theme::HighlightThemeStyle;
pub use theme::ListSettings;
pub use theme::NotificationSettings;
pub use theme::ScrollbarShow;
pub use theme::SheetSettings;
pub use theme::StatusColors;
pub use theme::SyntaxColors;
pub use theme::TITLE_BAR_HEIGHT;
pub use theme::Theme;
pub use theme::ThemeColor;
pub use theme::ThemeConfig;
pub use theme::ThemeConfigColors;
pub use theme::ThemeMode;
pub use theme::ThemeRegistry;
pub use theme::ThemeSet;
pub use theme::ThemeToken;
pub use theme::ThemeTokens;
pub use theme::amber_50;
pub use theme::amber_100;
pub use theme::amber_200;
pub use theme::amber_300;
pub use theme::amber_400;
pub use theme::amber_500;
pub use theme::amber_600;
pub use theme::amber_700;
pub use theme::amber_800;
pub use theme::amber_900;
pub use theme::amber_950;
pub use theme::blue_50;
pub use theme::blue_100;
pub use theme::blue_200;
pub use theme::blue_300;
pub use theme::blue_400;
pub use theme::blue_500;
pub use theme::blue_600;
pub use theme::blue_700;
pub use theme::blue_800;
pub use theme::blue_900;
pub use theme::blue_950;
pub use theme::cyan_50;
pub use theme::cyan_100;
pub use theme::cyan_200;
pub use theme::cyan_300;
pub use theme::cyan_400;
pub use theme::cyan_500;
pub use theme::cyan_600;
pub use theme::cyan_700;
pub use theme::cyan_800;
pub use theme::cyan_900;
pub use theme::cyan_950;
pub use theme::emerald_50;
pub use theme::emerald_100;
pub use theme::emerald_200;
pub use theme::emerald_300;
pub use theme::emerald_400;
pub use theme::emerald_500;
pub use theme::emerald_600;
pub use theme::emerald_700;
pub use theme::emerald_800;
pub use theme::emerald_900;
pub use theme::emerald_950;
pub use theme::fuchsia_50;
pub use theme::fuchsia_100;
pub use theme::fuchsia_200;
pub use theme::fuchsia_300;
pub use theme::fuchsia_400;
pub use theme::fuchsia_500;
pub use theme::fuchsia_600;
pub use theme::fuchsia_700;
pub use theme::fuchsia_800;
pub use theme::fuchsia_900;
pub use theme::fuchsia_950;
pub use theme::gray_50;
pub use theme::gray_100;
pub use theme::gray_200;
pub use theme::gray_300;
pub use theme::gray_400;
pub use theme::gray_500;
pub use theme::gray_600;
pub use theme::gray_700;
pub use theme::gray_800;
pub use theme::gray_900;
pub use theme::gray_950;
pub use theme::green_50;
pub use theme::green_100;
pub use theme::green_200;
pub use theme::green_300;
pub use theme::green_400;
pub use theme::green_500;
pub use theme::green_600;
pub use theme::green_700;
pub use theme::green_800;
pub use theme::green_900;
pub use theme::green_950;
pub use theme::indigo_50;
pub use theme::indigo_100;
pub use theme::indigo_200;
pub use theme::indigo_300;
pub use theme::indigo_400;
pub use theme::indigo_500;
pub use theme::indigo_600;
pub use theme::indigo_700;
pub use theme::indigo_800;
pub use theme::indigo_900;
pub use theme::indigo_950;
pub use theme::lime_50;
pub use theme::lime_100;
pub use theme::lime_200;
pub use theme::lime_300;
pub use theme::lime_400;
pub use theme::lime_500;
pub use theme::lime_600;
pub use theme::lime_700;
pub use theme::lime_800;
pub use theme::lime_900;
pub use theme::lime_950;
pub use theme::neutral_50;
pub use theme::neutral_100;
pub use theme::neutral_200;
pub use theme::neutral_300;
pub use theme::neutral_400;
pub use theme::neutral_500;
pub use theme::neutral_600;
pub use theme::neutral_700;
pub use theme::neutral_800;
pub use theme::neutral_900;
pub use theme::neutral_950;
pub use theme::orange_50;
pub use theme::orange_100;
pub use theme::orange_200;
pub use theme::orange_300;
pub use theme::orange_400;
pub use theme::orange_500;
pub use theme::orange_600;
pub use theme::orange_700;
pub use theme::orange_800;
pub use theme::orange_900;
pub use theme::orange_950;
pub use theme::pink_50;
pub use theme::pink_100;
pub use theme::pink_200;
pub use theme::pink_300;
pub use theme::pink_400;
pub use theme::pink_500;
pub use theme::pink_600;
pub use theme::pink_700;
pub use theme::pink_800;
pub use theme::pink_900;
pub use theme::pink_950;
pub use theme::purple_50;
pub use theme::purple_100;
pub use theme::purple_200;
pub use theme::purple_300;
pub use theme::purple_400;
pub use theme::purple_500;
pub use theme::purple_600;
pub use theme::purple_700;
pub use theme::purple_800;
pub use theme::purple_900;
pub use theme::purple_950;
pub use theme::red_50;
pub use theme::red_100;
pub use theme::red_200;
pub use theme::red_300;
pub use theme::red_400;
pub use theme::red_500;
pub use theme::red_600;
pub use theme::red_700;
pub use theme::red_800;
pub use theme::red_900;
pub use theme::red_950;
pub use theme::rose_50;
pub use theme::rose_100;
pub use theme::rose_200;
pub use theme::rose_300;
pub use theme::rose_400;
pub use theme::rose_500;
pub use theme::rose_600;
pub use theme::rose_700;
pub use theme::rose_800;
pub use theme::rose_900;
pub use theme::rose_950;
pub use theme::sky_50;
pub use theme::sky_100;
pub use theme::sky_200;
pub use theme::sky_300;
pub use theme::sky_400;
pub use theme::sky_500;
pub use theme::sky_600;
pub use theme::sky_700;
pub use theme::sky_800;
pub use theme::sky_900;
pub use theme::sky_950;
pub use theme::slate_50;
pub use theme::slate_100;
pub use theme::slate_200;
pub use theme::slate_300;
pub use theme::slate_400;
pub use theme::slate_500;
pub use theme::slate_600;
pub use theme::slate_700;
pub use theme::slate_800;
pub use theme::slate_900;
pub use theme::slate_950;
pub use theme::stone_50;
pub use theme::stone_100;
pub use theme::stone_200;
pub use theme::stone_300;
pub use theme::stone_400;
pub use theme::stone_500;
pub use theme::stone_600;
pub use theme::stone_700;
pub use theme::stone_800;
pub use theme::stone_900;
pub use theme::stone_950;
pub use theme::teal_50;
pub use theme::teal_100;
pub use theme::teal_200;
pub use theme::teal_300;
pub use theme::teal_400;
pub use theme::teal_500;
pub use theme::teal_600;
pub use theme::teal_700;
pub use theme::teal_800;
pub use theme::teal_900;
pub use theme::teal_950;
pub use theme::violet_50;
pub use theme::violet_100;
pub use theme::violet_200;
pub use theme::violet_300;
pub use theme::violet_400;
pub use theme::violet_500;
pub use theme::violet_600;
pub use theme::violet_700;
pub use theme::violet_800;
pub use theme::violet_900;
pub use theme::violet_950;
pub use theme::yellow_50;
pub use theme::yellow_100;
pub use theme::yellow_200;
pub use theme::yellow_300;
pub use theme::yellow_400;
pub use theme::yellow_500;
pub use theme::yellow_600;
pub use theme::yellow_700;
pub use theme::yellow_800;
pub use theme::yellow_900;
pub use theme::yellow_950;
pub use theme::zinc_50;
pub use theme::zinc_100;
pub use theme::zinc_200;
pub use theme::zinc_300;
pub use theme::zinc_400;
pub use theme::zinc_500;
pub use theme::zinc_600;
pub use theme::zinc_700;
pub use theme::zinc_800;
pub use theme::zinc_900;
pub use theme::zinc_950;
pub use util::FutureExt;
pub use util::Timeout;
pub use crate::scheduler::FallibleTask;
pub use crate::scheduler::ForegroundExecutor as SchedulerForegroundExecutor;
pub use crate::scheduler::Priority;
pub use crate::scheduler::Task;
pub use crate::scheduler::RunnableMeta;
pub use accesskit;
pub use crate::collections::*;
pub use crate::refineable::*;
pub use profiler::*;
pub use single_instance::*;
pub use index_path::*;
pub use menu::*;

Modules§

_accessibility
无障碍访问文档模块 - 描述 RGPUI 的无障碍访问架构
_ownership_and_data_flow
所有权与数据流文档模块 - 描述 RGPUI 的数据所有权模型 在 RGPUI 中,应用中的每个模型或视图实际上都由一个名为 App 的顶层对象所拥有。当创建一个新的 Entity 或视图时(统称为 entities),应用会接管它们的状态所有权,使它们能够参与各种应用服务并与其他 entities 交互。
animation
动画子模块 - 值驱动(弹簧)原语 + 上层动画 DSL + 核心动画桥接 动画子模块:值驱动(弹簧)原语 + 上层动画 DSL + 核心动画桥接。
collections
边界树 - 用于空间查询的高性能数据结构 集合模块的重导出,用于向后兼容。
colors
颜色模块 - 定义 HSL、RGBA 等颜色类型及转换 RGPUI 默认使用的颜色常量和主题定义 默认颜色集 —— 定义 UI 框架的主题色(亮色 / 暗色)及默认调色板。
component_text
组件文本类型 - 轻量文本封装,供组件库使用
components
扩展组件库 - 核心没有的组件 + 动画组件/特效(原 rgpui-ui 并入) 扩展组件库(核心没有的组件 + 动画组件/特效)。
http_client
HTTP 客户端库 - 提供异步 HTTP 请求能力
index_path
索引路径 - 列表/表格中用于定位节、行、列的索引
input_ui
输入组件子系统 - 输入框、文本框、数字输入、掩码输入等
inspector_reflection
重导出检查器相关类型 提供 #[derive_inspector_reflection] 使用的定义。
layer_shell
重导出平台抽象层相关类型 Wayland Layer Shell 支持 — 允许窗口作为覆盖层、面板或桌面背景渲染。
list
列表子系统 - 虚拟化列表、ListDelegate、ListState 等
menu
菜单组件 - 弹窗菜单、右键菜单、下拉菜单与应用菜单栏
mouse_gestures
鼠标手势识别 - 轻点/双击/长按/拖动/滑动 手势检测器:将鼠标按下/移动/抬起序列识别为轻点、双击、长按、拖动(pan)与滑动(swipe)。
perf
性能基准测试工具 - 提供帧率和渲染性能的基准测试支持 RGPUI 性能分析器使用的常量和数据类型。
popup
重导出平台抽象层相关类型 用于配置父窗口锚定弹出窗口的类型,如下拉菜单、弹出菜单和工具提示。
prelude
预导入模块 - 常用类型的便捷重导出 RGPUI 预导入集合:常用 trait 与类型。推荐在应用中使用 use rgpui::prelude::* 一次性导入,避免逐个手动引入。
profiler
性能分析工具 - 任务计时和线程性能追踪
queue
优先级队列 - Windows/Linux/WASM 平台下的异步消息队列 队列数据结构:支持优先级调度的异步任务队列。
refineable
精化类型 - 支持部分初始化的类型安全模式
scheduler
任务调度器 - 异步任务的执行和协调 调度器:管理定时器、延迟任务与优先级调度。
scroll_physics
滚动物理模型 - 滚动惯性(动量)、减速度与越界回弹 滚动物理模型:处理滚动惯性(动量)、减速度与越界回弹(overscroll)。
single_instance
单实例模式 - 确保应用程序只有一个实例运行 跨平台单实例锁实现
styled_reflection
重导出样式化 trait 实现函数反射
sum_tree
和树数据结构 - 一种并发友好的 B-tree 变体,用于文本缓冲区等场景 有序树数据结构:基于 B-tree 的有序集合,支持范围查询与增量聚合。
table
表格子系统 - 虚拟化数据表格、列定义、表头与表体组件 表格子系统 - 虚拟化数据表格、列定义、表头与表体组件
tabs
标签页子系统 - Tab、TabBar、手风琴与折叠面板组件 标签页/手风琴/折叠面板子系统 - Tabs、Accordion、Collapsible 组件
theme
主题系统 - 颜色工具、色板与主题注册机制
title_bar
标题栏子系统 - 自定义标题栏、窗口控制按钮与客户端装饰边框 标题栏与窗口边框组件 - 自定义标题栏、窗口控制按钮与客户端装饰边框。
tree
树形组件 - 分层树视图(文件树、目录树等) 树形组件 - 分层树视图(文件树、目录树等)。
util
工具函数 - 异步超时、延迟执行等通用辅助工具
window_positioner
窗口定位器 - 计算新窗口在屏幕上的初始位置 窗口位置计算器

Macros§

actions
定义并注册可用作动作的单元结构体。对于更复杂的数据类型,请派生 Action
bench_group
定义用于标注了 #[rgpui::bench] 的基准测试的 Criterion 基准测试组。
bench_main
定义 RGPUI Criterion 基准测试组的入口点。
border_style_methods
生成边框(border)样式相关的方法。
box_shadow_style_methods
生成盒子阴影(box shadow)样式相关的方法。
cursor_style_methods
生成光标(cursor)样式相关的方法。
debug_panic
在调试模式下 panic,在发布模式下记录错误及回溯
icon_named
重导出 rgpui_macros 中的过程宏(AppContext、IntoElement、Render 等) icon_named! 宏 - 通过扫描 SVG 目录生成图标枚举及其 IconNamed 实现。
margin_style_methods
生成外边距(margin)样式相关的方法。
maybe
展开为立即调用的函数表达式。适用于在不返回 Option 或 Result 的函数中使用 ? 运算符
overflow_style_methods
生成溢出(overflow)样式相关的方法。
padding_style_methods
生成内边距(padding)样式相关的方法。
position_style_methods
生成定位(position)样式相关的方法。
register_action
重导出 rgpui_macros 中的过程宏(AppContext、IntoElement、Render 等) 用于向 RGPUI 运行时注册动作的过程宏。
text
创建一个新的 Text 元素。
visibility_style_methods
生成可见性样式相关的方法。

Structs§

A11yCallbacks
重导出平台抽象层相关类型 辅助功能适配器的回调函数。
A11ySubtreeBuilder
重导出窗口系统类型 合成子节点的构建器 API。详见 Element::a11y_synthetic_children 的文档。
AlertDialog
重导出对话框组件 AlertDialog 是中断用户以显示重要内容并期望回应的模态对话框。
Anchored
重导出所有内置元素类型 一个锚定元素,可用于显示会避免超出窗口边界的 UI。
AnchoredState
重导出所有内置元素类型 锚定元素用于跟踪其子元素的状态。
Animation
重导出所有内置元素类型 一个可以应用于元素的动画。
AnimationElement
重导出所有内置元素类型 一个将动画应用于另一个元素的 RGPUI 元素
AnyChildElement
重导出所有内置元素类型 类型擦除的子元素,可在渲染前接受 [ChildElementOptions]。
AnyDrag
重导出 App 核心模块(App、Context、Entity、EntityId 等) 包含与活动拖动操作关联的状态,通过在窗口中拖动元素 或从底层平台拖入应用来启动。
AnyElement
重导出元素系统核心类型 动态类型元素,可存储任意元素类型。
AnyEntity
重导出 App 核心模块(App、Context、Entity、EntityId 等) 可以向下转型为 Entity<T> 的动态类型实体引用。
AnyImageCache
重导出所有内置元素类型 一个动态类型的图像缓存,可用于存储任何图像缓存
AnyTooltip
重导出 App 核心模块(App、Context、Entity、EntityId 等) 包含与工具提示关联的状态。仅当在自定义元素上实现工具提示行为时才需要此结构体。 否则,请使用 Div::tooltip
AnyView
重导出视图系统类型 可向下转型为特定 Entity<V> 的动态类型视图句柄。
AnyWeakEntity
重导出 App 核心模块(App、Context、Entity、EntityId 等) 指向给定类型实体的弱引用。
AnyWeakView
重导出视图系统类型 弱引用的动态类型视图句柄。
AnyWindowHandle
重导出窗口系统类型 具有任意根视图类型的窗口句柄,可以向下转型为具有特定根视图类型的窗口。
App
重导出 App 核心模块(App、Context、Entity、EntityId 等) 包含整个应用的状态,作为引用传递给各种回调。 其他 Context 通过解引用转换为此类型。 需要 App 的引用来访问 Entity 的状态。
Application
重导出 App 核心模块(App、Context、Entity、EntityId 等) 对 RGPUI 应用的引用,通常在应用的 main 函数中构建。 除初始配置和启动阶段外,你不会频繁与此类型交互。
ApplicationHandle
重导出 App 核心模块(App、Context、Entity、EntityId 等) 通过 Application::run_embedded 启动的应用的强引用句柄。
ArenaClearNeeded
重导出窗口系统类型 当元素 arena 已被使用时返回,因此必须在下次绘制前清除。
AsyncApp
重导出 App 核心模块(App、Context、Entity、EntityId 等) App 的异步友好版本,具有静态生命周期,因此可以在异步代码的 await 点之间持有。 调用 App::spawn 时会提供此实例,你也可以通过 App::to_async 创建。
AsyncWindowContext
重导出 App 核心模块(App、Context、Entity、EntityId 等) 对应用上下文的克隆 owned 句柄, 与当前任务关联的窗口组合在一起。
AtlasTextureId
重导出平台抽象层相关类型 图集纹理的唯一标识符,包含索引和内容类型。
AtlasTile
重导出平台抽象层相关类型 精灵图集中的一块瓦片,描述其在纹理中的位置和边距。
AutoScroll
重导出所有内置元素类型 管理拖拽选择期间基于定时器的自动滚动。
Background
重导出颜色类型(Hsla、Rgba、HslOverride 等) 背景颜色,可以是纯色或线性渐变。
BackgroundExecutor
重导出执行器类型(ForegroundExecutor、BackgroundExecutor) 指向当前正在运行的执行器的指针, 用于生成后台任务。
Badge
重导出所有内置元素类型 用于在元素上显示计数、圆点或图标的徽标(Badge)。
BindingIndex
重导出快捷键映射相关类型 按键映射中绑定的索引。
Boundary
重导出文本系统相关类型 两行文本之间的边界。
Bounds
重导出几何类型(Point、Size、Bounds 等) 表示二维空间中的矩形区域,包含原点和尺寸。
BoundsRefinement
重导出几何类型(Point、Size、Bounds 等) [#ident] 的可细化版本,详见该文档。
BoxShadow
重导出样式类型(Style、Display、Position 等) box-shadow 属性的可能值
Button
重导出所有内置元素类型 按钮元素。
ButtonCustomVariant
重导出所有内置元素类型 自定义按钮变体样式。
CancelDialog
重导出对话框组件 CancelDialog 动作。
Canvas
重导出所有内置元素类型 画布元素,用于在不定义完整自定义元素的情况下访问底层绘制 API
Capslock
重导出平台抽象层相关类型 某个时间点的 capslock 键状态
Caret
重导出所有内置元素类型 下拉选择箭头(caret)元素。
Checkbox
重导出所有内置元素类型 复选框(Checkbox)元素。
ClipboardItem
重导出平台抽象层相关类型 应复制到剪贴板的剪贴板项目
ClipboardString
重导出平台抽象层相关类型 应复制到剪贴板的剪贴板字符串项目
ConfirmDialog
重导出对话框组件 ConfirmDialog 动作。
ContainerQuery
重导出所有内置元素类型 一个容器查询元素,由 container_query 创建。
ContentMask
重导出窗口系统类型 表示窗口的哪个区域是可见的。超出此遮罩的内容将不会被渲染。 目前仅支持矩形内容遮罩,但我们为遮罩定义了独立类型,以便未来支持更复杂的形状。
Context
重导出 App 核心模块(App、Context、Entity、EntityId 等) 实体上下文 - 针对给定实体类型 T 提供专门操作的上下文。
ContextEntry
重导出快捷键映射相关类型 KeyContext 中的条目
Corners
重导出几何类型(Point、Size、Bounds 等) 表示二维空间中盒子的圆角,如边框圆角。
CornersRefinement
重导出几何类型(Point、Size、Bounds 等) [#ident] 的可细化版本,详见该文档。
DebugBelow
重导出样式类型(Style、Display、Position 等) 使用此结构与你自己元素中的 ‘debug_below’ 样式进行交互。 如果父元素设置了此样式,则此结构将被设置为 RGPUI 中的全局值。
DecorationRun
重导出文本系统相关类型 设置文本段的文本装饰
Deferred
重导出所有内置元素类型 一个延迟子元素绘制的元素,直到所有祖先绘制完成后才绘制, 同时将其布局作为当前元素树的一部分。
DeferredScrollToItem
重导出所有内置元素类型 延迟滚动到指定项的参数。在下次布局时执行滚动。
DevicePixels
重导出几何类型(Point、Size、Bounds 等) 表示显示设备上的物理像素。
Dialog
重导出对话框组件 模态对话框,用于在对话框中显示内容。
DialogAction
重导出对话框组件 对话框确认包装元素,点击后触发确认对话框 action。
DialogButtonProps
重导出对话框组件 对话框按钮属性。
DialogClose
重导出对话框组件 对话框关闭包装元素,点击后触发取消对话框 action。
DialogContent
重导出对话框组件 对话框内容容器。
DialogDescription
重导出对话框组件 对话框描述元素,通常放在 DialogHeader 中提供额外上下文。
DialogFooter
重导出对话框组件 对话框底部区域,通常包含操作按钮。
DialogHeader
重导出对话框组件 对话框头部区域,通常包含 DialogTitle 和 DialogDescription。
DialogOptions
重导出平台抽象层相关类型 对话框选项
DialogTitle
重导出对话框组件 对话框标题元素。
DismissEvent
重导出窗口系统类型 由 ManagedView 的实现者发出,表示视图应被关闭,例如当视图以模态方式呈现时。
DispatchEventResult
重导出窗口系统类型 事件分发结果 — 指示事件是否继续传播以及默认行为是否被阻止。
DisplayId
重导出平台抽象层相关类型 硬件显示器的不透明标识符
Div
重导出所有内置元素类型 Div 元素,用于在 RGPUI 中构建复杂 UI 的一体化元素
DivFrameState
重导出所有内置元素类型 Div 元素的帧状态,包含其子元素的布局 ID。
DivInspectorState
重导出所有内置元素类型 在检查器中显示和操作的交互状态。
DragMoveEvent
重导出所有内置元素类型 当拖拽移动经过此元素时触发的事件,包含给定的状态类型。
Drawable
重导出元素系统核心类型 Element 实现者的包装器,使其可在窗口中绘制。
DummyKeyboardMapper
重导出平台抽象层相关类型 平台键盘映射器的虚拟实现
Edges
重导出几何类型(Point、Size、Bounds 等) 表示二维空间中盒子的边距,如内边距或外边距。
EdgesRefinement
重导出几何类型(Point、Size、Bounds 等) [#ident] 的可细化版本,详见该文档。
ElementClickedState
重导出所有内置元素类型 元素或包含它的分组是否被鼠标点击。
ElementHoverState
重导出所有内置元素类型 元素或包含它的分组是否被悬停。
ElementInputHandler
重导出输入事件相关类型 crate::PlatformInputHandler 的标准实现。在元素绘制时调用 Window::handle_input 并传入实例。
Empty
重导出元素系统核心类型 空元素,不渲染任何内容。
EmptyView
重导出视图系统类型 不渲染任何内容的视图
Entity
重导出 App 核心模块(App、Context、Entity、EntityId 等) 指向由 RGPUI 管理的结构体的强类型引用。 可以向下转型为 Entity<T>
EntityId
重导出 App 核心模块(App、Context、Entity、EntityId 等) 应用中实体的唯一标识符。
ExternalPaths
重导出交互系统相关类型(Focusable、ClickArea 等) 来自平台的路径集合,例如文件拖放时的路径。
FallbackPromptRenderer
重导出窗口系统类型 默认的 RGPUI 回退提示渲染,当平台不支持时使用
Field
重导出表单组件 表单字段元素。
FillOptions
Parameters for the fill tessellator.
FocusHandle
重导出窗口系统类型 用于跟踪和操作窗口中焦点元素的句柄。
FocusId
重导出窗口系统类型 可聚焦元素的全局唯一标识符。
FocusOutEvent
重导出窗口系统类型 订阅 Context::on_focus_out 事件时提供。
FocusTrapContainer
重导出焦点陷阱能力(FocusTrapElement、FocusTrapContainer) 实现焦点陷阱行为的包装元素。
FocusedWindowInfo
重导出平台抽象层相关类型 聚焦窗口信息
Font
重导出文本系统相关类型 用于标识特定字体的配置详情。
FontFallbacks
重导出文本系统相关类型 指定字体可配置的备用字体。 备用字体的字体族名称存储在此结构中。
FontFamilyId
重导出文本系统相关类型 特定字体族的不透明标识符。
FontFeatures
重导出文本系统相关类型 可为给定字体配置的 OpenType 功能。
FontId
重导出文本系统相关类型 特定字体的不透明标识符。
FontMetrics
重导出文本系统相关类型 用于存储字体度量信息的结构体。 用于定义字体的度量尺寸。
FontRun
重导出文本系统相关类型 具有单一字体的文本段,记录该段使用的字体和字符数。
FontWeight
重导出文本系统相关类型 字体的黑度或笔画粗细程度。该值范围为 100.0 到 900.0, 400.0 为常规值。
ForegroundExecutor
重导出执行器类型(ForegroundExecutor、BackgroundExecutor) 指向当前正在运行的执行器的指针, 用于在主线程上生成任务。
Form
重导出表单组件 包含多个表单字段的表单元素。
GestureKinds
重导出手势识别相关类型 参与识别的手势类型集合。
GestureTuning
重导出手势识别相关类型 手势识别器使用的体验常量。尽力提供,取决于各平台的支持, 默认使用 RGPUI 自身(iOS 风格)的值
GlobalElementId
重导出元素系统核心类型 元素的全局唯一标识符,用于跨帧追踪状态。
GlyphId
重导出文本系统相关类型 特定字形的标识符,由 WindowTextSystem::layout_line 返回。
GlyphRasterData
重导出文本系统相关类型 预计算的字形光栅数据,用于高效绘制而无需每个字形缓存查找。
GpuSpecs
GPU 规格信息 - 描述 rgpui 运行所在的 GPU 硬件信息。
GpuiBorrow
重导出 App 核心模块(App、Context、Entity、EntityId 等) 对 RGPUI 拥有的实体的可变引用
GridLocation
重导出几何类型(Point、Size、Bounds 等) 网格布局中的位置。
GridTemplate
重导出样式类型(Style、Display、Position 等) grid-template-* 值的简化表示
GridTemplateRefinement
重导出样式类型(Style、Display、Position 等) [#ident] 的可细化版本,详见该文档。
GroupStyle
重导出所有内置元素类型 给定分组的样式信息。
HighlightStyle
重导出样式类型(Style、Display、Position 等) 高亮样式,类似于 TextStyle,但适用于单一字体、 统一大小和间距的文本。
Hitbox
重导出窗口系统类型 一个可能阻挡先前插入的 hitbox 的矩形区域。 详见 Window::insert_hitbox
HitboxId
重导出窗口系统类型 包含 HitboxBehaviorHitbox 标识符。
Hsla
重导出颜色类型(Hsla、Rgba、HslOverride 等) 一个 HSLA 颜色
Icon
重导出所有内置元素类型 图标元素,用于渲染 SVG 矢量图标。
Image
重导出平台抽象层相关类型 图像,包含格式和字节数据
ImageCacheElement
重导出所有内置元素类型 一个图像缓存元素。
ImageFormatIter
重导出平台抽象层相关类型 An iterator over the variants of ImageFormat
ImageId
重导出资源加载相关类型 图像缓存的唯一标识符
ImageStyle
重导出所有内置元素类型 图像元素的样式。
Img
重导出所有内置元素类型 一个图像元素。
ImgLayoutState
重导出所有内置元素类型 帧之间的图像布局状态
Inspector
重导出检查器相关类型 管理检查器状态 - 当前选中的元素以及检查器是否处于 拾取模式。
InspectorElementId
重导出检查器相关类型 可检查元素的唯一标识符。
InspectorElementPath
重导出检查器相关类型 由元素构造源位置限定的 GlobalElementId
InteractiveElementState
重导出所有内置元素类型 交互元素的每帧状态。用于跟踪有状态交互,如点击和滚动偏移量。
InteractiveText
重导出所有内置元素类型 一个可交互的文本元素。
Interactivity
重导出所有内置元素类型 交互状态结构体。驱动 Div 元素中所有通用交互功能。
InvalidKeystrokeError
重导出平台抽象层相关类型 Keystroke::parse 的错误类型。使用此类型而不是 anyhow::Error,以便 Zed 可以使用 markdown 来显示它。
ItemSize
重导出所有内置元素类型 项及其内容的大小。
ItemSizeLayout
重导出所有内置元素类型 虚拟列表的尺寸布局缓存。
Kbd
重导出所有内置元素类型 用于显示键盘快捷键的标签(Kbd)。
KeyBinding
重导出快捷键映射相关类型 键绑定及其关联的元数据,来自键映射
KeyBindingMetaIndex
重导出快捷键映射相关类型 用于检索与键绑定关联元数据的唯一标识符。 用作用户定义的元数据存储的索引或键, 例如绑定的来源。
KeyContext
重导出快捷键映射相关类型 用于解析是否应在元素树的当前位置分发动作的数据结构。 包含一组标识符和/或键值对,表示键映射的当前上下文。
KeyDownEvent
重导出交互系统相关类型(Focusable、ClickArea 等) 平台的按键按下事件等价类型。
KeyUpEvent
重导出交互系统相关类型(Focusable、ClickArea 等) 平台的按键释放事件等价类型。
KeybindingKeystroke
重导出平台抽象层相关类型 表示可用于键绑定并向用户显示的按键。
KeyboardClickEvent
重导出交互系统相关类型(Focusable、ClickArea 等) 由键盘按键按下并释放生成的点击事件。
Keymap
重导出快捷键映射相关类型 用户应用程序的按键绑定集合。
KeymapVersion
重导出快捷键映射相关类型 当前活动按键映射版本的不透明标识符。 每当添加或移除绑定时,按键映射的版本都会更改。
Keystroke
重导出平台抽象层相关类型 由平台生成的按键及关联元数据
KeystrokeEvent
重导出 App 核心模块(App、Context、Entity、EntityId 等) 按键事件,以及可能关联的动作
Label
重导出所有内置元素类型 文本标签元素,支持可选的次要文本、掩码与高亮功能。
LayoutId
重导出 Taffy 布局引擎类型(AvailableSpace、LayoutId) 布局节点的唯一标识符,在向 Taffy 请求布局时生成。
LineLayout
重导出文本系统相关类型 已排版和样式化的文本行
LineWrapper
重导出文本系统相关类型 RGPUI 行包装器,用于将文本行包装到给定宽度。
LineWrapperHandle
重导出文本系统相关类型 文本系统句柄,可用于计算文本的换行布局
LinearColorStop
重导出颜色类型(Hsla、Rgba、HslOverride 等) 线性渐变中的颜色停止点。
List
重导出所有内置元素类型 一个列表元素
ListOffset
重导出所有内置元素类型 列表项的偏移量,以项索引和距项左上角的像素数表示。
ListPrepaintState
重导出所有内置元素类型 List 元素布局后使用的帧状态。
ListScrollEvent
重导出所有内置元素类型 已转换为列表项术语的滚动事件。
ListState
重导出所有内置元素类型 列表视图必须为列表元素持有的状态。
LongPressEvent
重导出手势识别相关类型 长按手势,移动端的右键菜单触发器。
MediaKeyEvent
重导出平台抽象层相关类型 媒体键事件
Menu
重导出平台抽象层相关类型 应用程序菜单,可以是主菜单或子菜单
Modifiers
重导出平台抽象层相关类型 某个时间点的修饰键状态
ModifiersChangedEvent
重导出交互系统相关类型(Focusable、ClickArea 等) 平台的修饰键变更事件等价类型。
MonochromeSprite
重导出场景系统相关类型 单色精灵 — 从图集纹理中采样的灰度字形或图标。
MouseClickEvent
重导出交互系统相关类型(Focusable、ClickArea 等) 点击事件,当鼠标按键按下并释放时生成。
MouseDownEvent
重导出交互系统相关类型(Focusable、ClickArea 等) 来自平台的鼠标按下事件
MouseExitEvent
重导出交互系统相关类型(Focusable、ClickArea 等) 来自平台的鼠标离开事件,当鼠标离开窗口时生成。
MouseMoveEvent
重导出交互系统相关类型(Focusable、ClickArea 等) 来自平台的鼠标移动事件。
MousePressureEvent
重导出交互系统相关类型(Focusable、ClickArea 等) 来自平台的鼠标压力事件。当用力按压力敏触摸板时生成。 目前仅在 macOS 触摸板上实现。
MouseUpEvent
重导出交互系统相关类型(Focusable、ClickArea 等) 来自平台的鼠标释放事件
NoAction
重导出所有 Action 相关类型 具有特殊处理的动作,如果它是最高优先级匹配项, 则会解除关联的键绑定。 NoAction 动作。
NoopTextSystem
重导出平台抽象层相关类型 空操作文本系统实现,所有方法返回默认值。用于测试或无文本系统需求的平台。
NullPlatformGestures
重导出手势识别相关类型 一个空操作的 PlatformGestures 实现:无原生识别器,使用默认调优。 适用于桌面平台和测试。
OngoingScroll
重导出手势识别相关类型 跟踪一次滚动手势中各事件的主导方向轴。
OsInfo
重导出平台抽象层相关类型 操作系统信息
OsMenu
重导出平台抽象层相关类型 操作系统菜单,由操作系统识别 这允许操作系统为这些菜单提供专门的菜单项
OwnedMenu
重导出平台抽象层相关类型 应用程序菜单,可以是主菜单或子菜单
OwnedOsMenu
重导出平台抽象层相关类型 操作系统菜单,由操作系统识别 这允许操作系统为这些菜单提供专门的行为
PaintQuad
重导出窗口系统类型 在窗口中以给定位置和大小渲染的矩形。 作为参数传递给 Window::paint_quad
PaintSurface
重导出场景系统相关类型 绘制表面 — 用于平台原生表面渲染(如 macOS CVPixelBuffer)。
Path
重导出场景系统相关类型 由一系列顶点和控制点组成的矢量路径,支持填充和变换。
PathBuilder
重导出路径构建器 Path 构建器。
PathId
重导出场景系统相关类型 路径的唯一标识符。
PathPromptOptions
重导出平台抽象层相关类型 文件对话框提示可配置的选项
PathVertex
重导出场景系统相关类型
Percentage
重导出几何类型(Point、Size、Bounds 等) 表示百分比值的类型。
PinchEvent
重导出交互系统相关类型(Focusable、ClickArea 等) 来自平台的捏合手势事件,当用户执行捏合缩放手势(通常在触摸板上)时生成。
Pixels
重导出几何类型(Point、Size、Bounds 等) 表示以像素为单位的长度,UI 框架中的基本度量单位。
PlatformInputHandler
重导出平台抽象层相关类型 平台输入处理器,封装异步窗口上下文和文本输入回调,处理选区、标记文本等 IME 操作。
Point
重导出几何类型(Point、Size、Bounds 等) 描述二维笛卡尔空间中的一个位置。
PointRefinement
重导出几何类型(Point、Size、Bounds 等) [#ident] 的可细化版本,详见该文档。
PolychromeSprite
重导出场景系统相关类型 多色精灵 — 从图集纹理中采样的彩色图像(Emoji、图标等)。
PromptHandle
重导出窗口系统类型 可用于与提示交互的句柄
PromptResponse
重导出窗口系统类型 选择提示选项时触发的事件。 usize 是所选选项的索引,来自传递给提示的动作
Quad
重导出场景系统相关类型 四边形图元 — 矩形区域,支持背景色、边框、圆角和变换。
Radians
重导出几何类型(Point、Size、Bounds 等) 表示弧度角。
Radio
重导出所有内置元素类型 单选按钮(Radio)元素。
RadioGroup
重导出所有内置元素类型 单选按钮组(RadioGroup)元素。
Rems
重导出几何类型(Point、Size、Bounds 等) 表示以 rem 为单位的长度,一种基于窗口字体大小的单位,可通过 Window::set_rem_size 设置。
RenderGlyphParams
重导出文本系统相关类型 字形渲染参数,用作光栅化边界和精灵图集的缓存键。
RenderImage
重导出资源加载相关类型 已缓存并处理的图像,采用 BGRA 格式
RenderImageParams
重导出资源加载相关类型 图像渲染参数,用作精灵图集(Atlas)的缓存键。
RenderSvgParams
重导出 SVG 渲染器相关类型 SVG 渲染参数,用作精灵图集的缓存键。
RenderablePromptHandle
重导出窗口系统类型 可在窗口中渲染的提示句柄
RequestFrameOptions
重导出平台抽象层相关类型 帧请求选项,控制平台何时请求重绘。
Reservation
实体预留槽位 - 由 Context::reserve_entity 返回,用于稍后传递给 Context::insert_entity
RetainAllImageCache
重导出所有内置元素类型 一个 ImageCache 实现,使用 LRU 缓存策略在缓存满时卸载图像
RetainAllImageCacheProvider
重导出所有内置元素类型 一个用于内联创建保留所有图像缓存的提供者结构体
Rgba
重导出颜色类型(Hsla、Rgba、HslOverride 等) 一个 RGBA 颜色
Root
重导出根视图 窗口根视图 - 管理对话框层的全局状态(active_dialogs、焦点恢复等)。
ScaledPixels
重导出几何类型(Point、Size、Bounds 等) 表示考虑设备缩放因子的缩放像素。
Scene
重导出场景系统相关类型 渲染场景 — 收集所有绘制图元(四边形、路径、精灵、阴影等),供 GPU 批量渲染。
Scope
重导出执行器类型(ForegroundExecutor、BackgroundExecutor) Scope 管理一组一起入队并等待的任务。参见 BackgroundExecutor::scoped
ScreenCaptureFrame
重导出平台抽象层相关类型 从屏幕捕获的视频帧。
ScrollAnchor
重导出所有内置元素类型 可以在父元素中滚动的元素。 与 ScrollHandle::scroll_to_active_item 不同,锚定元素不必是父元素的直接子元素。
ScrollHandle
重导出所有内置元素类型 元素可滚动方面的句柄。 用于访问滚动状态(如当前滚动偏移量)和修改滚动状态(如滚动到特定子元素)。
ScrollWheelEvent
重导出交互系统相关类型(Focusable、ClickArea 等) 来自平台的鼠标滚轮事件。
Scrollable
重导出所有内置元素类型 滚动元素包装器,将原元素渲染为滚动区域并叠加滚动条。
ScrollableMask
重导出所有内置元素类型 创建一个可滚动遮罩元素,覆盖父视口并监听滚轮事件。
Scrollbar
重导出所有内置元素类型 滚动区域或均匀列表的滚动条控件。
Separator
重导出所有内置元素类型 垂直或水平方向的分隔线(Separator)。
Shadow
重导出场景系统相关类型 阴影图元 — 支持外阴影和内阴影,可配置模糊半径和颜色。
ShapedGlyph
重导出文本系统相关类型 单个字形,准备绘制
ShapedLine
重导出文本系统相关类型 已塑形和装饰的文本行
ShapedRun
重导出文本系统相关类型 已塑形的文本段
SharedString
重导出 SharedString 相关类型 共享字符串是 RGPUI 任务中可以廉价克隆的不可变字符串。 本质上是 Arc<str>&'static str 的抽象, 当前由 SmolStr 支持。
SharedUri
重导出共享 URI 类型 包含 URI 的 SharedString
Size
重导出几何类型(Point、Size、Bounds 等) 表示二维空间中具有宽度和高度的尺寸结构。
SizeRefinement
重导出几何类型(Point、Size、Bounds 等) [#ident] 的可细化版本,详见该文档。
Skeleton
重导出所有内置元素类型 骨架屏(Skeleton)加载占位元素。
Slider
重导出所有内置元素类型 滑块(Slider)元素。
SliderState
重导出所有内置元素类型 Slider 的状态。
SourceMetadata
重导出平台抽象层相关类型 屏幕捕获源的元数据
Spinner
重导出所有内置元素类型 循环加载的旋转指示器(Spinner)。
Stateful
重导出所有内置元素类型 可以存储状态的元素包装器,在分配 ElementId 后生成。
StrikethroughStyle
重导出样式类型(Style、Display、Position 等) 可以应用于删除线的属性。
StrikethroughStyleRefinement
重导出样式类型(Style、Display、Position 等) [#ident] 的可细化版本,详见该文档。
StrokeOptions
Parameters for the tessellator.
Style
重导出样式类型(Style、Display、Position 等) 可以通过 Styled trait 应用于元素的 CSS 样式
StyleRefinement
重导出样式类型(Style、Display、Position 等) [#ident] 的可细化版本,详见该文档。
StyledText
重导出所有内置元素类型 渲染带有不同样式文本段的文本。
SubpixelSprite
重导出场景系统相关类型 亚像素精灵 — 使用 LCD 抗锯齿渲染的字形,需要 RGB 三通道采样。
Subscription
重导出订阅系统类型(Subscription、SubscriberSet 等) 订阅句柄 - RGPUI 中事件订阅的 RAII 管理器。
Surface
重导出所有内置元素类型 一个 surface 元素。
Svg
重导出所有内置元素类型 SVG 元素,用于渲染 SVG 矢量图形。
SvgRenderer
重导出 SVG 渲染器相关类型 包含渲染 SVG 所需一切的结构体。
Switch
重导出所有内置元素类型 可切换开/关的开关(Switch)元素。
SystemWindowTabController
重导出 App 核心模块(App、Context、Entity、EntityId 等) 管理窗口标签页的控制器。
Tab
重导出根视图 Tab 动作。
TabPrev
重导出根视图 TabPrev 动作。
Tag
重导出所有内置元素类型 Tag 是一个小型状态指示器。
Text
重导出所有内置元素类型 渲染文本的 Element
TextLayout
重导出所有内置元素类型 TextElement 的布局。可用于将索引映射到像素反之亦然。
TextRun
重导出文本系统相关类型 带样式的文本段,用于 crate::TextLayout
TextStyle
重导出样式类型(Style、Display、Position 等) 可用于在 RGPUI 中设置文本样式的属性
TextStyleRefinement
重导出样式类型(Style、Display、Position 等) [#ident] 的可细化版本,详见该文档。
TextSystem
重导出文本系统相关类型 RGPUI 文本渲染子系统。
TileId
重导出平台抽象层相关类型 图集瓦片的唯一标识符,封装 etagere 分配器的序列化 ID。
Tiling
重导出平台抽象层相关类型 描述窗口各边当前的平铺状态
TitlebarOptions
重导出平台抽象层相关类型 窗口标题栏可配置的选项
Toast
重导出所有内置元素类型 Toast 通知结构体
ToastStack
重导出所有内置元素类型 Toast 通知堆栈实体
Tooltip
重导出所有内置元素类型 工具提示元素,可显示文本或自定义内容,支持可选的快捷键信息。
TooltipId
重导出窗口系统类型 工具提示的标识符。
TooltipOverlay
重导出所有内置元素类型 管理 tooltip 生命周期:延迟、宽限期、动画和渲染。
TouchClickEvent
重导出交互系统相关类型(Focusable、ClickArea 等) 由触摸屏上识别的轻触手势生成的点击事件。
TouchEvent
重导出交互系统相关类型(Focusable、ClickArea 等) 来自平台的原始触摸事件。
TouchId
重导出交互系统相关类型(Focusable、ClickArea 等) 标识一个触摸(手指或触控笔接触)的整个生命周期, 从 TouchPhase::StartedTouchPhase::EndedTouchPhase::Cancelled
Transformation
重导出所有内置元素类型 应用于 SVG 元素的变换参数。
TransformationMatrix
重导出场景系统相关类型 表示可应用于元素的二维变换的数据类型。
Transition
重导出过渡动画系统 可组合的过渡动画,描述动画样式变化。
Tray
重导出系统托盘相关类型 系统托盘图标
TrayIconData
重导出系统托盘相关类型 渲染后的图标数据,供平台使用
UTF16Selection
重导出平台抽象层相关类型 表示文本缓冲区中的选区,以 UTF16 字符为单位。 与 Range 不同,选区的头部可能在尾部之前。
Unbind
重导出所有 Action 相关类型 具有特殊处理的动作,当同一按键序列触发指定动作时, 它会解除后续绑定,无论该动作的上下文如何。
Underline
重导出场景系统相关类型 下划线图元 — 支持直线和波浪线样式。
UnderlineStyle
重导出样式类型(Style、Display、Position 等) 可以应用于下划线的属性。
UnderlineStyleRefinement
重导出样式类型(Style、Display、Position 等) [#ident] 的可细化版本,详见该文档。
UniformList
重导出所有内置元素类型 用于高效布局和显示等高元素列表的列表元素。
UniformListFrameState
重导出所有内置元素类型 UniformList 使用的帧状态。
UniformListScrollHandle
重导出所有内置元素类型 用于控制均匀列表滚动位置的句柄。 应将其存储在视图中,并在每帧传递给 uniform_list。
UniformListScrollState
重导出所有内置元素类型 均匀列表的滚动状态,管理滚动句柄和延迟滚动参数。
UtilDeferred
重导出 rgpui_util 中的常用工具(defer、log_err、measure 等) 丢弃时运行闭包的守卫,除非被中止
VirtualList
重导出所有内置元素类型 用于渲染大量不同尺寸条目的虚拟列表组件。
VirtualListFrameState
重导出所有内置元素类型 [VirtualItem] 使用的帧状态。
VirtualListScrollHandle
重导出所有内置元素类型 VirtualList 的滚动句柄。
WeakEntity
重导出 App 核心模块(App、Context、Entity、EntityId 等) 指向给定类型实体的弱引用。
WeakFocusHandle
重导出窗口系统类型 焦点句柄的弱引用。
Window
重导出窗口系统类型 保存特定窗口的状态。
WindowButtonLayout
重导出平台抽象层相关类型 描述标题栏每侧出现的 WindowButton
WindowControls
重导出平台抽象层相关类型 平台支持的窗口控件
WindowHandle
重导出窗口系统类型 具有特定根视图类型的窗口句柄。 注意这不会单独保持窗口存活。
WindowId
重导出窗口系统类型 窗口的唯一标识符。
WindowOptions
重导出平台抽象层相关类型 创建窗口时可配置的变量
WindowParams
重导出平台抽象层相关类型 创建窗口时的配置参数。
WindowTextSystem
重导出文本系统相关类型 RGPUI 文本布局子系统。
WrapBoundary
重导出文本系统相关类型 行被换行时的换行边界
WrappedLine
重导出文本系统相关类型 由文本布局系统塑形、装饰和换行的文本行
WrappedLineLayout
重导出文本系统相关类型 已换行以适应给定宽度的文本行

Enums§

AbsoluteLength
重导出几何类型(Point、Size、Bounds 等) 表示以像素或 rem 为单位的绝对长度。
AccessibleAction
无障碍访问动作类型重导出 An action to be taken on an accessibility node.
ActionBuildError
重导出所有 Action 相关类型 Keystroke::parse 的错误类型。使用此类型而非 anyhow::Error,以便 Zed 可以使用 markdown 来显示它。
AlignContent
重导出样式类型(Style、Display、Position 等) 设置内容之间和周围的空间分布 对于 Flexbox,它控制交叉轴中的对齐 对于 Grid,它控制块轴中的对齐
AlignItems
重导出样式类型(Style、Display、Position 等) 用于控制子节点的对齐方式。 对于 Flexbox,控制交叉轴中的对齐 对于 Grid,控制块轴中的对齐
Anchor
重导出几何类型(Point、Size、Bounds 等) 标识二维盒子上的参考点,用于锚定定位元素。
AnchoredFitMode
重导出所有内置元素类型 将锚定元素适配到窗口内时使用的算法。
AnchoredPositionMode
重导出所有内置元素类型 定位锚定元素时使用的算法。
ArcCow
重导出 ArcCow - 引用计数的写时复制智能指针 基于 Arc 的写时复制智能指针
AssetLogger
重导出资源缓存相关类型 资产加载器,在加载期间记录 ResultErr 变体日志
AtlasKey
重导出平台抽象层相关类型 精灵图集的缓存键,标识一种可渲染的图元(字形、SVG 或图像)。
AtlasTextureKind
重导出平台抽象层相关类型 图集纹理的内容类型,决定颜色格式和渲染路径。
AttentionType
重导出平台抽象层相关类型 用户注意力请求类型
AvailableSpace
重导出 Taffy 布局引擎类型(AvailableSpace、LayoutId) 元素可用于布局的空间
Axis
重导出几何类型(Point、Size、Bounds 等) 二维笛卡尔空间中的轴。
BiometricStatus
重导出平台抽象层相关类型 生物识别状态
BlendMode
重导出场景系统相关类型 渲染四边形时应用的混合模式。
BorderStyle
重导出场景系统相关类型 边框的样式。
ButtonRounded
重导出所有内置元素类型 按钮圆角设置。
ButtonVariant
重导出所有内置元素类型 按钮变体。
ClickEvent
重导出交互系统相关类型(Focusable、ClickArea 等) 点击事件,当鼠标按键或键盘按键按下并释放时生成, 或当触摸屏上识别到轻触手势时生成。
ClipboardEntry
重导出平台抽象层相关类型 剪贴板字符串或剪贴板图像
ColorSpace
重导出颜色类型(Hsla、Rgba、HslOverride 等) 用于颜色插值的颜色空间。
CursorHideMode
重导出 App 核心模块(App、Context、Entity、EntityId 等) 控制 RGPUI 在响应键盘输入时何时隐藏鼠标光标。
CursorStyle
重导出平台抽象层相关类型 光标(指针)样式
Decorations
重导出平台抽象层相关类型 描述窗口当前装饰配置的类型
DefiniteLength
重导出几何类型(Point、Size、Bounds 等) 非自动长度,可用像素、rem 或父元素百分比定义。
DialogType
重导出平台抽象层相关类型 对话框类型
DispatchPhase
重导出窗口系统类型 表示事件分发时的两个不同阶段。
Display
重导出样式类型(Style、Display、Position 等) 设置此节点子项使用的布局
ElementId
重导出窗口系统类型 Element 的标识符。
ElementSize
元素尺寸枚举,用于统一组件的大小规格。
FieldBuilder
重导出表单组件 字段的构建器,可以是字符串、渲染函数或视图。
FileDropEvent
重导出交互系统相关类型(Focusable、ClickArea 等) 来自平台的文件拖放事件,当文件被拖放到窗口上时生成。
Fill
重导出样式类型(Style、Display、Position 等) 可以应用于形状的填充类型。
FillRule
The fill rule defines how to determine what is inside and what is outside of the shape.
FlexDirection
重导出样式类型(Style、Display、Position 等) flexbox 布局主轴的方向。
FlexWrap
重导出样式类型(Style、Display、Position 等) 控制 flex 项目是否强制放在一行或可以换行到多行。
FollowMode
重导出所有内置元素类型 控制列表是否自动跟随末尾的新内容。
FontStyle
重导出文本系统相关类型 允许选择斜体或倾斜字体。
GridPlacement
重导出几何类型(Point、Size、Bounds 等) 项目在网格布局列或行中的放置方式。
GridTemplateMinSize
重导出样式类型(Style、Display、Position 等) 网格布局中列或行的最小尺寸
HighlightsMatch
重导出所有内置元素类型 表示标签文本高亮的匹配类型。
HitboxBehavior
重导出窗口系统类型 hitbox 如何影响鼠标行为。
IconName
重导出所有内置元素类型 内置图标名称枚举,由 icon_named! 宏根据 SVG 目录生成。 IconName:内置图标名称。
ImageAssetLoader
重导出所有内置元素类型 RGPUI 资源系统的图像加载器
ImageCacheError
重导出所有内置元素类型 与图像缓存交互时可能发生的错误。
ImageCacheItem
重导出所有内置元素类型 一个图像缓存项
ImageFormat
重导出平台抽象层相关类型 编辑器支持的图像格式之一(如 PNG、JPEG)- 用于处理剪贴板中的图像
ImageSource
重导出所有内置元素类型 图像内容的来源。
KeyBindingContextPredicate
重导出快捷键映射相关类型 用于解析是否应分发动作的数据结构。 表示一种小型语言,用于描述哪些上下文对应哪些动作。
KeyboardButton
重导出交互系统相关类型(Focusable、ClickArea 等) 表示点击事件中按下的键盘按键的枚举。
Length
重导出几何类型(Point、Size、Bounds 等) 可用像素、rem、父元素百分比或 auto 定义的长度。
LineFragment
重导出文本系统相关类型 可以包装的行片段。
ListAlignment
重导出所有内置元素类型 列表是从上到下还是从下到上滚动。
ListHorizontalSizingBehavior
重导出所有内置元素类型 布局期间应用的水平尺寸调整行为。
ListMeasuringBehavior
重导出所有内置元素类型 布局期间应用的测量行为。
ListSizingBehavior
重导出所有内置元素类型 布局期间应用的尺寸调整行为。
MenuItem
重导出平台抽象层相关类型 菜单中可以的不同类型的菜单项
MouseButton
重导出交互系统相关类型(Focusable、ClickArea 等) 表示按下的鼠标按键的枚举。
NavigationDirection
重导出交互系统相关类型(Focusable、ClickArea 等) 导航方向,如前进或后退。
NetworkStatus
重导出平台抽象层相关类型 网络状态
ObjectFit
重导出样式类型(Style、Display、Position 等) 图像如何适应元素边界的方式。
Orientation
无障碍访问枚举类型重导出(方向、角色、切换状态)
OsAction
重导出平台抽象层相关类型 操作系统操作,由操作系统识别 这允许操作系统为这些操作提供专门的行为
Overflow
重导出样式类型(Style、Display、Position 等) 子元素溢出容器时如何影响布局
OwnedMenuItem
重导出平台抽象层相关类型 菜单中可以的不同类型的菜单项
PathStyle
重导出路径构建器 PathBuilder 的样式
PermissionStatus
重导出平台抽象层相关类型 权限状态
PermissionType
重导出平台抽象层相关类型 权限类型(用于描述应用在系统中申请的权限类别)
Placement
元素放置位置枚举,用于定义元素在四个边缘的放置方向。
PlatformInput
重导出交互系统相关类型(Focusable、ClickArea 等) 对应所有平台输入事件类型的枚举。
Position
重导出样式类型(Style、Display、Position 等) 此项目的定位策略。
PowerSaveBlockerKind
重导出平台抽象层相关类型 电源阻止器类型
PressureStage
重导出交互系统相关类型(Focusable、ClickArea 等) 压力点击事件的阶段。
Primitive
重导出场景系统相关类型 渲染图元 — 场景中所有可绘制元素的枚举。
PrimitiveBatch
重导出场景系统相关类型 图元批处理 — 按类型分组的图元索引范围,用于 GPU 批量绘制。
PromptButton
重导出平台抽象层相关类型 提示对话框按钮
PromptLevel
重导出平台抽象层相关类型 提示样式类型
QuitMode
重导出 App 核心模块(App、Context、Entity、EntityId 等) 定义应用自动退出的时机。
ResizeEdge
重导出平台抽象层相关类型 窗口调整大小的边缘方向
Resource
重导出资源缓存相关类型 表示资源来源的枚举。
Role
无障碍访问枚举类型重导出(方向、角色、切换状态) The type of an accessibility node.
ScrollDelta
重导出交互系统相关类型(Focusable、ClickArea 等) 滚轮事件的滚动增量。
ScrollStrategy
重导出所有内置元素类型 滚动元素的放置位置。
ScrollbarAxis
重导出所有内置元素类型 滚动条轴向。
SeparatorStyle
重导出所有内置元素类型 分隔线的样式。
Side
侧边方向枚举,用于组件中指定左/右位置。
SliderEvent
重导出所有内置元素类型 SliderState 发出的事件。
SliderScale
重导出所有内置元素类型 滑块的刻度模式。
SliderValue
重导出所有内置元素类型 滑块的值,可以是单个值或值范围。
SurfaceSource
重导出所有内置元素类型 surface 内容的来源。
SvgSize
重导出 SVG 渲染器相关类型 SVG 的渲染尺寸。
SystemMenuType
重导出平台抽象层相关类型 系统菜单类型
SystemPowerEvent
重导出平台抽象层相关类型 系统电源事件
TagVariant
重导出所有内置元素类型 Tag 的变体。
TextAlign
重导出样式类型(Style、Display、Position 等) 如何对齐元素内的文本
TextOverflow
重导出样式类型(Style、Display、Position 等) 如何截断超出元素宽度的文本
TextRenderingMode
重导出平台抽象层相关类型 绘制字形时使用的文本渲染模式。
ThermalState
重导出平台抽象层相关类型 系统热状态
ToastPosition
重导出所有内置元素类型 Toast 位置枚举
Toggled
无障碍访问枚举类型重导出(方向、角色、切换状态)
TouchPhase
重导出交互系统相关类型(Focusable、ClickArea 等) 触摸移动事件的阶段。 基于 winit 的同名枚举。
TrayIconEvent
重导出系统托盘相关类型 系统托盘图标事件类型
TrayMenuItem
重导出系统托盘相关类型 系统托盘菜单项类型
TruncateFrom
重导出文本系统相关类型 确定从开头、结尾还是中间截断文本。
Visibility
重导出样式类型(Style、Display、Position 等) 类似于 CSS visibility 属性的可见性值
WhiteSpace
重导出样式类型(Style、Display、Position 等) 如何处理文本中的空白字符
WindowAppearance
重导出平台抽象层相关类型 窗口的外观,由操作系统定义。
WindowBackgroundAppearance
重导出平台抽象层相关类型 窗口本身的背景外观,在没有内容或内容透明时显示。
WindowBounds
重导出平台抽象层相关类型 表示窗口打开时应处于的状态
WindowButton
重导出平台抽象层相关类型 WindowButtonLayout 中使用的窗口控制按钮类型。
WindowControlArea
重导出窗口系统类型 对应平台窗口的窗口控制区域类型。
WindowDecorations
重导出平台抽象层相关类型 描述窗口外观类型的枚举
WindowKind
重导出平台抽象层相关类型 要创建的窗口类型
WindowPosition
重导出平台抽象层相关类型 语义化窗口位置,用于计算窗口的屏幕位置

Constants§

DEFAULT_ADDITIONAL_WINDOW_SIZE
重导出窗口系统类型 6:5 宽高比的最小窗口尺寸,用于功能性附加窗口(如设置和规则库窗口)。
DEFAULT_WINDOW_SIZE
重导出窗口系统类型 未指定窗口大小时使用的默认尺寸。
KEYSTROKE_PARSE_EXPECTED_MESSAGE
重导出平台抽象层相关类型 按键解析器期望的格式说明,以 “Expected …” 开头
LOADING_DELAY
重导出所有内置元素类型 显示加载状态前的延迟。
MAX_BUTTONS_PER_SIDE
重导出平台抽象层相关类型 标题栏每侧最大的 WindowButton 数量。
SHUTDOWN_TIMEOUT
重导出 App 核心模块(App、Context、Entity、EntityId 等) 应用完全退出前,Context::on_app_quit 返回的 future 可运行的最大时长。
SMOOTH_SVG_SCALE_FACTOR
重导出 SVG 渲染器相关类型 渲染 SVG 时,我们以两倍大小渲染以获得更高质量的结果。
SUBPIXEL_VARIANTS_X
重导出文本系统相关类型 X 轴方向的亚像素字形变体数量。
SUBPIXEL_VARIANTS_Y
重导出文本系统相关类型 Y 轴方向的亚像素字形变体数量。

Statics§

ANIMATION_DURATION
重导出对话框组件 对话框动画时长(秒)。

Traits§

Action
重导出所有 Action 相关类型 动作用于实现键盘驱动的 UI。声明动作后,可以在键映射中将按键绑定到该动作, 并在元素树中为该动作设置监听器。
Along
重导出几何类型(Point、Size、Bounds 等) 沿特定轴访问对应单位的 trait。
AnimationExt
重导出所有内置元素类型 一个扩展 trait,用于为元素和组件添加动画包装器。
AppContext
应用上下文 trait - RGPUI 中最核心的 trait,允许不同的上下文类型在某些操作中互换使用。
AsKeystroke
重导出平台抽象层相关类型 这是一个辅助 trait,用于简化某些函数的实现
Asset
重导出资源缓存相关类型 异步资产加载的 trait。
AssetSource
重导出资源加载相关类型 应用程序使用的资源来源。
AxisExt
用于扩展 crate::Axis 的便捷方法。
BorrowAppContext
应用上下文借用 trait - 为可以互换使用的上下文自动实现全局状态管理方法。
ButtonVariants
重导出所有内置元素类型 按钮变体 trait,提供设置各种变体样式的方法。
ChildElement
重导出所有内置元素类型 可携带索引的子元素 trait。
DialogFooterButton
重导出对话框组件 对话框按钮辅助 trait,用于标记取消/确认按钮。
Disableable
定义可以被禁用的元素 trait。
Element
重导出元素系统核心类型 参与窗口内容布局和绘制的类型需实现此特征。 元素形成一棵树,按照 Taffy 实现的 Web 布局规则进行布局。 可通过实现此特征创建自定义元素,详见模块文档。
ElementExt
重导出所有内置元素类型 用于扩展 crate::ParentElement 元素的额外功能。
EntityInputHandler
重导出输入事件相关类型 实现此 trait 以允许视图在实现编辑器、字段等时处理文本输入。
EventEmitter
事件发射器 trait - 用于绑定实体类型与其可发出的事件类型。
FocusTrapElement
重导出焦点陷阱能力(FocusTrapElement、FocusTrapContainer) 为交互元素添加 focus_trap 能力的扩展 trait。
Focusable
重导出窗口系统类型 Focusable 允许视图的用户轻松聚焦它 (使用 window.focus_view(cx, view))
FocusableExt
为可聚焦元素添加焦点光环(focus ring)的 trait。
GestureEvent
重导出交互系统相关类型(Focusable、ClickArea 等) 来自平台的手势事件。
Global
重导出全局状态相关类型 全局状态标记 trait - 实现此 trait 的类型可以存储在 RGPUI 的全局状态中。
Half
重导出几何类型(Point、Size、Bounds 等) 提供可以计算值一半的 trait。
IconNamed
重导出所有内置元素类型 实现该 trait 的类型可以自动转换为 Icon
ImageCache
重导出所有内置元素类型 一个可处理图像缓存和卸载的对象。 此 trait 的实现应确保图像在不再需要时从所有窗口中移除。
ImageCacheProvider
重导出所有内置元素类型 一个可在渲染阶段创建 ImageCache 的对象。 有关更多信息,请参阅 ImageCache trait。
InputEvent
重导出交互系统相关类型(Focusable、ClickArea 等) 来自平台输入源的事件。
InputHandler
重导出平台抽象层相关类型 Zed 的平台 IME 系统文本输入处理接口。 目前是 NSTextInputClient API 的 1:1 映射:
InteractiveElement
重导出所有内置元素类型 希望使用标准 RGPUI 事件处理器且不需要任何状态的元素的 trait。
InteractiveElementExt
重导出所有内置元素类型 用于扩展 crate::InteractiveElement 的额外事件方法。
IntoElement
重导出元素系统核心类型 可转换为元素的类型需实现此特征。
IsZero
重导出几何类型(Point、Size、Bounds 等) 用于检查值是否为零的 trait。
KeyEvent
重导出交互系统相关类型(Focusable、ClickArea 等) 来自平台的按键事件。
Lerp
重导出过渡动画系统 支持线性插值的类型。
ManagedView
重导出窗口系统类型 ManagedView 是一种视图(如 Modal、Popover、Menu 等), 其生命周期由另一个视图管理。
MouseEvent
重导出交互系统相关类型(Focusable、ClickArea 等) 来自平台的鼠标事件。
ParentElement
重导出元素系统核心类型 辅助特征,为可接受任意数量和类型子元素的元素提供统一接口。
Platform
重导出平台抽象层相关类型 跨平台应用抽象层,由各平台 crate(rgpui-windows、rgpui-macos、rgpui-linux、rgpui-web)实现。
PlatformAtlas
重导出平台抽象层相关类型 平台精灵图集抽象 — 管理 GPU 纹理中的图元缓存(字形、SVG、图像)。
PlatformDisplay
重导出平台抽象层相关类型 平台显示器句柄,代表一个物理显示器或笔记本屏幕。
PlatformGestures
重导出手势识别相关类型 平台手势识别服务。
PlatformKeyboardLayout
重导出平台抽象层相关类型 平台特定键盘布局的 trait
PlatformKeyboardMapper
重导出平台抽象层相关类型 平台特定键盘映射的 trait
PlatformTextSystem
重导出平台抽象层相关类型 平台文本系统抽象 — 提供字体加载、字形光栅化、文本排版等能力。各平台需实现此 trait。
PlatformWindow
重导出平台抽象层相关类型 平台原生窗口抽象,由各平台 crate 实现,提供窗口管理、输入、渲染等能力。
Prompt
重导出窗口系统类型 可在窗口中渲染的提示
ReadGlobal
重导出全局状态相关类型 从上下文中读取全局值的 trait。
Render
重导出元素系统核心类型 可绘制到屏幕的对象。此特征区分“视图“与其他实体。 视图是实现了 Render 并绘制到屏幕的 Entity
RenderOnce
重导出元素系统核心类型 可对实现此特征的类型派生 IntoElement。 用于从纯数据构建可复用的 组件。组件即特定元素模式的配方。 RenderOnce 允许调用此模式,同时保持元素 API 的流式构建器风格。
ResultExt
重导出 rgpui_util 中的常用工具(defer、log_err、measure 等) Result 类型的扩展特征,提供日志工具
ScreenCaptureSource
重导出平台抽象层相关类型 可被捕获的屏幕视频内容源。
ScreenCaptureStream
重导出平台抽象层相关类型 从屏幕捕获的视频流。
ScrollableElement
重导出所有内置元素类型 可滚动元素的扩展 trait。
ScrollbarHandle
重导出所有内置元素类型 可被滚动条读取和设置偏移量的滚动句柄 trait。
Selectable
定义可以被选中的元素 trait。
Sizable
定义元素尺寸的 trait,默认使用 Size::Medium
StatefulInteractiveElement
重导出所有内置元素类型 希望使用需要状态的标准 RGPUI 交互功能的元素的 trait。
StyleSized
应用元素尺寸相关样式的 trait。
Styled
重导出样式化 trait 可设置样式的元素的 trait。 使用此功能可选择使用实用程序 CSS 类似样式 API。
StyledExt
扩展 crate::Styled 的特定样式方法。
StyledImage
重导出所有内置元素类型 设置图像元素的样式。
TaskExt
重导出执行器类型(ForegroundExecutor、BackgroundExecutor) Task<Result<T, E>> 的扩展 trait,添加了带有 &App 上下文的 detach_and_log_err
TryFutureExt
重导出 rgpui_util 中的常用工具(defer、log_err、measure 等) Future 类型的扩展特征,提供日志工具
TryFutureExtBacktrace
重导出 rgpui_util 中的常用工具(defer、log_err、measure 等) Future 类型的扩展特征,提供回溯日志
UniformListDecoration
重导出所有内置元素类型 UniformList 的装饰物。可用于渲染缩进指南或其他视觉效果。
UpdateGlobal
重导出全局状态相关类型 在上下文中更新全局值的 trait。
View
重导出视图系统类型 参与 RGPUI 响应式图的可渲染物 — 这是 RenderRenderOnce 背后的统一模型。
VisualContext
可视化上下文 trait - RGPUI 中需要窗口才能运行的上下文类型。
WindowExt
重导出窗口扩展 trait 为 Window 添加对话框等功能的扩展 trait。

Functions§

anchored
重导出所有内置元素类型 创建一个会避免超出窗口边界的锚定元素。 子元素不应有 margin,以避免测量问题。
auto
重导出几何类型(Point、Size、Bounds 等) 返回表示自动长度的 Length
black
重导出颜色类型(Hsla、Rgba、HslOverride 等) Hsla 中的纯黑色
block_on
重导出 pollster::block_on 用于在同步上下文中阻塞等待异步任务 Block the thread until the future is ready.
blue
重导出颜色类型(Hsla、Rgba、HslOverride 等) Hsla 中的蓝色
bounce
重导出所有内置元素类型 应用给定的缓动函数,先正向再反向
bounds
重导出几何类型(Point、Size、Bounds 等) 使用给定的原点和尺寸创建一个 bounds
box_shadow
创建一个 CSS 风格的对象阴影 BoxShadow
canvas
重导出所有内置元素类型 使用给定的绘制回调构造画布元素。 适用于向视图添加短期自定义绘制。
checkerboard
重导出颜色类型(Hsla、Rgba、HslOverride 等) 创建棋盘图案背景
combine_highlights
重导出样式类型(Style、Display、Position 等) 组合并合并两个迭代器中的高亮和范围。
conic_gradient
重导出颜色类型(Hsla、Rgba、HslOverride 等) 创建锥形(扫描)渐变背景。
container_query
重导出所有内置元素类型 使用给定的渲染回调构造容器查询元素。 回调接收布局期间分配给元素的大小, 并返回要在其中显示的内容。
cubic_bezier
重导出过渡动画系统 三次贝塞尔缓动函数,类似 CSS cubic-bezier
defer
重导出 rgpui_util 中的常用工具(defer、log_err、measure 等) 运行给定函数,当返回值被丢弃时(除非被中止)
deferred
重导出所有内置元素类型 构建一个 Deferred 元素,延迟其子元素的布局和绘制。
div
重导出所有内置元素类型 构建一个新的 Div 元素
ease_in_cubic
重导出过渡动画系统 三次缓入——缓慢开始,快速结束。适合退出动画。
ease_in_out
重导出所有内置元素类型 二次缓入缓出函数,起始和结束较慢,中间加速
ease_in_out_cubic
重导出过渡动画系统 三次缓入缓出——开始和结束都缓慢。适合位置过渡动画。
ease_out_cubic
重导出过渡动画系统 三次缓出——快速开始,缓慢结束。适合进入动画。
ease_out_quint
重导出所有内置元素类型 Quint 缓出函数,起始快速后减速至停止
fallback_prompt_renderer
重导出窗口系统类型 使用此函数与 App::set_prompt_builder 结合,可强制 RGPUI 始终使用回退提示渲染器
field
重导出表单组件 创建一个新的表单字段。
fill
重导出窗口系统类型 使用给定边界和背景颜色创建填充四边形。
font
重导出文本系统相关类型 根据给定名称获取 Font
font_name_with_fallbacks
重导出文本系统相关类型 将已知的虚拟字体名称映射到其实际等效字体。
font_name_with_fallbacks_shared
重导出文本系统相关类型 类似 font_name_with_fallbacks,但接受和返回 SharedString 引用。
generate_list_of_all_registered_actions
重导出所有 Action 相关类型 生成所有已注册动作的列表。 适用于将可用动作列表转换为适合静态分析的格式, 例如验证键映射或生成文档。
get_gamma_correction_ratios
重导出平台抽象层相关类型 计算亚像素文本渲染的伽马校正比率。
green
重导出颜色类型(Hsla、Rgba、HslOverride 等) Hsla 中的绿色
guess_compositor
重导出平台抽象层相关类型 返回当前使用的合成器名称(猜测), 不会尝试连接到指定的合成器。
h_flex
返回一个水平 flex 布局的 Div
h_form
重导出表单组件 创建一个水平布局的新表单。
h_virtual_list
重导出所有内置元素类型 创建水平方向的 VirtualList
hash
重导出资源缓存相关类型 使用快速、非加密安全的哈希函数从数据获取标识符
horizontal_scroll_area
重导出所有内置元素类型 只消费水平滚轮增量的水平滚动视口。
hsla
重导出颜色类型(Hsla、Rgba、HslOverride 等) 使用普通值构造 Hsla 对象
image_cache
重导出所有内置元素类型 一个图像缓存元素,其所有子 img 元素将使用此元素指定的缓存。 注意这可以简单地传递 Entity<T: ImageCache>
img
重导出所有内置元素类型 创建一个新的图像元素。
is_no_action
重导出所有 Action 相关类型 返回此动作是否表示已移除的键绑定。
is_unbind
重导出所有 Action 相关类型 返回此动作是否表示解除绑定标记。
linear
重导出所有内置元素类型 线性缓动函数,即 delta 本身
linear_color_stop
重导出颜色类型(Hsla、Rgba、HslOverride 等) 创建新的线性颜色停止点。
linear_gradient
重导出颜色类型(Hsla、Rgba、HslOverride 等) 创建 LinearGradient 背景颜色。
list
重导出所有内置元素类型 创建一个新的列表元素
log_err
重导出 rgpui_util 中的常用工具(defer、log_err、measure 等)
measure
重导出 rgpui_util 中的常用工具(defer、log_err、measure 等) 如果设置了 ZED_MEASUREMENTS 环境变量,则测量闭包的执行时间
multi_stop_linear_gradient
重导出颜色类型(Hsla、Rgba、HslOverride 等) 创建最多 4 个颜色停止点的线性渐变。
opaque_grey
重导出颜色类型(Hsla、Rgba、HslOverride 等) Hsla 中的不透明灰色,值将被限制在 [0, 1] 范围内
outline
重导出窗口系统类型 使用给定边界、边框颜色和 1px 边框宽度创建矩形轮廓
pattern_slash
重导出颜色类型(Hsla、Rgba、HslOverride 等) 创建哈希图案背景
percentage
重导出几何类型(Point、Size、Bounds 等) 从完整圆的百分比生成一个 Radians
phi
重导出几何类型(Point、Size、Bounds 等) 返回黄金比例,即 ~(1.0 + sqrt(5.0)) / 2.0
point
重导出几何类型(Point、Size、Bounds 等) 使用给定的 x 和 y 坐标构造一个新的 Point<T>
post_inc
重导出 rgpui_util 中的常用工具(defer、log_err、measure 等) 递增一个值并返回先前的值
pulsating_between
重导出所有内置元素类型 用于脉动 alpha 值的自定义缓动函数,在接近 0.1 时减速
px
重导出几何类型(Point、Size、Bounds 等) 构造表示以像素为单位长度的 Pixels 值。
quad
重导出窗口系统类型 使用给定参数创建四边形。
quadratic
重导出所有内置元素类型 二次缓动函数,delta * delta
radial_gradient
重导出颜色类型(Hsla、Rgba、HslOverride 等) 创建径向渐变背景。
radians
重导出几何类型(Point、Size、Bounds 等) 从原始值创建一个 Radians
red
重导出颜色类型(Hsla、Rgba、HslOverride 等) Hsla 中的红色
relative
重导出几何类型(Point、Size、Bounds 等) 构造表示父元素尺寸相对比例的 DefiniteLength
rems
重导出几何类型(Point、Size、Bounds 等) 构造表示以 rem 为单位长度的 Rems 值。
retain_all
重导出所有内置元素类型 构造一个保留所有的图像缓存,使用与给定 ID 关联的元素状态。
rgb
重导出颜色类型(Hsla、Rgba、HslOverride 等) 将 RGB 十六进制颜色代码转换为颜色类型
rgba
重导出颜色类型(Hsla、Rgba、HslOverride 等) 将 RGBA 十六进制颜色代码转换为 Rgba
size
重导出几何类型(Point、Size、Bounds 等) 使用给定的宽度和高度构造一个新的 Size<T>
solid_background
重导出颜色类型(Hsla、Rgba、HslOverride 等) 创建纯色背景颜色。
some_or_debug_panic
重导出 rgpui_util 中的常用工具(defer、log_err、measure 等) 返回选项值,如果在调试模式下为 None 则 panic
svg
重导出所有内置元素类型 创建一个新的 SVG 元素。
swap_rgba_pa_to_bgra
重导出颜色类型(Hsla、Rgba、HslOverride 等) 从预乘 alpha 的 RGBA 转换为 BGRA
transparent_black
重导出颜色类型(Hsla、Rgba、HslOverride 等) Hsla 中的透明黑色
transparent_white
重导出颜色类型(Hsla、Rgba、HslOverride 等) Hsla 中的透明白色
uniform_list
重导出所有内置元素类型 uniform_list 为一组等高元素提供延迟渲染。 当渲染到设置了 overflow-y: hidden 和固定(或最大)高度的容器中时, uniform_list 只会渲染可见子集的元素。
v_flex
返回一个垂直 flex 布局的 Div
v_form
重导出表单组件 创建一个垂直布局的新表单。
v_virtual_list
重导出所有内置元素类型 创建垂直方向的 VirtualList
white
重导出颜色类型(Hsla、Rgba、HslOverride 等) Hsla 中的纯白色
window_paddings
重导出窗口边框工具 获取窗口内容的内边距。
yellow
重导出颜色类型(Hsla、Rgba、HslOverride 等) Hsla 中的黄色

Type Aliases§

AlignSelf
重导出样式类型(Style、Display、Position 等) 用于控制如何对齐指定的节点。 覆盖父节点的 AlignItems 属性。 对于 Flexbox,它控制交叉轴中的对齐 对于 Grid,它控制块轴中的对齐
DrawOrder
重导出场景系统相关类型 绘制顺序值,数值越小越先绘制。
ImageLoadingTask
重导出所有内置元素类型 与图像缓存关联的图像加载任务。
ImgResourceLoader
重导出所有内置元素类型 img() 元素使用的资源加载器的类型别名。
InspectorRenderer
重导出检查器相关类型 在 App 上设置的用于渲染检查器 UI 的函数。
JustifyContent
重导出样式类型(Style、Display、Position 等) 设置内容之间和周围的空间分布 对于 Flexbox,它控制主轴中的对齐 对于 Grid,它控制内联轴中的对齐
JustifyItems
重导出样式类型(Style、Display、Position 等) 用于控制如何对齐子节点。 不适用于 Flexbox,如果在 flex 容器上指定将被忽略 对于 Grid,它控制内联轴中的对齐
JustifySelf
重导出样式类型(Style、Display、Position 等) 用于控制如何对齐指定的节点。 覆盖父节点的 JustifyItems 属性。 不适用于 Flexbox,如果在 flex 子项上指定将被忽略 对于 Grid,它控制内联轴中的对齐
PathVertex_ScaledPixels
重导出场景系统相关类型 路径顶点的缩放像素类型别名(已废弃,使用 PathVertex<ScaledPixels>)。
Result
重导出 anyhow::Result 作为统一错误类型 Result<T, Error>
RunnableVariant
重导出平台抽象层相关类型 带元数据的可运行任务类型别名。 之前是单变体枚举,现在简化为直接类型别名。
TimerResolutionGuard
重导出平台抽象层相关类型
Transform
Alias for euclid::default::Transform2D<f32>

Attribute Macros§

bench
重导出 rgpui_macros 中的过程宏(AppContext、IntoElement、Render 等) #[rgpui::bench] 标注一个使用 RGPUI 支持的 Criterion 基准测试。
ctor
重导出 ctor 宏,用于在程序启动前执行初始化函数
property_test
重导出 rgpui_macros 中的过程宏(AppContext、IntoElement、Render 等) #[rgpui::property_test] 属性测试宏 - 支持基于属性的测试(property-based testing)。
test
重导出 rgpui_macros 中的过程宏(AppContext、IntoElement、Render 等) #[rgpui::test] 测试属性宏 - 用于注解需要 RGPUI 支持的测试函数。

Derive Macros§

Action
Action 派生宏 - 用于为结构体自动实现 rgpui::Action 特质。
AppContext
重导出 rgpui_macros 中的过程宏(AppContext、IntoElement、Render 等) AppContext 派生宏 - 用于为持有 &mut App 的结构体生成应用上下文实现。
IntoElement
重导出 rgpui_macros 中的过程宏(AppContext、IntoElement、Render 等) IntoElement 派生宏 - 用于将实现了 RenderOnce 特质的类型转换为 UI 组件。
VisualContext
重导出 rgpui_macros 中的过程宏(AppContext、IntoElement、Render 等) VisualContext 派生宏 - 用于为持有 &mut Window 并实现了 AppContext 的类型生成可视化上下文实现。