{"id":18747836,"url":"https://github.com/pthom/hello_imgui","last_synced_at":"2025-05-15T04:04:21.165Z","repository":{"id":41093299,"uuid":"270155553","full_name":"pthom/hello_imgui","owner":"pthom","description":"Hello, Dear ImGui: unleash your creativity in app development and prototyping","archived":false,"fork":false,"pushed_at":"2025-04-01T12:56:31.000Z","size":42673,"stargazers_count":768,"open_issues_count":17,"forks_count":110,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-05-14T14:22:13.638Z","etag":null,"topics":["android","cpp","creative-coding","cross-platform","emscripten","gui","hello-world","imgui","immediate-gui","ios","linux","metal","mobile","opengl","osx","research","windows"],"latest_commit_sha":null,"homepage":"https://pthom.github.io/hello_imgui","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pthom.png","metadata":{"files":{"readme":"README.md","changelog":"Changelog.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-06-07T01:24:52.000Z","updated_at":"2025-05-08T13:58:59.000Z","dependencies_parsed_at":"2023-10-21T13:30:07.883Z","dependency_job_id":"103fb5de-48e2-4325-a176-51e40e19aeb4","html_url":"https://github.com/pthom/hello_imgui","commit_stats":{"total_commits":1649,"total_committers":13,"mean_commits":"126.84615384615384","dds":0.0175864160097029,"last_synced_commit":"6b58720b4aaf0f3135e04028d3225f4f3ad588fa"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pthom%2Fhello_imgui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pthom%2Fhello_imgui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pthom%2Fhello_imgui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pthom%2Fhello_imgui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pthom","download_url":"https://codeload.github.com/pthom/hello_imgui/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254270640,"owners_count":22042858,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","cpp","creative-coding","cross-platform","emscripten","gui","hello-world","imgui","immediate-gui","ios","linux","metal","mobile","opengl","osx","research","windows"],"created_at":"2024-11-07T16:31:39.435Z","updated_at":"2025-05-15T04:04:21.123Z","avatar_url":"https://github.com/pthom.png","language":"C++","readme":"\u003ca href=\"://pthom.github.io/hello_imgui/\"\u003e\u003cimg src=\"logo/logo_hello_imgui.png\" width=\"120\"\u003e\u003c/a\u003e\n\n_See the [HelloImGui documentation website](https://pthom.github.io/hello_imgui/) for API, usage and build instructions._\n\n\n**OpenGL**\u003cbr/\u003e\n[![Win_Mac_Linux](https://github.com/pthom/hello_imgui/actions/workflows/Win_Mac_Linux.yml/badge.svg)](https://github.com/pthom/hello_imgui/actions/workflows/Win_Mac_Linux.yml)\n[![MinGW](https://github.com/pthom/hello_imgui/actions/workflows/MinGW.yml/badge.svg)](https://github.com/pthom/hello_imgui/actions/workflows/MinGW.yml)\n\n\n**Mobile and web**\u003cbr/\u003e\n[![iOS](https://github.com/pthom/hello_imgui/actions/workflows/iOS.yml/badge.svg)](https://github.com/pthom/hello_imgui/actions/workflows/iOS.yml)\n[![Android](https://github.com/pthom/hello_imgui/actions/workflows/Android.yml/badge.svg)](https://github.com/pthom/hello_imgui/actions/workflows/Android.yml)\n[![Emscripten](https://github.com/pthom/hello_imgui/actions/workflows/Emscripten.yml/badge.svg)](https://github.com/pthom/hello_imgui/actions/workflows/Emscripten.yml)\n\n**Alternate rendering backends**\u003cbr/\u003e\n[![Metal](https://github.com/pthom/hello_imgui/actions/workflows/Metal.yml/badge.svg)](https://github.com/pthom/hello_imgui/actions/workflows/Metal.yml)\n[![Vulkan](https://github.com/pthom/hello_imgui/actions/workflows/Vulkan.yml/badge.svg)](https://github.com/pthom/hello_imgui/actions/workflows/Vulkan.yml)\n[![DirectX](https://github.com/pthom/hello_imgui/actions/workflows/DirectX.yml/badge.svg)](https://github.com/pthom/hello_imgui/actions/workflows/DirectX.yml)\n\n**Misc**\u003cbr/\u003e\n[![TestEngine](https://github.com/pthom/hello_imgui/actions/workflows/TestEngine.yml/badge.svg)](https://github.com/pthom/hello_imgui/actions/workflows/TestEngine.yml)\n[![Automate](https://github.com/pthom/hello_imgui/actions/workflows/Automate.yml/badge.svg)](https://github.com/pthom/hello_imgui/actions/workflows/Automate.yml)\n[![StarterTemplate](https://github.com/pthom/hello_imgui/actions/workflows/StarterTemplate.yml/badge.svg)](https://github.com/pthom/hello_imgui/actions/workflows/StarterTemplate.yml)\n\n**Vcpkg**\u003cbr/\u003e\n[![VcpkgDeps](https://github.com/pthom/hello_imgui/actions/workflows/VcpkgDeps.yml/badge.svg)](https://github.com/pthom/hello_imgui/actions/workflows/VcpkgDeps.yml)\n\n# Hello ImGui\n\n\nHello ImGui is a library designed to make multiplatform app development as simple as writing a \"Hello World\" program, built on top of [Dear ImGui](https://github.com/ocornut/imgui).\n\nIts flexibility makes it suited for complex applications, as well as for simple prototypes; allowing you to focus on the creative aspects of your projects.\n\n## Features\n\n**Multiplatform utilities**\n* Seamlessly multiplatform: supports Linux, Windows, macOS, iOS, Android, and Emscripten with minimal setup (1 line of CMake code)\n* Asset embedding across all platforms  (no code required)\n* Effortless app customization, including app icons and names for mobile platforms (no code required)\n* Universal application icon customization, extending to mobile and macOS (no code required)\n\n**Dear ImGui Tweaks**\n* Power Save mode: optimize performance by reducing FPS when idle\n* High DPI support: automatically scales UI to match screen DPI on any platform.\n* Enhanced layout handling: dockable windows and multiple layouts for complex UIs\n* Window geometry utilities: autosize application window, restore app window position\n* Theme tweaking: extensive list of additional themes\n* Support for movable and resizable borderless windows\n* Advanced font support: icons, emojis and colored fonts\n* Integration with ImGui Test Engine: automate and test your apps\n* Save user settings: window position, layout, opened windows, theme, user defined custom settings\n* Easily add a custom 3D background to your app \n\n**Backends**\n* Available platform backends: SDL2, Glfw3\n* Available rendering backends: OpenGL3, Metal, Vulkan, DirectX\n\n\n## Demos \u0026 real world apps\n\n### Motto\n\nThe minimum code to start developing a GUI app should be... minimal. Here is a multiplatform Hello World in 7 lines.\n\n*6 lines of C++*\n```cpp\n#include \"hello_imgui/hello_imgui.h\"\nint main(int , char *[]) {\n    HelloImGui::Run(\n        []{ ImGui::Text(\"Hello, world!\"); }, // Gui code\n        \"Hello!\", true);                     // Window title + Window size auto\n}\n```\n\n*1 line of CMake*\n```cmake\nhello_imgui_add_app(hello_world hello_world.cpp)\n```\n\n\n### Advanced layout\n\nThe docking demo show how to handle complex layouts, use themes, store user settings, reduce FPS and CPU usage when idling, load fonts and icons, and much more\n\n![](https://github.com/pthom/hello_imgui/blob/master/docs_src/images/docking.jpg?raw=true)\n\n[Online demo](https://traineq.org/ImGuiBundle/emscripten/bin/demo_docking.html) - [Source](https://github.com/pthom/hello_imgui/blob/master/src/hello_imgui_demos/hello_imgui_demodocking/hello_imgui_demodocking.main.cpp) - Video tutorial: [how to handle multiple complex layouts](https://www.youtube.com/watch?v=XKxmz__F4ow)\n\n### Custom 3D background\n\nHow to use a custom 3D background in your app\n\n![](https://github.com/pthom/hello_imgui/blob/master/docs_src/images/custom_background.jpg?raw=true≥)\n\n[Online demo](https://traineq.org/ImGuiBundle/emscripten/bin/demo_custom_background.html) - [Source](https://github.com/pthom/hello_imgui/blob/master/src/hello_imgui_demos/hello_custom_background/hello_custom_background.main.cpp)\n\n\n### ImGui Manual\n\n[ImGui Manual](https://pthom.github.io/imgui_manual_online/manual/imgui_manual.html) is an interactive Manual for Dear ImGui, built with Hello ImGui.\n\n[![](https://github.com/pthom/hello_imgui/blob/master/docs_src/images/manual.jpg?raw=true)](https://pthom.github.io/imgui_manual_online/manual/imgui_manual.html)\n\n[Online manual](https://pthom.github.io/imgui_manual_online/manual/imgui_manual.html) -\n[Source](https://github.com/pthom/imgui_manual)\n\n\n### RPN Calculator\n\n[RPN Calculator](https://pthom.github.io/imgui_rpn_calculator/) is a simple RPN calculator, built, built to demonstrate how easy a multiplatform app can be built with Hello ImGui.\n\n![](https://github.com/pthom/rpn_calculator/blob/main/screenshot.png?raw=true)\n\n[Online demo](https://traineq.org/HelloImGui/rpn/rpn_calculator.html) - [Source](https://github.com/pthom/rpn_calculator/) - [Video tutorial](https://www.youtube.com/watch?v=dArP4lBnOr8)\n\n### Starter template\n[The starter template](https://github.com/pthom/hello_imgui_template) will get you started in 5 minutes, and shows how to embed assets, customize the app icon (etc.), on all platforms.\n\n### Dear ImGui Bundle\n\n[Dear ImGui Bundle](https://pthom.github.io/imgui_bundle/), a full-fledged library, built on top of Hello ImGui, provides lots of additional widgets ([imgui](https://github.com/ocornut/imgui.git), [implot](https://github.com/epezent/implot), [imgui-node-editor](https://github.com/thedmd/imgui-node-editor), [ImFileDialog](https://github.com/pthom/ImFileDialog.git), [ImGuiColorTextEdit](https://github.com/BalazsJako/ImGuiColorTextEdit), [imgui_md](https://github.com/mekhontsev/imgui_md.git)), as well as complete python bindings.\n\n\u003cimg src=\"https://raw.githubusercontent.com/pthom/imgui_bundle/main/bindings/imgui_bundle/demos_assets/images/logo_imgui_bundle_512.png\" width=100\u003e\n\n[online interactive demo](https://traineq.org/ImGuiBundle/emscripten/bin/demo_imgui_bundle.html) - [Source for C++ demos](https://github.com/pthom/imgui_bundle/tree/main/bindings/imgui_bundle/demos_cpp) - [Source for Python demos](https://github.com/pthom/imgui_bundle/tree/main/bindings/imgui_bundle/demos_python)\n\n\n### Theme tweaking\n\nHow to use the theme tweaking utilities provided by Hello ImGui\n\n[Online video tutorial](https://www.youtube.com/watch?v=4f_-3DDcAZk)\n\n---\n\n## About\n\n### Credits\n\nHello ImGui is based on [Dear ImGui](https://github.com/ocornut/imgui) (MIT License), by Omar Cornut. Portions use [ImGui Test Engine](https://github.com/ocornut/imgui_test_engine), which is governed by a [specific license](https://github.com/ocornut/imgui_test_engine/blob/main/imgui_test_engine/LICENSE.txt)\n\nPortions of this software use the [FreeType Project](https://www.freetype.org), [plutosvg](https://github.com/sammycage/plutosvg) (MIT License), [GLFW](https://www.glfw.org/) (zlib/libpng license), [SDL](https://www.libsdl.org/) (zlib license).\n\n### License\n\nHello ImGui is licensed under the MIT License, see [LICENSE](https://github.com/pthom/hello_imgui/blob/master/LICENSE)\n\n### Contribute\n\nQuality contributions are welcome!\n\n### Support the project\n\nHello ImGui is a free and open source project, and its development and maintenance require considerable efforts.\n\nIf you find it valuable for your work – especially in a commercial enterprise or a research setting – please consider supporting its development by [making a donation](https://www.paypal.com/donate/?hosted_button_id=SHJ68RVDKURZA). Thank you!\n\n\u003c!--\n[![](https://raw.githubusercontent.com/pthom/imgui_bundle/main/bindings/imgui_bundle/doc/doc_images/btn_donate.gif)](https://www.paypal.com/donate/?hosted_button_id=SHJ68RVDKURZA)\n--\u003e\n\n\n# More info\n\n_See the [HelloImGui documentation website](https://pthom.github.io/hello_imgui/) for API, usage and build instructions._","funding_links":["https://www.paypal.com/donate/?hosted_button_id=SHJ68RVDKURZA"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpthom%2Fhello_imgui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpthom%2Fhello_imgui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpthom%2Fhello_imgui/lists"}