{"repo":"emilk/egui","free":true,"listed":false,"github":"https://github.com/emilk/egui","clone":"git clone https://github.com/emilk/egui.git","description":"egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native","language":"Rust","stars":30069,"topics":["egui","game-development","gamedev","gui","imgui","rust","wasm"],"license":"Apache-2.0","category":"dev_tool","readme_excerpt":"# 🖌 egui: an easy-to-use GUI in pure Rust\n\n[<img alt=\"github\" src=\"https://img.shields.io/badge/github-emilk/egui-8da0cb?logo=github\" height=\"20\">](https://github.com/emilk/egui)\n[![Latest version](https://img.shields.io/crates/v/egui.svg)](https://crates.io/crates/egui)\n[![Documentation](https://docs.rs/egui/badge.svg)](https://docs.rs/egui)\n[![unsafe forbidden](https://img.shields.io/badge/unsafe-forbidden-success.svg)](https://github.com/rust-secure-code/safety-dance/)\n[![Build Status](https://github.com/emilk/egui/workflows/Rust/badge.svg)](https://github.com/emilk/egui/actions/workflows/rust.yml)\n[![MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/emilk/egui/blob/main/LICENSE-MIT)\n[![Apache](https://img.shields.io/badge/license-Apache-blue.svg)](https://github.com/emilk/egui/blob/main/LICENSE-APACHE)\n[![Discord](https://img.shields.io/discord/900275882684477440?label=egui%20discord)](https://discord.gg/JFcEma9bJq)\n\n\n<br/>\n<div align=\"center\">\n<a href=\"https://www.egui.rs/\"><img src=\"https://github.com/user-attachments/assets/cfaf1d43-9338-490f-ae82-99b420baa1b0\" width=\"400\"></a>\n\n<br/>\n\n👉 [Click to run the web demo](https://www.egui.rs/#demo) 👈\n</div>\n\negui (pronounced \"e-gooey\") is a simple, fast, and highly portable immediate mode GUI library for Rust. egui runs on the web, natively, and [in your favorite game engine](#integrations).\n\negui aims to be the easiest-to-use Rust GUI library, and the simplest way to make a web app in Rust.\n\negui can be used anywhere you can draw textured triangles, which means you can easily integrate it into your game engine of choice.\n\n[`eframe`](https://github.com/emilk/egui/tree/main/crates/eframe) is the official egui framework, which supports writing apps for Web, Linux, Mac, Windows, and Android.\n\n\n## Example\n\n``` rust\nui.heading(\"My egui Application\");\nui.horizontal(|ui| {\n    ui.label(\"Your name: \");\n    ui.text_edit_singleline(&mut name);\n});\nui.add(egui::Slider::new(&mut age, 0..=120).text(\"age\"));\nif ui.button(\"Increment\").clicked() {\n    age += 1;\n}\nui.label(format!(\"Hello '{name}', age {age}\"));\nui.image(egui::include_image!(\"ferris.png\"));\n```\n\n<img alt=\"Dark mode\" src=\"https://github.com/user-attachments/assets/3b446d29-99d8-4c82-86bb-4d8ef0516017\"> &nbsp; &nbsp; <img alt=\"Light mode\" src=\"https://github.com/user-attachments/assets/a5e7da93-89a8-4ba0-86b8-0fa2228a4f62\" height=\"278\">\n\n## Sections:\n\n* [Example](#example)\n* [Quick start](#quick-start)\n* [Demo](#demo)\n* [Goals](#goals)\n* [State / features](#state)\n* [Dependencies](#dependencies)\n* [Who is egui for?](#who-is-egui-for)\n* [Integrations](#integrations)\n* [Why immediate mode](#why-immediate-mode)\n* [FAQ](#faq)\n* [Other](#other)\n* [Credits](#credits)\n\n([egui 的中文翻译文档 / chinese translation](https://github.com/Re-Ch-Love/egui-doc-cn/blob/main/README_zh-hans.md))\n\n\n## Quick start\n\nThere are simple examples in [the `examples/` folder](https://github.com/emilk/egui/blob/main/examples/). If you want to write a web app, then go to <https://github.com/emilk/eframe_template/> and follow the instructions. The official docs are at <https://docs.rs/egui>. For inspiration and more examples, check out the [the egui web demo](https://www.egui.rs/#demo) and follow the links in it to its source code.\n\nIf you want to integrate egui into an existing engine, go to the [Integrations](#integrations) section.\n\nIf you have questions, use [GitHub Discussions](https://github.com/emilk/egui/discussions). There is also [an egui discord server](https://discord.gg/JFcEma9bJq). If you want to contribute to egui, please read the [Contributing Guidelines](https://github.com/emilk/egui/blob/main/CONTRIBUTING.md).\n\n## Demo\n\n[Click to run egui web demo](https://www.egui.rs/#demo) (works in any browser with Wasm and WebGL support). Uses [`eframe`](https://github.com/emilk/egui/tree/main/crates/eframe).\n\nTo test the demo app locally, run `cargo run --release -p egui_demo_app`.\n\nThe native backend is [`egui-wgpu`](https://github.com/emilk/egui/tree/main/crates/egui-wgpu) (using [`wgpu`](https://crates.io/crates/wgpu)) and should work out-of-the-box on Mac and Windows, but on Linux you need to first run:\n\n`sudo apt-get install -y libclang-dev libgtk-3-dev libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev libssl-dev`\n\nOn Fedora Rawhide you need to run:\n\n`dnf install clang clang-devel clang-tools-extra libxkbcommon-devel pkg-config openssl-devel libxcb-devel gtk3-devel atk fontconfig-devel`\n\n**NOTE**: This is just for the demo app - egui itself is completely platform agnostic!\n\n## Goals\n\n* The easiest to use GUI library\n* Responsive: target 60 Hz in debug build\n* Friendly: difficult to make mistakes, and shouldn't panic\n* Portable: the same code works on the web and as a native app\n* Easy to integrate into any environment\n* A simple 2D graphics API for custom painting ([`epaint`](https://docs.rs/epaint)).\n* Pure immediate mode: no callbacks\n* Extensible: [easy to write your own widgets for egui](https://github.com/emilk/egui/blob/main/crates/egui_demo_lib/src/demo/toggle_switch.rs)\n* Modular: You should be able to use small parts of egui and combine them in new ways\n* Safe: there is no `unsafe` code in egui\n* Minimal dependencies\n\negui is *not* a framework. egui is a library you call into, not an environment you program for.\n\n**NOTE**: egui does not claim to have reached all these goals yet! egui is still work in progress.\n\n### Non-goals\n\n* Become the most powerful GUI library\n* Native looking interface\n\n## State\n\negui is in active development. It works well for what it does, but it lacks many features and the interfaces are still in flux. New releases will have breaking changes.\n\nStill, egui can be used to create professional looking applications, like [the Rerun Viewer](https://app.rerun.io/).\n\n### Features\n\n* Widgets: label, text button, hyperlink, checkbox, radio button, slider, draggable value, text editing, color picker, spinner\n* Images\n* Layouts: horizontal, vertical, columns, automatic wrapping\n* Text editing: multiline, copy/paste, undo, emoji supports\n* Windows: move, resize, name, minimize and close. Automatically sized and positioned.\n* Regions: resizing, vertical scrolling, collapsing headers (sections), panels\n* Rendering: Anti-aliased rendering of lines, circles, text and convex polygons.\n* Tooltips on hover\n* Accessibility via [AccessKit](https://accesskit.dev/)\n* Label text selection\n* And more!\n\nCheck out the [3rd party egui crates wiki](https://github.com/emilk/egui/wiki/3rd-party-egui-crates) for even more\nwidgets and features, maintained by the community.\n\n<img src=\"https://github.com/user-attachments/assets/13e73b76-e456-42bd-8ec9-220802834268\" width=\"50%\">\n\nLight Theme:\n\n<img src=\"https://github.com/user-attachments/assets/2e38972c-a444-4894-b32f-47a2719cf369\" width=\"50%\">\n\n## Dependencies\n`egui` has a minimal set of default dependencies.\nHeavier dependencies are kept out of `egui`, even as opt-in.\nAll code in `egui` is Wasm-friendly (even outside a browser).\n\nTo load images into `egui` you can use the official [`egui_extras`](https://github.com/emilk/egui/tree/main/crates/egui_extras) crate.\n\n[`eframe`](https://github.com/emilk/egui/tree/main/crates/eframe) on the other hand has a lot of dependencies, including [`winit`](https://crates.io/crates/winit), [`image`](https://crates.io/crates/image), graphics crates, clipboard crates, etc,\n\n## Who is egui for?\n\negui aims to be the best choice when you want a simple way to create a GUI, or you want to add a GUI to a game engine.\n\nIf you are not using Rust, egui is not for you. If you want a GUI that looks native, egui is not for you. If you want something that doesn't break when you upgrade it, egui isn't for you (yet).\n\nBut if you are writing something interactive in Rust that needs a simple GUI, egui may be for you.\n\n\n## Integrations\n\negui is built to be easy to integrate into any existing game engine or platform you are working on.\negui itself doesn't know or care on what OS it is running or how to render things to the screen - that is the job of the egui integration.\n\nAn integration needs to do the following each frame:\n\n* **Input**: Gather input (mouse, touches, keyboard, screen size, etc) and give it to egui\n* Call into the application GUI code\n* **Output**: Handle egui output (cursor changes, paste, texture allocations, …)\n* **Painting**: Render the triangle mesh egui produces (see [OpenGL example](https://github.com/emilk/egui/blob/main/crates/egui_glow/src/painter.rs))\n\n### Official integrations\n\nThese are the official egui integrations:\n\n* [`eframe`](https://github.com/emilk/egui/tree/main/crates/eframe) for compiling the same app to web/wasm and desktop/native. Uses `egui-winit` and `egui_glow` or `egui-wgpu`\n* [`egui_glow`](https://github.com/emilk/egui/tree/main/crates/egui_glow) for rendering egui with [glow](https://github.com/grovesNL/glow) on native and web, and for making native apps\n* [`egui-wgpu`](https://github.com/emilk/egui/tree/main/crates/egui-wgpu) for [wgpu](https://crates.io/crates/wgpu) (WebGPU API)\n* [`egui-winit`](https://github.com/emilk/egui/tree/main/crates/egui-winit) for integrating with [winit](https://github.com/rust-windowing/winit)\n\n### 3rd party integrations\n\nCheck the wiki to find [3rd party integrations](https://github.com/emilk/egui/wiki/3rd-party-integrations)\nand [egui crates](https://github.com/emilk/egui/wiki/3rd-party-egui-crates).\n\n### Writing your own egui integration\nMissing an integration for the thing you're working on? Create one, it's easy!\nSee <https://docs.rs/egui/latest/egui/#integrating-with-egui>.\n\n\n## Why immediate mode\n\n`egui` is an [immediate mode GUI library](https://en.wikipedia.org/wiki/Immediate_mode_GUI), as opposed to a *retained mode* GUI library. The difference between retained mode and immediate mode is best illustrated with the example of a button: In a retained GUI you create a button, add it to some UI and install some on-click handler (callback). The ","default_branch":"main","files":793,"tree":[".cargo/config.toml",".gitattributes",".github/ISSUE_TEMPLATE/bug_report.md",".github/ISSUE_TEMPLATE/feature_request.md",".github/ISSUE_TEMPLATE/other.md",".github/pull_request_template.md",".github/workflows/cargo_shear.yml",".github/workflows/deploy_web_demo.yml",".github/workflows/enforce_branch_name.yml",".github/workflows/labels.yml",".github/workflows/link_checker.yml",".github/workflows/png_only_on_lfs.yml",".github/workflows/preview_build.yml",".github/workflows/preview_cleanup.yml",".github/workflows/preview_comment.yml",".github/workflows/preview_deploy.yml",".github/workflows/rust.yml",".github/workflows/taplo.yml",".github/workflows/typos.yml",".github/workflows/update_kittest_snapshots.yml",".gitignore",".typos.toml",".vscode/settings.json","ARCHITECTURE.md","CHANGELOG.md","CODEOWNERS","CODE_OF_CONDUCT.md","CONTRIBUTING.md","Cargo.lock","Cargo.toml","LICENSE-APACHE","LICENSE-MIT","README.md","RELEASES.md","clippy.toml","crates/ecolor/CHANGELOG.md","crates/ecolor/Cargo.toml","crates/ecolor/README.md","crates/ecolor/src/cint_impl.rs","crates/ecolor/src/color32.rs","crates/ecolor/src/hex_color_macro.rs","crates/ecolor/src/hex_color_runtime.rs","crates/ecolor/src/hsva.rs","crates/ecolor/src/hsva_gamma.rs","crates/ecolor/src/lib.rs","crates/ecolor/src/rgba.rs","crates/eframe/CHANGELOG.md","crates/eframe/Cargo.toml","crates/eframe/README.md","crates/eframe/data/icon.png","crates/eframe/src/epi.rs","crates/eframe/src/icon_data.rs","crates/eframe/src/lib.rs","crates/eframe/src/native/app_icon.rs","crates/eframe/src/native/epi_integration.rs","crates/eframe/src/native/event_loop_context.rs","crates/eframe/src/native/file_storage.rs","crates/eframe/src/native/glow_integration.rs","crates/eframe/src/native/macos.rs","crates/eframe/src/native/mod.rs","crates/eframe/src/native/run.rs","crates/eframe/src/native/wgpu_integration.rs","crates/eframe/src/native/winit_integration.rs","crates/eframe/src/stopwatch.rs","crates/eframe/src/web/app_runner.rs","crates/eframe/src/web/backend.rs","crates/eframe/src/web/dropped_file.rs","crates/eframe/src/web/events.rs","crates/eframe/src/web/input.rs","crates/eframe/src/web/mod.rs","crates/eframe/src/web/panic_handler.rs","crates/eframe/src/web/screen_reader.rs","crates/eframe/src/web/storage.rs","crates/eframe/src/web/text_agent.rs","crates/eframe/src/web/web_logger.rs","crates/eframe/src/web/web_painter.rs","crates/eframe/src/web/web_painter_glow.rs","crates/eframe/src/web/web_painter_wgpu.rs","crates/eframe/src/web/web_runner.rs","crates/egui-wgpu/CHANGELOG.md","crates/egui-wgpu/Cargo.toml","crates/egui-wgpu/README.md","crates/egui-wgpu/src/capture.rs","crates/egui-wgpu/src/egui.wgsl","crates/egui-wgpu/src/lib.rs","crates/egui-wgpu/src/renderer.rs","crates/egui-wgpu/src/setup.rs","crates/egui-wgpu/src/texture_copy.wgsl","crates/egui-wgpu/src/winit.rs","crates/egui-winit/CHANGELOG.md","crates/egui-winit/Cargo.toml","crates/egui-winit/README.md","crates/egui-winit/src/clipboard.rs","crates/egui-winit/src/dropped_file.rs","crates/egui-winit/src/lib.rs","crates/egui-winit/src/safe_area.rs","crates/egui-winit/src/window_settings.rs","crates/egui/Cargo.toml","crates/egui/README.md","crates/egui/assets/ferris.png","crates/egui/examples/README.md","crates/egui/src/animation_manager.rs","crates/egui/src/atomics/atom.rs","crates/egui/src/atomics/atom_ext.rs","crates/egui/src/atomics/atom_kind.rs","crates/egui/src/atomics/atom_layout.rs","crates/egui/src/atomics/atoms.rs","crates/egui/src/atomics/mod.rs","crates/egui/src/atomics/sized_atom.rs","crates/egui/src/atomics/sized_atom_kind.rs","crates/egui/src/cache/cache_storage.rs","crates/egui/src/cache/cache_trait.rs","crates/egui/src/cache/frame_cache.rs","crates/egui/src/cache/frame_publisher.rs","crates/egui/src/cache/mod.rs","crates/egui/src/callstack.rs","crates/egui/src/containers/area.rs","crates/egui/src/containers/close_tag.rs","crates/egui/src/containers/collapsing_header.rs","crates/egui/src/containers/combo_box.rs","crates/egui/src/containers/frame.rs","crates/egui/src/containers/menu.rs","crates/egui/src/containers/mod.rs","crates/egui/src/containers/modal.rs","crates/egui/src/containers/panel.rs","crates/egui/src/containers/popup.rs","crates/egui/src/containers/resize.rs","crates/egui/src/containers/scene.rs","crates/egui/src/containers/scroll_area.rs","crates/egui/src/containers/sides.rs","crates/egui/src/containers/tooltip.rs","crates/egui/src/containers/window.rs","crates/egui/src/context.rs","crates/egui/src/data/input/dropped_file.rs","crates/egui/src/data/input/event.rs","crates/egui/src/data/input/event_filter.rs","crates/egui/src/data/input/hovered_file.rs","crates/egui/src/data/input/ime_event.rs","crates/egui/src/data/input/keyboard_shortcut.rs","crates/egui/src/data/input/mod.rs","crates/egui/src/data/input/modifier_names.rs","crates/egui/src/data/input/modifiers.rs","crates/egui/src/data/input/mouse_wheel_unit.rs","crates/egui/src/data/input/pointer_button.rs","crates/egui/src/data/input/raw_input.rs","crates/egui/src/data/input/safe_area_insets.rs","crates/egui/src/data/input/touch.rs","crates/egui/src/data/input/viewport_info.rs","crates/egui/src/data/key.rs","crates/egui/src/data/mod.rs","crates/egui/src/data/output.rs","crates/egui/src/data/user_data.rs","crates/egui/src/debug_text.rs","crates/egui/src/drag_and_drop.rs","crates/egui/src/grid.rs","crates/egui/src/gui_zoom.rs","crates/egui/src/hit_test.rs","crates/egui/src/id.rs","crates/egui/src/id_salt.rs","crates/egui/src/input_state/mod.rs","crates/egui/src/input_state/touch_state.rs","crates/egui/src/input_state/wheel_state.rs","crates/egui/src/interaction.rs","crates/egui/src/introspection.rs","crates/egui/src/layers.rs","crates/egui/src/layout.rs","crates/egui/src/lib.rs","crates/egui/src/load.rs","crates/egui/src/load/bytes_loader.rs","crates/egui/src/load/texture_loader.rs","crates/egui/src/memory/mod.rs","crates/egui/src/memory/theme.rs","crates/egui/src/os.rs","crates/egui/src/painter.rs","crates/egui/src/pass_state.rs","crates/egui/src/placer.rs","crates/egui/src/plugin.rs","crates/egui/src/response.rs","crates/egui/src/sense.rs","crates/egui/src/style.rs","crates/egui/src/text_selection/accesskit_text.rs","crates/egui/src/text_selection/cursor_range.rs","crates/egui/src/text_selection/label_text_selection.rs","crates/egui/src/text_selection/mod.rs","crates/egui/src/text_selection/text_cursor_state.rs","crates/egui/src/text_selection/visuals.rs","crates/egui/src/ui.rs","crates/egui/src/ui_builder.rs","crates/egui/src/ui_stack.rs","crates/egui/src/util/fixed_cache.rs","crates/egui/src/util/id_type_map.rs","crates/egui/src/util/mod.rs","crates/egui/src/util/undoer.rs","crates/egui/src/viewport.rs","crates/egui/src/widget_rect.rs","crates/egui/src/widget_style.rs","crates/egui/src/widget_text.rs","crates/egui/src/widgets/button.rs","crates/egui/src/widgets/checkbox.rs","crates/egui/src/widgets/color_picker.rs","crates/egui/src/widgets/drag_value.rs","crates/egui/src/widgets/hyperlink.rs","crates/egui/src/widgets/image.rs","crates/egui/src/widgets/label.rs","crates/egui/src/widgets/mod.rs","crates/egui/src/widgets/progress_bar.rs","crates/egui/src/widgets/radio_button.rs","crates/egui/src/widgets/separator.rs","crates/egui/src/widgets/slider.rs","crates/egui/src/widgets/spinner.rs","crates/egui/src/widgets/text_edit/builder.rs","crates/egui/src/widgets/text_edit/mod.rs","crates/egui/src/widgets/text_edit/output.rs","crates/egui/src/widgets/text_edit/state.rs","crates/egui/src/widgets/text_edit/text_buffer.rs","crates/egui_demo_app/Cargo.toml","crates/egui_demo_app/README.md","crates/egui_demo_app/src/accessibility_inspector.rs","crates/egui_demo_app/src/apps/custom3d_glow.rs","crates/egui_demo_app/src/apps/custom3d_wgpu.rs","crates/egui_demo_app/src/apps/custom3d_wgpu_shader.wgsl","crates/egui_demo_app/src/apps/fractal_clock.rs","crates/egui_demo_app/src/apps/http_app.rs","crates/egui_demo_app/src/apps/image_viewer.rs","crates/egui_demo_app/src/apps/mod.rs","crates/egui_demo_app/src/backend_panel.rs","crates/egui_demo_app/src/frame_history.rs","crates/egui_demo_app/src/lib.rs","crates/egui_demo_app/src/main.rs","crates/egui_demo_app/src/web.rs","crates/egui_demo_app/src/wrap_app.rs","crates/egui_demo_app/tests/snapshots/clock.png","crates/egui_demo_app/tests/snapshots/custom3d.png","crates/egui_demo_app/tests/snapshots/easymarkeditor.png","crates/egui_demo_app/tests/snapshots/imageviewer.png","crates/egui_demo_app/tests/test_demo_app.rs","crates/egui_demo_lib/Cargo.toml","crates/egui_demo_lib/README.md","crates/egui_demo_lib/benches/benchmark.rs","crates/egui_demo_lib/data/egui-logo.svg","crates/egui_demo_lib/data/icon.png","crates/egui_demo_lib/data/icon.svg","crates/egui_demo_lib/data/ring.png","crates/egui_demo_lib/src/demo/about.rs","crates/egui_demo_lib/src/demo/code_editor.rs","crates/egui_demo_lib/src/demo/code_example.rs","crates/egui_demo_lib/src/demo/dancing_strings.rs","crates/egui_demo_lib/src/demo/demo_app_windows.rs","crates/egui_demo_lib/src/demo/drag_and_drop.rs","crates/egui_demo_lib/src/demo/extra_viewport.rs","crates/egui_demo_lib/src/demo/font_book.rs","crates/egui_demo_lib/src/demo/frame_demo.rs","crates/egui_demo_lib/src/demo/highlighting.rs","crates/egui_demo_lib/src/demo/interactive_container.rs","crates/egui_demo_lib/src/demo/misc_demo_window.rs","crates/egui_demo_lib/src/demo/mod.rs","crates/egui_demo_lib/src/demo/modals.rs","crates/egui_demo_lib/src/demo/multi_touch.rs","crates/egui_demo_lib/src/demo/paint_bezier.rs","crates/egui_demo_lib/src/demo/painting.rs","crates/egui_demo_lib/src/demo/panels.rs","crates/egui_demo_lib/src/demo/password.rs","crates/egui_demo_lib/src/demo/popups.rs","crates/egui_demo_lib/src/demo/scene.rs","crates/egui_demo_lib/src/demo/screenshot.rs","crates/egui_demo_lib/src/demo/scrolling.rs","crates/egui_demo_lib/src/demo/sliders.rs","crates/egui_demo_lib/src/demo/strip_demo.rs","crates/egui_demo_lib/src/demo/table_demo.rs","crates/egui_demo_lib/src/demo/tests/clipboard_test.rs","crates/egui_demo_lib/src/demo/tests/cursor_test.rs","crates/egui_demo_lib/src/demo/tests/grid_test.rs","crates/egui_demo_lib/src/demo/tests/id_test.rs","crates/egui_demo_lib/src/demo/tests/input_event_history.rs","crates/egui_demo_lib/src/demo/tests/input_test.rs","crates/egui_demo_lib/src/demo/tests/layout_test.rs","crates/egui_demo_lib/src/demo/tests/manual_layout_test.rs","crates/egui_demo_lib/src/demo/tests/mod.rs","crates/egui_demo_lib/src/demo/tests/svg_test.rs","crates/egui_demo_lib/src/demo/tests/tessellation_test.rs","crates/egui_demo_lib/src/demo/tests/window_resize_test.rs","crates/egui_demo_lib/src/demo/text_edit.rs","crates/egui_demo_lib/src/demo/text_layout.rs","crates/egui_demo_lib/src/demo/toggle_switch.rs","crates/egui_demo_lib/src/demo/tooltips.rs","crates/egui_demo_lib/src/demo/undo_redo.rs","crates/egui_demo_lib/src/demo/widget_gallery.rs","crates/egui_demo_lib/src/demo/window_options.rs","crates/egui_demo_lib/src/easy_mark/easy_mark_editor.rs","crates/egui_demo_lib/src/easy_mark/easy_mark_highlighter.rs","crates/egui_demo_lib/src/easy_mark/easy_mark_parser.rs","crates/egui_demo_lib/src/easy_mark/easy_mark_viewer.rs","crates/egui_demo_lib/src/easy_mark/mod.rs","crates/egui_demo_lib/src/lib.rs","crates/egui_demo_lib/src/rendering_test.rs","crates/egui_demo_lib/tests/image_blending.rs","crates/egui_demo_lib/tests/misc.rs","crates/egui_demo_lib/tests/snapshots/demos/Bézier Curve.png","crates/egui_demo_lib/tests/snapshots/demos/Clipboard Test.png","crates/egui_demo_lib/tests/snapshots/demos/Code Editor.png","crates/egui_demo_lib/tests/snapshots/demos/Code Example.png","crates/egui_demo_lib/tests/snapshots/demos/Context Menus.png","crates/egui_demo_lib/tests/snapshots/demos/Cursor Test.png","crates/egui_demo_lib/tests/snapshots/demos/Dancing Strings.png","crates/egui_demo_lib/tests/snapshots/demos/Drag and Drop.png","crates/egui_demo_lib/tests/snapshots/demos/Extra Viewport.png","crates/egui_demo_lib/tests/snapshots/demos/Font Book.png","crates/egui_demo_lib/tests/snapshots/demos/Frame.png","crates/egui_demo_lib/tests/snapshots/demos/Grid Test.png","crates/egui_demo_lib/tests/snapshots/demos/Highlighting.png","crates/egui_demo_lib/tests/snapshots/demos/ID Test.png","crates/egui_demo_lib/tests/snapshots/demos/Input Event History.png","crates/egui_demo_lib/tests/snapshots/demos/Input Test.png","crates/egui_demo_lib/tests/snapshots/demos/Interactive Container.png","crates/egui_demo_lib/tests/snapshots/demos/Layout Test.png","crates/egui_demo_lib/tests/snapshots/demos/Manual Layout Test.png","crates/egui_demo_lib/tests/snapshots/demos/Misc Demos.png","crates/egui_demo_lib/tests/snapshots/demos/Modals.png","crates/egui_demo_lib/tests/snapshots/demos/Multi Touch.png","crates/egui_demo_lib/tests/snapshots/demos/Painting.png","crates/egui_demo_lib/tests/snapshots/demos/Pan Zoom.png","crates/egui_demo_lib/tests/snapshots/demos/Panels.png","crates/egui_demo_lib/tests/snapshots/demos/Popups.png","crates/egui_demo_lib/tests/snapshots/demos/SVG Test.png","crates/egui_demo_lib/tests/snapshots/demos/Scene.png","crates/egui_demo_lib/tests/snapshots/demos/Screenshot.png","crates/egui_demo_lib/tests/snapshots/demos/Scrolling.png","crates/egui_demo_lib/tests/snapshots/demos/Sliders.png","crates/egui_demo_lib/tests/snapshots/demos/Strip.png","crates/egui_demo_lib/tests/snapshots/demos/Table.png","crates/egui_demo_lib/tests/snapshots/demos/Tessellation Test.png","crates/egui_demo_lib/tests/snapshots/demos/Text Layout.png","crates/egui_demo_lib/tests/snapshots/demos/TextEdit.png","crates/egui_demo_lib/tests/snapshots/demos/Tooltips.png","crates/egui_demo_lib/tests/snapshots/demos/Undo Redo.png","crates/egui_demo_lib/tests/snapshots/demos/Window Options.png","crates/egui_demo_lib/tests/snapshots/demos/Window Resize Test.png","crates/egui_demo_lib/tests/snapshots/image_blending/image_x1.png","crates/egui_demo_lib/tests/snapshots/image_blending/image_x2.png","crates/egui_demo_lib/tests/snapshots/image_kerning/image_dark_x1.png","crates/egui_demo_lib/tests/snapshots/image_kerning/image_dark_x2.png","crates/egui_demo_lib/tests/snapshots/image_kerning/image_light_x1.png","crates/egui_demo_lib/tests/snapshots/image_kerning/image_light_x2.png","crates/egui_demo_lib/tests/snapshots/italics/image_dark_x1.00.png","crates/egui_demo_lib/tests/snapshots/italics/image_dark_x1.41.png","crates/egui_demo_lib/tests/snapshots/italics/image_dark_x2.00.png","crates/egui_demo_lib/tests/snapshots/italics/image_light_x1.00.png","crates/egui_demo_lib/tests/snapshots/italics/image_light_x1.41.png","crates/egui_demo_lib/tests/snapshots/italics/image_light_x2.00.png","crates/egui_demo_lib/tests/snapshots/modals_1.png","crates/egui_demo_lib/tests/snapshots/modals_2.png","crates/egui_demo_lib/tests/snapshots/modals_3.png","crates/egui_demo_lib/tests/snapshots/modals_backdrop_should_prevent_focusing_lower_area.png","crates/egui_demo_lib/tests/snapshots/rendering_test/dpi_1.00.png","crates/egui_demo_lib/tests/snapshots/rendering_test/dpi_1.25.png","crates/egui_demo_lib/tests/snapshots/rendering_test/dpi_1.50.png","crates/egui_demo_lib/tests/snapshots/rendering_test/dpi_1.67.png","crates/egui_demo_lib/tests/snapshots/rendering_test/dpi_1.75.png","crates/egui_demo_lib/tests/snapshots/rendering_test/dpi_2.00.png","crates/egui_demo_lib/tests/snapshots/tessellation_test/Additive rectangle.png","crates/egui_demo_lib/tests/snapshots/tessellation_test/Blurred stroke.png","crates/egui_demo_lib/tests/snapshots/tessellation_test/Blurred.png","crates/egui_demo_lib/tests/snapshots/tessellation_test/Minimal rounding.png","crates/egui_demo_lib/tests/snapshots/tessellation_test/Normal.png","crates/egui_demo_lib/tests/snapshots/tessellation_test/Thick stroke, minimal rounding.png","crates/egui_demo_lib/tests/snapshots/tessellation_test/Thin filled.png","crates/egui_demo_lib/tests/snapshots/tessellation_test/Thin stroked.png","crates/egui_demo_lib/tests/snapshots/text_selection_0.png","crates/egui_demo_lib/tests/snapshots/text_selection_1.png","crates/egui_demo_lib/tests/snapshots/widget_gallery_dark_x1.png","crates/egui_demo_lib/tests/snapshots/widget_gallery_dark_x2.png","crates/egui_demo_lib/tests/snapshots/widget_gallery_light_x1.png","crates/egui_demo_lib/tests/snapshots/widget_gallery_light_x2.png","crates/egui_extras/CHANGELOG.md","crates/egui_extras/Cargo.toml","crates/egui_extras/README.md","crates/egui_extras/src/datepicker/button.rs","crates/egui_extras/src/datepicker/mod.rs","crates/egui_extras/src/datepicker/popup.rs","crates/egui_extras/src/image.rs","crates/egui_extras/src/layout.rs","crates/egui_extras/src/lib.rs","crates/egui_extras/src/loaders.rs","crates/egui_extras/src/loaders/file_loader.rs","crates/egui_extras/src/loaders/gif_loader.rs","crates/egui_extras/src/loaders/http_loader.rs","crates/egui_extras/src/loaders/image_loader.rs","crates/egui_extras/src/loaders/svg_loader.rs","crates/egui_extras/src/loaders/webp_loader.rs","crates/egui_extras/src/sizing.rs","crates/egui_extras/src/strip.rs","crates/egui_extras/src/syntax_highlighting.rs","crates/egui_extras/src/table.rs","crates/egui_glow/CHANGELOG.md","crates/egui_glow/Cargo.toml","crates/egui_glow/README.md","crates/egui_glow/examples/pure_glow.rs","crates/egui_glow/src/lib.rs","crates/egui_glow/src/misc_util.rs","crates/egui_glow/src/painter.rs"],"storefront":"/r/emilk","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/emilk/egui/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}