Repository Analysis

ocornut/imgui

Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies

4.5 Likely human-written View on GitHub
4.5
Adjusted Score
4.5
Raw Score
100%
Time Factor
2026-05-29
Last Push
73,557
Stars
C++
Language
117,831
Lines of Code
145
Files
564
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 0MEDIUM 4LOW 560

Pattern Findings

564 matches across 8 categories. Click a row to expand file-level details.

Over-Commented Block546 hits · 498 pts
SeverityFileLineSnippet
LOWimgui.h1// dear imgui, v1.92.9 WIP
LOWimgui.h21// - Issues & support ........... https://github.com/ocornut/imgui/issues
LOWimgui.h41// [SECTION] Forward declarations and basic types
LOWimgui.h61#pragma once
LOWimgui.h81
LOWimgui.h101#define IM_STRINGIFY(_EXPR) IM_STRINGIFY_HELPER(_EXPR) // Preprocessor idiom to stringify e.g.
LOWimgui.h121
LOWimgui.h141#pragma clang diagnostic ignored "-Wunknown-pragmas" // warning: unknown warning group 'xxx'
LOWimgui.h321//-----------------------------------------------------------------------------
LOWimgui.h341#endif
LOWimgui.h421 IMGUI_API void StyleColorsDark(ImGuiStyle* dst = NULL); // new, recommended style (default)
LOWimgui.h441 // - Use child windows to begin into a self-contained independent scrolling/clipping regions within a host window. C
LOWimgui.h501 IMGUI_API float GetScrollMaxY(); // get maximum scrolling amo
LOWimgui.h661 // - The old Combo() api are helpers over BeginCombo()/EndCombo() which are kept available for convenience purpose.
LOWimgui.h841 // - If not modal: they can be closed by clicking anywhere outside them, or by pressing Escape (call 'Shortcut(ImGu
LOWimgui.h861 IMGUI_API void OpenPopup(ImGuiID id, ImGuiPopupFlags popup_flags = 0); // id ov
LOWimgui.h881 // - IsPopupOpen() with ImGuiPopupFlags_AnyPopupId + ImGuiPopupFlags_AnyPopupLevel: return true if any popup is ope
LOWimgui.h901 // - TableNextRow() -> TableNextColumn() -> Text("Hello 0") -> TableNextColumn() -> Text("Hello 1")
LOWimgui.h1061 // - (legacy: before v1.87 (2022-02), we used ImGuiKey < 512 values to carry native/user indices as defined by each
LOWimgui.h1081 // Child2 -> no call // When Child2 is focused, Parent gets the shortcut.
LOWimgui.h1201 // Obsolete names
LOWimgui.h2001 ImGuiCond_Once = 1 << 1, // Set the variable once per runtime session (only the first call will succeed)
LOWimgui.h2021// - Mixed Fixed/Stretch columns is possible but has various side-effects on resizing behaviors.
LOWimgui.h2181#define IMGUI_DEBUG_LOG(...) ((void)0)
LOWimgui.h2381//-----------------------------------------------------------------------------
LOWimgui.h2461 // - Recovery after a programming error (native code or scripting language - the latter tends to facilitate itera
LOWimgui.h2481 // e.g. io.ConfigDebugIsDebuggerPresent = ::IsDebuggerPresent() on Win32, or refer to ImOsIsDebuggerPresent() imgu
LOWimgui.h2601 bool AppFocusLost; // Only modify via AddFocusEvent()
LOWimgui.h2621 const char* (*GetClipboardTextFn)(void* user_data);
LOWimgui.h2841
LOWimgui.h2881 IMGUI_API bool Step(); // Call until it returns false. The DisplayStart/DisplayEnd fields will be set an
LOWimgui.h2941inline bool operator==(const ImVec4& lhs, const ImVec4& rhs) { return lhs.x == rhs.x && lhs.y == rhs.y && lhs.z == rh
LOWimgui.h2961#define IM_COL32_A_MASK 0xFF000000
LOWimgui.h2981 constexpr ImColor(ImU32 rgba) : Value((float)((rgba >> IM_COL32_R_SHIFT) & 0xFF) *
LOWimgui.h3001// which is suited to advanced trees setups also implementing filters and clipper. We will work toward simplifying and
LOWimgui.h3101// To store a multi-selection, in your application you could:
LOWimgui.h3141 // Methods
LOWimgui.h3161#endif
LOWimgui.h3381 IMGUI_API void PathArcTo(const ImVec2& center, float radius, float a_min, float a_max, int num_segments = 0);
LOWimgui.h3661
LOWimgui.h3721 // - In backend: replace calls to ImFontAtlas::SetTexID() with calls to ImTextureData::SetTexID() after honoring t
LOWimgui.h3761 // - IT WILL INVALIDATE RECTANGLE DATA SUCH AS UV COORDINATES. Always use latest values from GetCustomRect().
LOWimgui.h3821
LOWimgui.h4101 // Some of the older obsolete names along with their replacement (commented out so they are not reported in IDE)
LOWimgui.h4121 //IMGUI_API ImGuiKey GetKeyIndex(ImGuiKey key); { IM_ASSERT(key >=
LOWimgui.h4141 //static inline bool DragFloat4(const char* label, float v[4], float v_speed, float v_min, float v_max, const char*
LOWimgui.h4161 //static inline float GetItemsLineHeightWithSpacing() { return GetFrameHeightWithSpacing(); }
LOWimgui.h4201//{
LOWimgui.h4221//#define IM_OFFSETOF(_TYPE,_MEMBER) offsetof(_TYPE, _MEMBER) // OBSOLETED IN 1.90 (now using C++11 standard version)
LOWimgui.h4241#pragma warning (pop)
LOWimstb_textedit.h1// [DEAR IMGUI]
LOWimstb_textedit.h21// It is intended for use in games and other systems that need to build
LOWimstb_textedit.h41// VERSION HISTORY
LOWimstb_textedit.h61// 0.1 (2010-07-08) initial version
LOWimstb_textedit.h81//
LOWimstb_textedit.h101// moderate sizes. The undo system does no memory allocations, so
LOWimstb_textedit.h121// in the displayed textedit. This is true for both plain text and
LOWimstb_textedit.h141// to the xpos of the i+1'th char for a line of characters
LOWimstb_textedit.h161// STB_TEXTEDIT_K_PGUP keyboard input to move cursor up a page
LOWimstb_textedit.h181// STB_TEXTEDIT_K_LINEEND2 secondary keyboard input to move cursor to end of line
486 more matches not shown…
Fake / Example Data8 hits · 10 pts
SeverityFileLineSnippet
LOWimgui_demo.cpp7665 ImGui::TextWrapped("Lorem ipsum dolor sit amet");
LOWimgui_demo.cpp7665 ImGui::TextWrapped("Lorem ipsum dolor sit amet");
LOWimgui_demo.cpp7667 ImGui::Text("Lorem ipsum dolor sit amet");
LOWimgui_demo.cpp7667 ImGui::Text("Lorem ipsum dolor sit amet");
LOWimgui_demo.cpp9565 ImGui::TextWrapped("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor i
LOWimgui_demo.cpp9565 ImGui::TextWrapped("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor i
LOWimgui_demo.cpp10526 ImGui::TextWrapped("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
LOWimgui_demo.cpp10526 ImGui::TextWrapped("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
AI Slop Vocabulary2 hits · 6 pts
SeverityFileLineSnippet
MEDIUMimgui.cpp6717 // FIXME: Essentially we want to restrict manual resizing to WindowMinSize+Decoration, and allow api resizing to be
MEDIUMimgui.cpp9091// FIXME-NEWATLAS-V2: perhaps we can now leverage ImFontAtlasUpdateDrawListsTextures() ?
Slop Phrases2 hits · 4 pts
SeverityFileLineSnippet
MEDIUMimgui_widgets.cpp7351// Tip: pass a non-visible label (e.g. "##hello") then you can use the space to draw other text or image.
LOWimgui.cpp1022 - 2017/08/25 (1.52) - io.MousePos needs to be set to ImVec2(-FLT_MAX,-FLT_MAX) when mouse is unavailable/missing. Previ
Verbosity Indicators2 hits · 3 pts
SeverityFileLineSnippet
LOWimgui.cpp3399 // Step 0: Let you process the first element (regardless of it being visible or not, so we can measure the element h
LOWimgui.cpp3416 // Step 1: Let the clipper infer height from first range
Self-Referential Comments1 hit · 3 pts
SeverityFileLineSnippet
MEDIUMmisc/debuggers/imgui_lldb.py1# This file implements synthetic children providers and summaries for various Dear ImGui types for LLDB.
Hyper-Verbose Identifiers2 hits · 2 pts
SeverityFileLineSnippet
LOWbackends/imgui_impl_win32.cpp968// Borrowed from GLFW's function updateFramebufferTransparency() in src/win32_window.c
LOWdocs/CHANGELOG.txt6719- Misc: Added obsolete redirection function GetItemsLineHeightWithSpacing() (which redirects to GetFrameHeightWithSpacin
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippet
LOWmisc/fonts/binary_to_compressed_c.cpp20// Usage example: