#values #run-time #window #manipulate #view

debugui

将 GUI 窗口添加到您的程序中,以在运行时查看和操作值

1 个不稳定版本

0.1.0 2023年9月26日

#994 in GUI

MIT/Apache

27KB
607 代码行

允许您通过 GUI 窗口在运行时操作程序中的值。

请参阅 示例 了解如何将值插入 debugui

demo image

设置

如果您想在 CLI 程序中使用它,它将自动在单独的线程中创建事件循环并为您创建窗口。

这仅在支持在主线程之外创建事件循环的平台 上有效

请参见下文,了解如何在 GUI 程序中使用 debugui

启用

默认情况下,debugui 没有依赖项,其宏不会产生任何效果。

您必须设置 enabled 功能才能使用 debugui 窗口。

这样做是为了让您轻松地将 debugui 包集成到项目中,但仍然生成一个似乎未使用任何您自己的源代码的构建。

与现有的 winit 事件循环集成

如果您已经有了自己的事件循环,debugui 将无法创建第二个,因此您必须按照以下方式进行集成

    // Call this after creating your event loop and wgpu instance
    debugui::init_on!(
        debug_ui_resources, // name this as you wish
        &mut event_loop, // winit::event_loop
        &instance, // &wgpu::Instance
        &adapter, // &wgpu::Adapter
        &device, // any type that implements Borrow<wgpu::Device> i.e. you can pass an Arc<wgpu::Device>, &wgpu::Device, etc.
        &queue // // any type that implements Borrow<wgpu::Queue>
    );

    // ... your code

    event_loop.run(|event, _, control_flow| {
        // this returns true if the event was for debugui's window
        if debugui::feed_on!(debug_ui_resources, &event, control_flow) {
            return;
        }

        // ... your code
    }

依赖项

~0–34MB
~505K SLoC