https://github.com/aiekick/imcoolbar
A Cool bar for Dear ImGui (MacOs Dock Magnification Effect Like)
https://github.com/aiekick/imcoolbar
bar cool dear-imgui dearimgui dock linux macos magnification windows
Last synced: 11 months ago
JSON representation
A Cool bar for Dear ImGui (MacOs Dock Magnification Effect Like)
- Host: GitHub
- URL: https://github.com/aiekick/imcoolbar
- Owner: aiekick
- License: mit
- Created: 2023-06-26T04:39:48.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-06-03T17:52:03.000Z (over 1 year ago)
- Last Synced: 2025-03-20T13:03:51.878Z (11 months ago)
- Topics: bar, cool, dear-imgui, dearimgui, dock, linux, macos, magnification, windows
- Language: C++
- Homepage:
- Size: 20.9 MB
- Stars: 164
- Watchers: 5
- Forks: 19
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/aiekick/ImCoolBar/actions/workflows/Win.yml)
[](https://github.com/aiekick/ImCoolBar/actions/workflows/Linux.yml)
[](https://github.com/aiekick/ImCoolBar/actions/workflows/Osx.yml)
# ImCoolbar
# Minimal Sample
```cpp
auto coolbar_button = [](const char* label) -> bool {
float w = ImGui::GetCoolBarItemWidth();
auto font_ptr = ImGui::GetIO().Fonts->Fonts[0];
font_ptr->Scale = ImGui::GetCoolBarItemScale();
ImGui::PushFont(font_ptr);
bool res = ImGui::Button(label, ImVec2(w, w));
ImGui::PopFont();
return res;
};
if (ImGui::BeginCoolBar("##CoolBarMain", ImCoolBar_Horizontal, ImVec2(0.5f, 1.0f))) {
if (ImGui::CoolBarItem()) {
if (coolbar_button("A")) {
}
}
if (ImGui::CoolBarItem()) {
if (coolbar_button("B")) {
}
}
if (ImGui::CoolBarItem()) {
if (coolbar_button("C")) {
}
}
if (ImGui::CoolBarItem()) {
if (coolbar_button("D")) {
}
}
if (ImGui::CoolBarItem()) {
if (coolbar_button("E")) {
}
}
if (ImGui::CoolBarItem()) {
if (coolbar_button("F")) {
}
}
if (ImGui::CoolBarItem()) {
if (coolbar_button("G")) {
}
}
if (ImGui::CoolBarItem()) {
if (coolbar_button("H")) {
}
}
if (ImGui::CoolBarItem()) {
if (coolbar_button("I")) {
}
}
if (ImGui::CoolBarItem()) {
if (coolbar_button("J")) {
}
}
if (ImGui::CoolBarItem()) {
if (coolbar_button("K")) {
}
}
if (ImGui::CoolBarItem()) {
if (coolbar_button("L")) {
}
}
if (ImGui::CoolBarItem()) {
if (coolbar_button("M")) {
}
}
ImGui::EndCoolBar();
}
```
Result :

# Demo App
