{"id":13731978,"url":"https://github.com/aoterodelaroza/imgui-goodies","last_synced_at":"2025-05-08T06:31:03.372Z","repository":{"id":147552956,"uuid":"99525568","full_name":"aoterodelaroza/imgui-goodies","owner":"aoterodelaroza","description":"Widgets and utilities for ImGui","archived":false,"fork":false,"pushed_at":"2018-07-31T13:13:23.000Z","size":3389,"stargazers_count":108,"open_issues_count":0,"forks_count":21,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-08-04T02:10:40.587Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aoterodelaroza.png","metadata":{"files":{"readme":"README.md","changelog":null,"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}},"created_at":"2017-08-07T01:43:13.000Z","updated_at":"2024-07-07T09:37:15.000Z","dependencies_parsed_at":null,"dependency_job_id":"cf346854-d606-49d3-98da-7fc3dfd9c17e","html_url":"https://github.com/aoterodelaroza/imgui-goodies","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aoterodelaroza%2Fimgui-goodies","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aoterodelaroza%2Fimgui-goodies/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aoterodelaroza%2Fimgui-goodies/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aoterodelaroza%2Fimgui-goodies/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aoterodelaroza","download_url":"https://codeload.github.com/aoterodelaroza/imgui-goodies/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224707575,"owners_count":17356359,"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":[],"created_at":"2024-08-03T02:01:43.006Z","updated_at":"2024-11-14T23:30:44.267Z","avatar_url":"https://github.com/aoterodelaroza.png","language":"C++","funding_links":[],"categories":["Graphics"],"sub_categories":[],"readme":"# ImGui Goodies\n\nThis is a collection of widgets and utilities for the\n[immediate mode GUI (imgui)](https://github.com/ocornut/imgui) that I\nam developing for the critic2 GUI. Currently, the contents of this\nrepo are: \n\n* `imgui_widget.cpp`: a collection of small independent widgets,\n  including:\n  \n  + `SlidingBar`: a bar widget that slides when it is grabbed with the\n  mouse.\n\n  + `ButtonWithX`: a button with an X at the end. Useful for tabs.\n  \n  + `ResizeGripOther`: a resize grip that resizes a window other than\n  the one on which it is drawn.\n  \n  + `LiftGrip`: a grip on the bottom left part of the window rendered in\n  a different color. Responds to grabbing.\n  \n  + `AttachTooltip`: a function that provides delayed\n  tooltips. Tooltips are shown if: i) the mouse hovers over the\n  element for longer than a certain time, passed as argument to the\n  function, ii) the mouse goes from one tooltip element to another,\n  and the tooltip is being shown, or iii) the mouse hovers a tooltip\n  element for longer than t seconds and less than t seconds have\n  elapsed between the time the last tooltip was shown and the current\n  item started being hovered. See example below.\n\n* `imgui_dock.cpp`: a window docking system. There are three types of\n  windows: \n  \n  + Docks (`BeginDock()`/`EndDock()`): like normal windows, except\n    they can be docked to the other two window types.\n\n  + Containers (`Container()`): a window to which docks can be\n    attached as tabs. It has a behavior similar to a browser window.\n\t\n  + Root containers (`RootContainer()`): a window to which both\n    containers and docks can be attached. It splits into regions for\n    the different attached windows depending on where they are\n    dropped. \n\t\n  Most of the functionality of normal ImGui windows is\n  preserved. `imgui_dock.cpp` uses the widgets in `imgui_widget.cpp`\n  but is otherwise self-contained.\n  \nSome examples are given in the `examples` subdirectory. Use the\n`compile.sh` script to build the whole directory tree.\n\n## Examples\n\nDocks, containers, and root containers:\n\n![Example](images/dock_example.gif)\n\nDelayed tooltips:\n\n![Example](images/tooltip_example.gif)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faoterodelaroza%2Fimgui-goodies","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faoterodelaroza%2Fimgui-goodies","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faoterodelaroza%2Fimgui-goodies/lists"}