omar
5e2aa6185c
Reorganized context handling to be more explicit,
...
- YOU NOW NEED TO CALL ImGui::CreateContext() AT THE BEGINNING OF YOUR APP, AND CALL ImGui::DestroyContext() AT THE END.
- removed Shutdown() function, as DestroyContext() serve this purpose.
- you may pass a ImFontAtlas* pointer to CreateContext() to share a font atlas between contexts. Otherwhise CreateContext() will create its own font atlas instance.
- removed allocator parameters from CreateContext(), they are now setup with SetAllocatorFunctions(), and shared by all contexts.
- removed the default global context and font atlas instance, which were confusing for users of DLL reloading and users of multiple contexts
(#1565 , #586 , #992 , #1007 , #1558 )
7 years ago
omar
cd1409f4bf
ImFontAtlas: Moved mouse cursor data out of ImGuiContext, fix drawing them with multiple context. Also remove the last remaining undesirable dependency on GImGui in imgui_draw.cpp, finishing the work recently done with ImDrawListSharedData. Hurra! ( #939 )
7 years ago
omar
8877622fa8
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
7 years ago
omar
c2ffce3e5a
Drag and Drop: Fix comment. Removed IMGUI_PAYLOAD_TYPE_DOCKABLE from master branch. ( #143 )
7 years ago
omar
cc15512bfc
InputText: Minor tweak.
7 years ago
omar
a221d253f3
Nav: Comment.
7 years ago
omar
472ba1394c
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
7 years ago
omar
28a76af185
Internal: DrawData: Tidying, renaming.
7 years ago
omar
a77913054f
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
7 years ago
omar
1182174d81
Internals: DrawData: We don't need an intermediate layer for popups.
7 years ago
omar
038453258e
Internals: DrawData: Refactored chunks into a ImDrawDataBuilder we can reuse.
7 years ago
omar
061d8df033
MIssing IMGUI_API for a type with non-inline methods.
7 years ago
omar
06eef2ce6f
Internals: DrawData: renamed fields only (committing separately so that next commit is less nosiy).
7 years ago
omar
514d30d8cd
MovingWindow: Track click offset based on MovingWindow and not its RootWindow. Followup to 3849bb4470
. Comments + adding a local to ease patch #1345 .
7 years ago
omar
db63e71f13
Internals: Exposed SetCurrentFont() in imgui_internal.h
7 years ago
omar
1493de4f81
Internals: Merge of harmless stuff from Navigation stuff. Added GetHoveredID() internal helper.
7 years ago
omar
c85d7d6e49
Nav: Remove GetItemID(), hide ActivateItem() before this feature is unfinished and has issue (full feature is on hold). Undo part of 59c6f35bf6
( #787 )
7 years ago
omar
c9be7d7254
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
7 years ago
omar
0a98202714
Nav: Standardized FIXME-NAV marker.
7 years ago
omar
16285603f2
Internals: Initializing fields in same order as declaration order + fixed uninitialized DragDropAcceptIdCurrRectSurface (was harmless)
7 years ago
omar
919fc548ad
Merge branch 'master' into navigation
7 years ago
omar
0cabd81071
Internals: Rect: Added ClipWillFull helper + comments on variations.
7 years ago
omar
92d75c44bc
Internals: ImVec2 versions of ImMin, ImMax inline float version for a faster full-on-debug-no-inline experience.
7 years ago
omar
3f4eccf154
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
7 years ago
omar
3fc7cf190d
OpenPopup(): Always reopen existing popup. Removed OpenPopupEx() bool reopen_existing which is always true. This also makes the public API on par with OpenPopupEx(). ( #1497 , #1533 )
7 years ago
omar
deab2ab015
Popups: Gently handle the user mistakenly calling OpenPopup() every frame. (when reopen_existing is true). ( #1497 )
7 years ago
omar
69ff65f054
Internals: Popup: Renaming fields.
7 years ago
omar
3678307cd9
Popup, Menus: Tweaks and comments.
7 years ago
omar
369189b675
Internals: Popup: Explicitely setting up ImGuiPopupRef reduces confusion.
7 years ago
omar
a34490239c
Internals: Popup: Separating MousePosOnOpen and PopupPosOnOpen. They are equal in the master branch but different in the navigation branch.
7 years ago
omar
95b773370f
Revert "Internals: Added LastActiveId, LastActiveIdTimer. ( #1537 )" Will come up with a better design later.
...
This reverts commit 007f4034c9
.
7 years ago
omar
007f4034c9
Internals: Added LastActiveId, LastActiveIdTimer. ( #1537 )
7 years ago
omar
29c194b2a4
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
7 years ago
omar
4fc9f44073
Merge of minor left-overs from private work branch to reduce drifts. Should be functionally a no-op.
7 years ago
omar
b2ec0741f1
Internals: Settings api tweaks
7 years ago
omar
2b8224692e
Merge branch 'master' into navigation
7 years ago
omar
f9b2058d5a
Internals: Renamed ImGuiSimpleColumns to ImGuiMenuColumns to avoid confusion. Reduced internal buffer size (we only use 3 slots).
7 years ago
omar
96ccc484f9
Merge branch 'master' into navigation
...
# Conflicts:
# imgui_internal.h
7 years ago
omar
3c6fbe0849
Renamed ImGuiSizeConstraintCallback to ImGuiSizeCallback, ImGuiSizeConstraintCallbackData to ImGuiSizeCallbackData.
7 years ago
omar
7fcbd45500
Internals: NextWindow: Renamed, moved functions to member.
7 years ago
omar
e339949de1
Internals: NextWindow: Using ImGuiCond for consistency.
7 years ago
omar
04b44398eb
Internals: refactored g.SetNextWindow fields into g.NextWindow. structure (so it can be more easily transported/copied)
7 years ago
omar
7a15fc8de5
Merge branch 'master' into navigation
7 years ago
omar
6ec00a366a
Internals: ImRect: Minor formatting tweaks.
7 years ago
omar
fbf2435f38
Exposed IM_OFFSETOF() helper in imgui.h
7 years ago
omar
2dd2ca0096
Removed CalcItemRectClosestPoint() which was weird and not really used by anyone except demo code. If you need it it's easy to replicate on your side.
...
Removed internal corresponding ImRect::GetClosestPoint() for now.
Essentially revert dcaafffe0e
.
7 years ago
omar
c4e6d622c1
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui.h
7 years ago
omar
49eed6e2d1
Version 1.54 WIP
7 years ago
omar
436cad4bca
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.h
7 years ago
omar
e916310b2e
Version 1.53
7 years ago
omar
67191badc2
Merge branch 'master' into navigation
7 years ago
omar
bb8dfe4a34
Fixed incorrect IM_DELETE macro ( 9cda86d55a
) ( #1517 , #484 , #504 )
7 years ago
omar
ffb4f6ca8c
Merge branch 'master' into navigation
7 years ago
omar
9cda86d55a
Internals: Added IM_NEW, IM_DELETE helper macros ( #1517 , #484 , #504 )
7 years ago
omar
1f26652944
Various zealous warning fixes (thanks Clang).
7 years ago
omar
287380261c
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
7 years ago
omar
c8c872c753
Internals: String functions uses size_t in their signature
7 years ago
omar
531c11d5c7
ImDrawList: Small refactor toward removing dependency on GImGui + PushClipRectFullscreen now correctly uses data provided by imgui which can takes account of DisplaySize + Removed static variable in PathArcToFast() which caused linking issues to some.
7 years ago
omar
4c2514dc29
Merge branch 'master' into navigation
7 years ago
omar
b9391d1692
Columns: Internal: Columns have their no set of flags so NoResize can be setup by internal code. ( #125 )
7 years ago
omar
cc3192f347
Merge branch 'master' into navigation
...
# Conflicts:
# imgui_internal.h
7 years ago
omar
ddbcda8c1b
Columns: Column width data is no longer lost while dragging toward the right side. ( #1499 , #125 )
7 years ago
omar
e8e84a6ad6
Columns: Added internal tracking of a few flag temporarily, to facilitate the work of third-parties who have columns patches. ( #125 )
7 years ago
omar
4ae5c7e227
Columns: Refactor: Moved ColumnsSet[] to window out of DC as they are persistent data for most + fix for pre C++11 compilers. ( #125 , #1499 )
7 years ago
omar
b016215c80
Columns: Refactor: Not using statestorage lookup anymore. ( #125 , #1499 )
7 years ago
omar
3a31a75e3b
Columns: Refactor: Renamed all members. ( #125 , #1499 )
7 years ago
omar
78320aa633
Columns: Refactor: Moved columns data into their own data structure. Minimum changes now to ease diffing. ( #125 , #1499 )
7 years ago
omar
16fb58984f
Merge branch 'master' into navigation
7 years ago
omar
90d0b8b58b
Navigation: minor sync to reduce drifts between changes
7 years ago
omar
8b59ed0708
Drag and Drop: Exposed some internals.
7 years ago
omar
7c7a7baf76
Merged miscellaneous small stuff (from nav/dock branches).
7 years ago
omar
fa9327ccf8
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_draw.cpp
# imgui_internal.h
7 years ago
omar
d0a1be0de0
Merge branch 'drag_and_drop'
7 years ago
omar
3ea5e67ba2
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
7 years ago
omar
28bbf1ade6
Fixed ParentWindow setup which broke Modal windows (fix c65124f415
)
7 years ago
omar
052b6021dd
Merge branch 'master' into drag_and_drop
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_internal.h
7 years ago
omar
0a3db267c3
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_demo.cpp
# imgui_internal.h
7 years ago
omar
c22657985a
Added GetFrameHeight() function (used to be SmallSquareSize internally)
7 years ago
omar
ee7f1921e8
Internals: Added GetSmallSquareSize()
7 years ago
omar
c65124f415
Internals: ParentWindow is now NULL for non-child windows and means what everyone expects.
7 years ago
omar
f42d7b89e2
Internals: Removed misleading GetWindowParent() function. + renaming to clear confusing.
7 years ago
omar
4a555d35f0
IsWindowHovered(): split ImGuiHoveredFlags_FlattenChild into separate ChildWindows and RootWindow flags. Allowing more combination and a better symetry with IsWindowFocused() flags. ( #1382 )
7 years ago
omar
45f440bb7d
Internals: Renamed ImGuiButtonFlags_FlattenChilds -> ImGuiButtonFlags_FlattenChildren, ImGuiButtonFlags_AllowOverlapMode -> ImGuiButtonFlags_AllowItemOverlap
7 years ago
omar
2b9d8ab91d
Merge branch 'master' into drag_and_drop
...
# Conflicts:
# imgui.cpp
# imgui.h
7 years ago
omar
d1db229907
Merge branch 'master' into navigation
...
# Conflicts:
# imgui_demo.cpp
7 years ago
omar
e3e0326ea9
Exposed BeginCombo() publicly.
7 years ago
omar
eab6333a0b
SetNextWindowContentSize() adjust for client->window size, but the fate of borders isn't really clear for now (until now we always tried to make borders not affect layout, so if we want a 200x200 fully visible space with borders and zero window padding user need to include the borders) ( #1490 )
7 years ago
omar
a6f37287d8
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
7 years ago
omar
a5e9392140
Combo: Added flags to BeginCombo() new api, removed explicit height, default to 8 instead of 7 items, allow popup height constraints via SetNextWindowSizeConstraints(), width expand if contents doesn't fit, popup reposition policy if it doesn't fit.
7 years ago
omar
7bf85db6c4
Drag and drop: Added COL3F payload for color without alpha overwrite. Exposed standard color payload types in imgui.h ( #143 )
7 years ago
omar
553b0fcf8f
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
7 years ago
omar
45466a8cf9
Internals: BeginCombo() added dummy ImGuiComboFlags.
7 years ago
omar
e6215b6ca0
Merge branch 'master' into navigation + merge fix
...
# Conflicts:
# imgui.cpp
7 years ago
omar
8959c64b33
Internals: Cleanup FindBestPopupWindowPos() to be more digestible, since we are bounds to rework the logic there. No functional changes intended
7 years ago
omar
2fc6a82665
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui.h
7 years ago
omar
beda5fc5a0
Fixed scrollbar enable/disable calculation when size is modified programmatically. This is the generalization of the fix in 2df8fa95df
.
7 years ago
omar
e103fe8c1f
Tweak four-corners resize grip code. Added ImRect::FixInverted() helper. ( #822 )
7 years ago
omar
729333293c
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui.h
7 years ago
omar
b9dc0caee3
Tweak four-corners resize grip code. Added ImRect::FixInverted() helper. ( #822 )
7 years ago
omar
364251146b
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
7 years ago
omar
16d9fa30b2
Merge branch 'master' into drag_and_drop
7 years ago
omar
c860a0a85c
Internals: ImRect: Added IsFinite() helper.
7 years ago
omar
81cbaef806
Merge branch 'master' into navigation
7 years ago
omar
52e475230f
Settings: Internals: Renaming.
7 years ago
omar
7ae71e4984
Settings: Internals: Added FindSettingsHandler()
7 years ago
omar
35eb5c5c99
Settings: Internals: Exposed FindWindowSettings(). Simplified some code.
7 years ago
omar
963259d128
Settings: Internals: Renamed ImGuiSettingsWindow to ImGuiWindowSettings.
7 years ago
omar
63712d5f5c
Merge branch 'master' into drag_and_drop
7 years ago
omar
9191b17218
Merge branch 'master' into navigation
7 years ago
omar
f3ec608c19
Settings: Initializing ImGuiSettingsWindow so external users don't end up with uncleared data. Exposed MarkIniSettingsDirty() in imgui_internal.h
7 years ago
omar
7e2d0d734c
Settings: basic refactor so that additional data structures can be loaded/saved. Parser/saver is still the minimum viable poor-man parsing.
7 years ago
omar
d552cabd15
Settings: Internal renaming of structure and fields names.
7 years ago
omar
4e3c7f1557
Nav: Exposed NavInitWindow() in imgui_internal ( #787 )
7 years ago
omar
7763ab3fcc
Menu bar: better software clipping to handle small windows, in particular child window don't have the minimum constraint added in e9a7e73bba
so we need to render clipped menus better.
7 years ago
omar
b618629d99
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
7 years ago
omar
7d09a0ae99
Menu bar: better software clipping to handle small windows, in particular child window don't have the minimum constraint added in e9a7e73bba
so we need to render clipped menus better.
7 years ago
omar
68b26b4867
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
7 years ago
omar
302757447a
Internals: Added SplitterBehavior(). ( #319 )
7 years ago
omar
2543807e56
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
7 years ago
omar
3f5b2a3fe3
Exposed ImDrawCornerFlags, replaced occurences of ~0 with an explicit ImDrawCornerFlags_All. Inversed BotLeft (prev 1<<3, now 1<<2) and BotRight (prev 1<<2, now 1<<3).
7 years ago
thedmd
8b2d449b16
Add ShadeVertsLinearUV()
7 years ago
omar
92212b17aa
Merge branch 'master' into drag_and_drop
7 years ago
omar
9848a7023b
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
7 years ago
omar
9a44d447cd
NewFrame() now asserts if neither Render or EndFrame have been called. Exposed EndFrame(). Made it legal to call EndFrame() more than one. ( #1423 etc.)
7 years ago
omar
d211a0e338
Merge branch 'master' into navigation (with style breakable)
...
# Conflicts:
# imgui.cpp
# imgui_draw.cpp
7 years ago
omar
4022ada843
Merge branch 'master' into drag_and_drop
7 years ago
omar
6f7b1bf2e1
Internals: Renamed ImGuiWindow::Accessed to WriteAccessed.
7 years ago
omar
29e0078b66
Internals: Window minor internal renaming + added WindowRounding latch.
7 years ago
omar
834fa52c8e
Columns: Added ImGuiColumnsFlags_GrowParentContentsSize to internal API to restore old content sizes behavior. ( #1444 , #125 )
7 years ago
omar
7746dd104c
Merge branch 'master' into drag_and_drop
7 years ago
omar
44c590393c
Merge branch 'master' into navigation
7 years ago
omar
4ad414c8d4
Internals: Window: Store whether the windows has a close button (we need that info for window/tabs dropping preview calculation)
7 years ago
omar
7c4be0a000
Internals: Added BringWindowToFront(), BringWindowToBack() helpers.
7 years ago
omar
5027311e7f
Drag and drop: Standardizing payload types as defines. ( #143 )
7 years ago
omar
ae060b1d67
Merge branch 'master' into drag_and_drop
7 years ago
omar
2275cb8b83
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
7 years ago
omar
3e06450d27
Internals: Added ArrowButton() helper.
7 years ago
omar
7908cce25f
Drag and Drop: Added internal BeginDragDropTargetCustom() convenient to avoid submitting dummy ItemAdd. ( #143 )
7 years ago
omar
a297cbafdb
Merge branch 'master' into navigation
7 years ago
omar
b6504b8eee
Drag and drop: Handle overlapping drag target priorities given their surface, which appears to make most sense for drag and drop operations.
7 years ago
omar
aae52522c3
Internals: Remove requirement to define IMGUI_DEFINE_PLACEMENT_NEW ( #1103 )
7 years ago
omar
571b08f315
Internal: FindWindowByName() faster and doesn't touch every windows
7 years ago
omar
de1e7dc088
Drag and Drop: Moved internal fields out of public sight. ( #143 )
7 years ago
omar
66f42324ad
Drag and Drop: Added ImGuiDragDropFlags_SourceNoHoldToOpenOthers flag.
7 years ago
omar
63f6f2dd13
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui.h
7 years ago
omar
a810619555
Drag and Drop: Added support for drag and drop hold-long-to-open for CollapsingHeader() and TreeNode(). Open only!
7 years ago
omar
1d7d8f8574
Merge branch 'master' into drag_and_drop
7 years ago
omar
b13d281356
Maintaining ActiveIdTimer and HoveredIdTimer (the later is useful for drag and drop, both will be of course for creators of custom widgets)
7 years ago
omar
0e775807b4
Drag and Drop: Added a mechanism to allow widgets with no identifiers (such as Text/Image) to be used with BeginDragDropSource() given the explicit ImGuiDragDropFlags_SourceAllowNullID flag.
7 years ago
omar
acf78da742
Drag and drop: moved to imgui.h
7 years ago