omar
da70c837da
Viewport: Removed unnecessary fields (now that the coordinate system is consistent accross viewports): MouseRefPrevViewport, MouseClickedPosViewportId. ( #1542 )
2018-04-26 15:30:19 +02:00
omar
f1ae07e532
Viewport, Platform: Using Platform_GetWindowFocus to provide a much stronger heuristic of platform z-order, in replacement for when the back-end cannot provide io.MouseHoveredViewport. The pressure for it to work well increased with the use of viewports by popups/menus. ( #1542 )
2018-04-26 11:52:38 +02:00
omar
5979233a3c
Misc: tweaks + minor changes merged from master to reduce branch drift. Removed code that ended up unused.
2018-04-25 18:23:39 +02:00
omar
0b1d6a0d52
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_internal.h
2018-04-25 18:13:23 +02:00
omar
e3453d0dc4
Misc: Comments and shallow/small changes (merged from viewport branch to minimize branch drift).
2018-04-25 17:58:53 +02:00
omar
3b9b1956cd
Merge branch 'master' into viewport
...
# Conflicts:
# examples/allegro5_example/imgui_impl_a5.cpp
# examples/allegro5_example/imgui_impl_a5.h
# examples/allegro5_example/imgui_impl_allegro5.cpp
# examples/allegro5_example/imgui_impl_allegro5.h
# examples/allegro5_example/main.cpp
# examples/imgui_impl_allegro5.cpp
# examples/imgui_impl_allegro5.h
# imgui.cpp
# imgui_internal.h
2018-04-25 15:32:04 +02:00
omar
01fa934222
Internals: Removed unecessary Pos/PosFloat separation, only reason appears to be mostly pre-1.0. The only piece of code that I expected sub-pixel window position to matter actually already round its delta (wrongly so, will fix later/separately if we want).
2018-04-25 15:24:26 +02:00
omar
cc882b0723
Viewport: Tidying up AddUpdateViewport() calls. Moved flags argument. Removed extraneous mid-frame call to FindPlatformMonitorFromRect(). ( #1542 )
2018-04-25 15:14:51 +02:00
omar
7684f53328
Viewport: Fixed issues with popups drifting in particular when reference mouse position become invalid (e.g. changing app focus while viewported-menu is open). Storing monitor index in viewport at beginning of the frame. ( #1542 )
2018-04-25 11:23:58 +02:00
omar
dc03c93164
Internals: Removed misleading ImRect::FixInverted + fix minor formatting in Readme.
...
Demo: Fixed Overlay: Added a context menu item to enable freely moving the window.
2018-04-24 14:19:10 +02:00
omar
cb78e62df9
Viewport, Platform: Fixed IME positioning for multi-viewport. Moved API from ImGuiIO to ImGuiPlatformIO. Because it is extremely unlikely to people redefined this API manually the moving-forward-breakage is ok. ( #1542 )
...
SDL2 ime support under Win32 never worked properly because of SDL interferences.
2018-04-24 12:40:38 +02:00
omar
456bbffcc4
Viewport: Switched to using unified platform-absolute mouse coordinates, which simplify lots of problems and simplify/reduce tricky conversions, makes ImVec2 less ambiguous. Fixed various viewport/windowing/popups/synchronization bugs. Settings on host-viewport are stored as relative (made settings decently compatible between viewport enable/disabled settings). Merged ImGuiViewport::Pos and ::PlatformPos. Tweaked thumbnails. Better, smaller code. ( #1542 )
2018-04-20 21:36:36 +02:00
omar
637d9c42bf
Viewport: WIP for Tooltips, Popups, Menus to create their own viewport. Resizing a window allows it to leave the main viewport. ( #1542 )
2018-04-19 13:12:02 +02:00
omar
1c385c2ca4
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx12.cpp
# examples/imgui_impl_dx9.cpp
# examples/opengl2_example/imgui_impl_glfw_gl2.cpp
# examples/opengl3_example/imgui_impl_glfw_gl3.cpp
# examples/sdl_opengl2_example/imgui_impl_sdl_gl2.cpp
# examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
# examples/vulkan_example/imgui_impl_glfw_vulkan.cpp
# imgui.cpp
# imgui_internal.h
2018-04-18 19:06:49 +02:00
omar
6a0b2627ad
BeginMainMenuBar: Followup to 1e41bad9
. Removed public window flag. DisplaySafeAreaPadding defaults to (3,3) instead of (4.4). Comments, tab to spaces, Changelog. ( #1439 )
2018-04-18 17:37:35 +02:00
Doug Binks
1e41bad90f
Added DisplaySafeAreaPadding to MainMenuBar height and fixed starting x position. Fixes main menu bar problems with TVs. ( #1439 )
2018-04-18 15:13:09 +02:00
omar
25f25d546d
Viewport: Fixed manual mouse resize to handle mouse viewport change, which will allow resizing a window while it changes viewport. Releasing manual resize may merge a window. Added ConvertViewportPosToViewportPos() helper. Renamed NewFrameUpdateMovingWindowDropViewport() to UpdateTryMergeWindowIntoHostViewport() and removed the now-unnecessary half of the function. + renaming ( #1542 )
2018-04-17 23:34:19 +02:00
omar
50e453a3e2
Viewport: Comments, tweaks, renaming. Removed unnecessary stuff. Fixed zealous Clang warning. ( #1542 )
2018-04-17 18:25:05 +02:00
omar
0d16492eb7
Viewport: Moved ImGuiWindowFlags_FullViewport to an internal ViewportOwned flag. Renamed AddViewport to AddUpdateViewport. (#Viewport: Shuffled code in Begin to reset size of reappearing popups prior to selecting viewport, to avoid mistakenly using an old size. Moved code out of UpdateSelectWindowViewport() to the section of Begin where positions is being locked down, to avoid code in-between duplicating this. ( #1542 ))
2018-04-16 17:11:59 +02:00
omar
38e357ef10
Viewport: Virtual mouse position are patched immediately when viewports are moved in the virtual space, avoiding interaction glitchs on a resizing frame. ( #1542 )
2018-04-12 19:57:35 +02:00
omar
e25da4230b
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2018-04-11 21:25:44 +02:00
omar
8be6f40ae1
Viewport: per-viewport overlay draw list created on demand. With this pattern it'll be easier to consider adding more (e.g. background draw list). ( #545 )
2018-04-11 21:21:52 +02:00
omar
bfc0efaae9
Internals: Window: Aggregating ImDrawList into the ImGuiWindow structure.
2018-04-11 12:43:38 +02:00
omar
83bd3595a4
Viewport: Merged ImGuiPlatformData into ImGuiPlatformIO. Comments. ( #1542 )
2018-04-10 22:58:39 +02:00
omar
52cac135c9
Internals: Renamed GetFrontMostModalRootWindow() to GetFrontMostPopupModal() and exposed in imgui_internal.h ( #1738 )
2018-04-10 15:04:36 +02:00
omar
56ad2a2d74
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/opengl2_example/imgui_impl_glfw_gl2.cpp
# examples/opengl3_example/imgui_impl_glfw_gl3.cpp
# examples/vulkan_example/main.cpp
# imgui.h
2018-04-09 19:35:14 +02:00
omar
6f1f5cbc20
Version 1.61 WIP
2018-04-09 14:02:32 +02:00
omar
3a29ddbcfa
Version 1.60
2018-04-08 00:45:02 +02:00
omar
6d0c720451
Internals: Removed unused internal variant of ArrowButton().
2018-04-07 23:06:06 +02:00
omar
82b7a39f31
Fixed a few zealous warnings.
2018-04-07 10:38:01 +02:00
omar
f421e73b40
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx12.cpp
# examples/imgui_impl_dx9.cpp
# examples/opengl2_example/imgui_impl_glfw_gl2.cpp
# examples/opengl3_example/imgui_impl_glfw_gl3.cpp
# examples/sdl_opengl2_example/imgui_impl_sdl_gl2.cpp
# examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
# examples/vulkan_example/imgui_impl_glfw_vulkan.cpp
# imgui.cpp
# imgui.h
# imgui_internal.h
2018-04-06 23:36:23 +02:00
omar
e88fb10d7c
NewFrame: Extract some code into a NewFrameUpdateHoveredWindowAndCaptureFlags() which can be of use with touch-based inputs systems.
2018-04-06 19:36:15 +02:00
omar
ac2027c415
NewFrame: Extract some code into a NewFrameUpdateMouseInputs function. Moved settings saving higher up in the function so it is next to its peers.
2018-04-06 19:36:14 +02:00
omar
72899318e6
Viewport, Platform, Examples: Added support for transparent window via PlatformIO Platform_SetWindowAlpha ( #1542 ) + fixes for GLFW 3.3
2018-04-05 17:07:46 +02:00
omar
0cad274b87
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx12.cpp
# examples/imgui_impl_dx9.cpp
# examples/opengl2_example/imgui_impl_glfw_gl2.cpp
# examples/opengl3_example/imgui_impl_glfw_gl3.cpp
# examples/sdl_opengl2_example/imgui_impl_sdl_gl2.cpp
# examples/sdl_opengl2_example/imgui_impl_sdl_gl2.h
# examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
# examples/sdl_opengl3_example/imgui_impl_sdl_gl3.h
# imgui.cpp
2018-04-04 19:39:42 +02:00
omar
78610a54d2
Fixed Clang zealous cast-call warning (on par with GCC) which decided to warn against explicit C-style casts now.
2018-04-03 20:55:30 +02:00
omar
ac8931b2e9
Viewport: Moved OverlayDrawList to be a per-viewport instead of being global + fix overlay clipping glitch during viewport creation frame + support for software mouse cursor stradding over multiple viewport. The overlay draw list move is rather important as draw lists are not shared among viewports anymore and we can do a swap of their data without copying it. ( #1542 )
2018-03-22 22:09:42 +01:00
omar
b69dc45f6e
Internals: Removed ImGuiDataType_Float2.
2018-03-22 20:14:31 +01:00
omar
c19b27813d
Added InputDouble() function. We use a format string instead of a decimal_precision parameter to also for "%e" and variants. ( #1011 ) May transition the other InputXXX function to use format strings as well.
2018-03-22 18:58:40 +01:00
omar
172570acae
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx12.cpp
# examples/imgui_impl_dx9.cpp
# examples/opengl2_example/imgui_impl_glfw_gl2.cpp
# examples/opengl3_example/imgui_impl_glfw_gl3.cpp
# examples/sdl_opengl2_example/imgui_impl_sdl_gl2.cpp
# examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
# examples/vulkan_example/imgui_impl_glfw_vulkan.cpp
# imgui.h
2018-03-20 22:14:34 +01:00
omar
170f44e6f0
IO: Renamed io.WantMoveMouse to io.WantSetMousePos (was added in 1.52, _not_ used by core and only honored by some binding ahead of merging the Nav branch) + internal renaming ( #787 )
2018-03-20 20:12:34 +01:00
omar
c29971cf72
Merge branch 'master' into viewport
...
# Conflicts:
# examples/sdl_opengl2_example/main.cpp
# examples/sdl_opengl3_example/main.cpp
# examples/vulkan_example/main.cpp
2018-03-20 16:05:31 +01:00
omar
ccc9a22db3
Viewport: Changelog + Internals: Renamed viewport mouse fields for consistency (going to add more). ( #1542 )
2018-03-19 22:59:55 +01:00
omar
33ad8b2f0c
Nav: Track nav input source more generally (gamepad vs keyboard) ( #787 ) + update todos and demo tweaks
2018-03-19 13:20:18 +01:00
omar
46b61427e1
Viewport, Platform: Refactored platform interface. Removed need to use imgui_internal.h in backends. Split viewport into public facing ImGuiViewport and internal structure. Exposing enough data to provide custom tweaked renderers. Renamed handlers, fixed lots of inconsistencies. ( #1542 , #1042 )
2018-03-18 18:44:57 +01:00
omar
1ab236d9df
Viewport, Platform: Internal renaming to use more consistent (OsDesktopPos > PlatformPos). ( #1542 )
2018-03-15 20:07:48 +01:00
omar
8364d1ca6c
Viewport: Removed back-end renderer code that implied we need to clear with WindowBg color. Added NoRendererClear flag. ( #1542 , #1042 )
2018-03-15 18:17:04 +01:00
omar
6e58a95a01
Viewport, Platform, Examples: Changes to resizing flow + restored support for Platform events affecting the ImGui windows (so Decorated windows are functional). ( #1542 , #1042 ) ..
...
SDL: Added platform move/resize/close support.
GLFW: Added platform move/resize support. Moved Close to use callback for consistency.
Win32:
Vulkan: Fixed resize support.
Naming is WIP "PlatforrmRequestXXX" is too ambiguous. Basically we either have a ImGui->Platform flow or a Platform->ImGui flow. Working a bigger refactor now.
2018-03-15 10:57:22 +01:00
omar
207ad45983
Metrics: Displaying all draw lists of a window (if it uses layer 0 and has already been appended to earlier in the frame).
2018-03-14 17:50:11 +01:00
omar
8657201257
Merge branch 'master' into viewport
2018-03-13 16:20:02 +01:00
omar
0e3a6ef4f7
Moved IM_NEW, IM_DELETE helpers to imgui.h for convenient use by back-ends and user code.
2018-03-13 16:18:40 +01:00
omar
f6fc28dfd2
Merge branch 'master' into viewport (inc Vulkan resize fix merge #1042 )
2018-03-12 17:50:32 +01:00
omar
b9ac127b0b
Internals: Columns renaming fields
2018-03-12 11:03:27 +01:00
omar
5e63711084
Viewport, DPI: Some early work on per-viewport DPI support. At the moment the easiest way is to replace fonts during the ChangedViewport callback, but down the line we should aim at handling some of it at ImFont level. ( #1542 , #1676 )
2018-03-12 10:31:39 +01:00
omar
a4629b0b36
Viewport, DPI: Select viewport before locking style sizes and before handling double-click-on-title-bar to collapse. ( #1542 , #1676 )
2018-03-12 10:31:38 +01:00
omar
64cbbed152
Merge branch 'master' into viewport
2018-03-09 10:41:12 +01:00
omar
43f375b2f2
Viewport,Platform: Added GetWindowDpiScale() platform interface, changes of scale are reflected by positioning and resizing windows in their given viewport. ( #1542 )
2018-03-09 10:40:38 +01:00
omar
4d46383100
Viewport: Coupling non-main viewport to one window. Viewport name derived from the window. Added ImGuiConfigFlags_PlatformNoTaskBar, off by default (aka re-established task-bars by default for now). ( #1542 )
2018-03-08 20:27:01 +01:00
omar
a1f3949d71
Drag and Drop: Increased payload data type to 32 characters. ( #143 )
2018-03-08 10:42:51 +01:00
omar
9ea16e344a
Viewport: Disable extra viewports from hosting other windows. ( #1542 )
2018-03-07 16:34:18 +01:00
omar
3637193556
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_glfw.h
# examples/opengl3_example/imgui_impl_glfw_gl3.cpp
# examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
# examples/sdl_opengl3_example/imgui_impl_sdl_gl3.h
# imgui.cpp
2018-03-06 20:02:40 +01:00
omar
8e3274e137
Viewport: Tracking current viewport we are appending to + added callback in PlatformInterface for DPI purpose (WIP). ( #1542 )
2018-03-05 22:31:12 +01:00
omar
bf7481eba0
Columns: Extent stop at the right-most clipped pixel. The right-most column might appear a little wider but it's usable space matches the others. ( #125 ). +9 Internal: Store InnerClipRect.
2018-03-04 17:44:17 +01:00
omar
c4a158656e
Merge branch 'master' into viewport
...
# Conflicts:
# examples/allegro5_example/main.cpp
# examples/directx10_example/main.cpp
# examples/directx11_example/main.cpp
# examples/directx12_example/main.cpp
# examples/directx9_example/main.cpp
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx12.cpp
# examples/imgui_impl_dx9.cpp
# examples/imgui_impl_glfw.h
# examples/imgui_impl_vulkan.cpp
# examples/opengl2_example/imgui_impl_glfw_gl2.cpp
# examples/opengl2_example/main.cpp
# examples/opengl3_example/imgui_impl_glfw_gl3.cpp
# examples/opengl3_example/main.cpp
# examples/sdl_opengl2_example/imgui_impl_sdl_gl2.cpp
# examples/sdl_opengl2_example/main.cpp
# examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
# examples/sdl_opengl3_example/main.cpp
# examples/vulkan_example/main.cpp
# imgui.cpp
# imgui.h
2018-03-03 23:13:31 +01:00
omar
e026c8d3b7
Viewport: Give a chance to platform and renderer to actually destroy their data. Otherwise the regular ImplXXX_Shutdown + following by DestroyContext() order fails to fullifl this. ( #1542 )
2018-03-03 22:53:31 +01:00
omar
69e700f869
Renamed ImGuiStyleVar_Count_ to ImGuiStyleVar_COUNT for consistency with other enums. Added
2018-03-03 20:15:10 +01:00
omar
8a4093f38b
Added ArrowButton(). Exposed ImGuiDir.
2018-03-03 20:08:03 +01:00
omar
11f13ab24f
Internal: renamed RenderTriangle() to RenderArrow().
2018-03-03 19:08:22 +01:00
omar
c994796e26
Internal: Moved IM_NEWLINE helper to imgui_internal.h
2018-02-28 21:45:02 +01:00
omar
d98a5d54aa
Renamed ImGuiNavFlags io.NavFlags to ImGuiConfigFlags io.ConfigFlags. ( #787 )
2018-02-28 19:03:39 +01:00
omar
2c9f45bbe7
Renamed ImGuiNavFlags io.NavFlags to ImGuiConfigFlags io.ConfigFlags. ( #787 )
2018-02-28 18:51:40 +01:00
omar
735267d27c
Viewport: Initial viewport branch+ platform api commit (squashed from previous commits, still very WIP) ( #1542 )
2018-02-27 23:25:39 +01:00
omar
0e62b7d68a
Clearing next window data at the end of Begin() more reliably. Misc comments.
2018-02-27 22:47:45 +01:00
omar
a761779b12
Internals: Settings: Added ReadCloseFn to allow handlers to sanitize data on a per-entry basis.
2018-02-27 22:32:45 +01:00
omar
c7835dd189
ImRect: Removed misleading IsFinite() function used by some Nav code.
2018-02-26 16:35:46 +01:00
omar
27667fc035
TreeNode: Renamed Beta ImGuiTreeNodeFlags_NavCloseFromChild to ImGuiTreeNodeFlags_NavLeftJumpsBackHere. ( #1079 )
2018-02-25 14:15:37 +01:00
omar
b28995b667
Nav: Internals: Exposed NavMoveRequestCancel in imgui_internal.h ( #1640 )
2018-02-22 15:39:49 +01:00
omar
b33f0e215f
Initialization happens during CreateContext(), which makes it easier for platform layers to interact with the context during their initialization.
2018-02-18 23:28:56 +01:00
omar
3b163ac35b
Internals: Clarified internal storage for RootWindow with specific semantic (the Docking branch will need to introduce finer differenciation there.)
2018-02-08 23:11:51 +01:00
omar
7c16d52f72
Updated version to 1.60 WIP to emphasis on the addition of required calls CreateContext/DestroyContext + merged the massive Navigation branch ( #1565 , #787 )
2018-02-06 20:20:34 +01:00
omar
f0364aa359
Merge branch 'context'
...
# Conflicts:
# examples/allegro5_example/main.cpp
# examples/directx10_example/main.cpp
# examples/directx11_example/main.cpp
# examples/directx9_example/main.cpp
# examples/marmalade_example/main.cpp
# examples/opengl2_example/main.cpp
# examples/opengl3_example/main.cpp
# examples/sdl_opengl2_example/main.cpp
# examples/sdl_opengl3_example/main.cpp
# examples/vulkan_example/main.cpp
2018-02-06 20:16:03 +01:00
omar
7e32fc7109
Nav: Toward automatically mapping keyboard input. Renamed ImGuiNavInput_PadXXX to ImGuiNavInput_XXX. Renamed ImGuiNavInput_KeyXXX to ImGuiNavInput_KeyXXX_ (internal). ( #787 )
2018-02-06 19:23:12 +01:00
omar
cea8017e0b
Merge branch 'master' into context
2018-02-06 18:04:44 +01:00
omar
db071184a0
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2018-02-06 13:51:09 +01:00
omar
b50dce54ea
Drag and Drop: TreeNode as drop target displays rectangle over full frame. Added optional internal storage for item display rect. Will expose later. ( #1597 , #143 )
2018-02-06 13:46:14 +01:00
omar
e6926d9f7c
Internals: Refactored bool LastItemRectHovered into flags. ( #1597 )
2018-02-06 13:34:41 +01:00
omar
ce2b8d3255
Nav: Comments, removed extraneous parameter.
2018-02-06 13:16:44 +01:00
omar
0c0d811859
Nav: SetItemDefaultFocus() doesn't make the navigation cursorr highlight visible. Renamed NavInitResultExplicit to NavInitRequestFromMove. ( #787 )
2018-02-05 23:53:40 +01:00
omar
e5e3cc617e
Nav: Maintaining a NavActivatePressedId field that widget can conveniently use along with NavActivateDownId.
2018-02-05 19:37:29 +01:00
omar
f35734c925
Nav: Debugging code. ( #787 )
2018-02-05 17:02:30 +01:00
omar
8ad88f725c
Nav: Minor tidying up. ( #787 )
2018-02-05 14:53:22 +01:00
omar
bed55a41e1
Internals: ImRect: Added IsInverted() helper.
2018-02-05 14:51:28 +01:00
omar
e2654a097b
ImRect: added IsInverted() helper.
2018-02-04 18:30:37 +01:00
omar
ce9d7baaba
Nav: TreeNode: Added ImGuiTreeNodeFlags_NavCloseFromChild flag, allow closing a TreeNode() from any of child. The explicit flag is not great, perhaps allowing some form of inheritance would help. ( #787 , #1079 )
2018-02-02 17:47:05 +01:00
omar
68d3e139a7
Nav: When focusing a parent window while closing a popup, hide its highlight for one frame to avoid potential double highlight and flicker with the common pattern of menu items leading to the opening other windows. ( #787 )
2018-02-01 22:28:58 +01:00
omar
950f260a32
Nav: Fixed Selectable/MenuItem Nav Highlight from using rounding when outer highlight stays square. ( #787 )
2018-02-01 22:25:25 +01:00
omar
79ff3c2d49
Merge branch 'master' into navigation
2018-02-01 18:33:40 +01:00
omar
07163804df
Internals: Renamed CloseInactivePopups() to a better ClosePopupsOverWindow(). Exposed in imgui_internal.h
2018-02-01 18:31:41 +01:00
omar
fd6d8863f7
Nav: SetFocusID() clears NavInitRequest for consistency (repro would a same frame interaction / race condition). ( #787 )
2018-02-01 18:19:36 +01:00
omar
8cc2dbc3bd
Internals: Nav: Extracted code into IsWindowNavFocusable(). ( #787 )
2018-02-01 14:56:56 +01:00
omar
bdd868704f
Nav: Child window is restored on focus when returning to layer 0 or refocusing. This is a little experimental and potentially error-prone right now. ( #787 , vaguely relate to ~#727) Ideally we should maintain a non-sorted last-focused list that include childs windows.
2018-02-01 00:50:42 +01:00
omar
27980d9688
Merge branch 'master' into context
2018-01-31 16:02:26 +01:00
omar
c851b33352
Nav: Added proper version of ImGuiWindowFlags_NavFlattened that handles scrolling nicely. Marked as private as I'm not happy with the name. ( #787 )
2018-01-29 23:59:46 +01:00
omar
c8d8dc7f0a
Nav: Internals: Renamed RootNavWindow to NavRootWindow ( #787 )
2018-01-29 23:59:43 +01:00
omar
72485a5d04
Nav: Refactor NavMoveResult** flags into ImGuiNavMoveResult structure as we are going to want two instances of it. ( #787 ) (+1 squashed commits)
...
+ store window inside result.
2018-01-29 23:59:42 +01:00
omar
1cf38d0334
Internals: Nav: Renamed ImGuiNavForward enum ( #787 )
2018-01-29 18:12:32 +01:00
omar
4654040bcb
Nav: Comments, added enum to clarify NavForward code. ( #787 )
2018-01-29 17:35:36 +01:00
omar
3ded262776
Merge branch 'master' into navigation
2018-01-26 16:07:43 +01:00
omar
04d5783ffd
Nav: Cleaning up + using ImGuiInputSource source enum instead of a silly bool. ( #787 )
2018-01-25 19:36:38 +01:00
omar
f2d5300408
Nav: Keyboard: Added CTRL+TAB (and CTRL+Shift+TAB) style window selection. ( #787 )
2018-01-25 19:03:47 +01:00
omar
8bf0c89c0d
Internals: ImRect::Contains(ImRect&) include boundaries (whereas Contains(ImVec2) should not).
2018-01-25 14:24:57 +01:00
omar
d404b93b6b
Nav: Mouse clicking on a window (to select/move) disables hides nav highlight. ( #787 ) + comments
2018-01-24 19:57:39 +01:00
omar
f3776055d6
Merge branch 'master' into context
2018-01-24 19:31:11 +01:00
omar
28671aa821
Nav: Internals: Moved some enums and functions to internals, renamed ImGuiNavReadMode to ImGuiInputReadMode as well. ( #787 )
2018-01-24 17:41:47 +01:00
omar
d500113f1d
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
2018-01-23 19:16:43 +01:00
omar
9a76fd30fd
Added SetNextWindowBgAlpha() helper. ( #1567 ) particularly helpul with the marking of the old 5-parameters version of Begin() as obsolete.
2018-01-23 19:13:49 +01:00
omar
db2ba13154
Internals: Exposed SetCurrentFont() in imgui_internal.h
2018-01-23 16:33:06 +01:00
omar
1acb155419
Internals: Moved unnecessary MovingWindowMoveId field.
2018-01-22 14:31:20 +01:00
omar
9edf211c0e
Merge branch 'master' into navigation
2018-01-21 20:46:50 +01:00
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 )
2018-01-21 20:16:54 +01:00
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 )
2018-01-20 20:25:12 +01:00
omar
8877622fa8
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
2018-01-19 15:42:28 +01:00
omar
c2ffce3e5a
Drag and Drop: Fix comment. Removed IMGUI_PAYLOAD_TYPE_DOCKABLE from master branch. ( #143 )
2018-01-18 17:39:40 +01:00
omar
cc15512bfc
InputText: Minor tweak.
2018-01-17 12:15:24 +01:00
omar
a221d253f3
Nav: Comment.
2018-01-15 20:13:49 +01:00
omar
472ba1394c
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
2018-01-15 20:13:42 +01:00
omar
28a76af185
Internal: DrawData: Tidying, renaming.
2018-01-15 20:12:48 +01:00
omar
a77913054f
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2018-01-15 18:02:58 +01:00
omar
1182174d81
Internals: DrawData: We don't need an intermediate layer for popups.
2018-01-15 18:00:13 +01:00
omar
038453258e
Internals: DrawData: Refactored chunks into a ImDrawDataBuilder we can reuse.
2018-01-15 17:48:32 +01:00
omar
061d8df033
MIssing IMGUI_API for a type with non-inline methods.
2018-01-15 17:48:32 +01:00
omar
06eef2ce6f
Internals: DrawData: renamed fields only (committing separately so that next commit is less nosiy).
2018-01-15 17:48:32 +01:00
omar
514d30d8cd
MovingWindow: Track click offset based on MovingWindow and not its RootWindow. Followup to 3849bb4470
. Comments + adding a local to ease patch #1345 .
2018-01-14 14:13:54 +01:00
omar
db63e71f13
Internals: Exposed SetCurrentFont() in imgui_internal.h
2018-01-12 20:07:01 +01:00
omar
1493de4f81
Internals: Merge of harmless stuff from Navigation stuff. Added GetHoveredID() internal helper.
2018-01-12 19:53:27 +01:00
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 )
2018-01-12 19:28:37 +01:00
omar
c9be7d7254
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2018-01-12 19:21:12 +01:00
omar
0a98202714
Nav: Standardized FIXME-NAV marker.
2018-01-12 19:13:15 +01:00
omar
16285603f2
Internals: Initializing fields in same order as declaration order + fixed uninitialized DragDropAcceptIdCurrRectSurface (was harmless)
2018-01-12 19:11:11 +01:00
omar
919fc548ad
Merge branch 'master' into navigation
2018-01-10 18:58:26 +01:00
omar
0cabd81071
Internals: Rect: Added ClipWillFull helper + comments on variations.
2018-01-10 14:43:08 +01:00
omar
92d75c44bc
Internals: ImVec2 versions of ImMin, ImMax inline float version for a faster full-on-debug-no-inline experience.
2018-01-10 14:43:02 +01:00
omar
3f4eccf154
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
2018-01-07 16:22:09 +01:00
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 )
2018-01-07 16:20:02 +01:00
omar
deab2ab015
Popups: Gently handle the user mistakenly calling OpenPopup() every frame. (when reopen_existing is true). ( #1497 )
2018-01-07 16:15:54 +01:00
omar
69ff65f054
Internals: Popup: Renaming fields.
2018-01-07 16:11:25 +01:00
omar
3678307cd9
Popup, Menus: Tweaks and comments.
2018-01-07 15:56:14 +01:00
omar
369189b675
Internals: Popup: Explicitely setting up ImGuiPopupRef reduces confusion.
2018-01-07 15:40:46 +01:00
omar
a34490239c
Internals: Popup: Separating MousePosOnOpen and PopupPosOnOpen. They are equal in the master branch but different in the navigation branch.
2018-01-07 14:03:56 +01:00
omar
95b773370f
Revert "Internals: Added LastActiveId, LastActiveIdTimer. ( #1537 )" Will come up with a better design later.
...
This reverts commit 007f4034c9
.
2018-01-05 17:40:51 +01:00
omar
007f4034c9
Internals: Added LastActiveId, LastActiveIdTimer. ( #1537 )
2018-01-05 15:33:24 +01:00
omar
29c194b2a4
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
2018-01-03 20:47:42 +01:00
omar
4fc9f44073
Merge of minor left-overs from private work branch to reduce drifts. Should be functionally a no-op.
2018-01-03 20:46:54 +01:00
omar
b2ec0741f1
Internals: Settings api tweaks
2018-01-03 20:45:17 +01:00
omar
2b8224692e
Merge branch 'master' into navigation
2018-01-03 20:26:24 +01:00
omar
f9b2058d5a
Internals: Renamed ImGuiSimpleColumns to ImGuiMenuColumns to avoid confusion. Reduced internal buffer size (we only use 3 slots).
2018-01-03 14:35:11 +01:00
omar
96ccc484f9
Merge branch 'master' into navigation
...
# Conflicts:
# imgui_internal.h
2018-01-03 12:33:27 +01:00
omar
3c6fbe0849
Renamed ImGuiSizeConstraintCallback to ImGuiSizeCallback, ImGuiSizeConstraintCallbackData to ImGuiSizeCallbackData.
2018-01-03 12:31:56 +01:00
omar
7fcbd45500
Internals: NextWindow: Renamed, moved functions to member.
2018-01-03 12:28:16 +01:00
omar
e339949de1
Internals: NextWindow: Using ImGuiCond for consistency.
2018-01-03 12:22:02 +01:00
omar
04b44398eb
Internals: refactored g.SetNextWindow fields into g.NextWindow. structure (so it can be more easily transported/copied)
2018-01-03 12:12:41 +01:00
omar
7a15fc8de5
Merge branch 'master' into navigation
2017-12-29 18:28:23 +01:00
omar
6ec00a366a
Internals: ImRect: Minor formatting tweaks.
2017-12-29 18:28:04 +01:00
omar
fbf2435f38
Exposed IM_OFFSETOF() helper in imgui.h
2017-12-29 18:16:19 +01:00
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
.
2017-12-29 17:59:13 +01:00
omar
c4e6d622c1
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui.h
2017-12-29 13:39:07 +01:00
omar
49eed6e2d1
Version 1.54 WIP
2017-12-28 15:17:35 +01:00
omar
436cad4bca
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.h
2017-12-26 15:37:31 +01:00
omar
e916310b2e
Version 1.53
2017-12-25 17:41:41 +01:00
omar
67191badc2
Merge branch 'master' into navigation
2017-12-23 23:10:41 +01:00
omar
bb8dfe4a34
Fixed incorrect IM_DELETE macro ( 9cda86d55a
) ( #1517 , #484 , #504 )
2017-12-23 23:10:26 +01:00
omar
ffb4f6ca8c
Merge branch 'master' into navigation
2017-12-23 16:27:48 +01:00
omar
9cda86d55a
Internals: Added IM_NEW, IM_DELETE helper macros ( #1517 , #484 , #504 )
2017-12-23 16:24:33 +01:00
omar
1f26652944
Various zealous warning fixes (thanks Clang).
2017-12-23 14:07:03 +01:00
omar
287380261c
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
2017-12-21 19:55:21 +01:00
omar
c8c872c753
Internals: String functions uses size_t in their signature
2017-12-21 19:49:54 +01:00
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.
2017-12-21 18:52:34 +01:00
omar
4c2514dc29
Merge branch 'master' into navigation
2017-12-21 11:18:42 +01:00
omar
b9391d1692
Columns: Internal: Columns have their no set of flags so NoResize can be setup by internal code. ( #125 )
2017-12-15 17:06:47 +01:00
omar
cc3192f347
Merge branch 'master' into navigation
...
# Conflicts:
# imgui_internal.h
2017-12-13 22:09:08 +01:00
omar
ddbcda8c1b
Columns: Column width data is no longer lost while dragging toward the right side. ( #1499 , #125 )
2017-12-13 21:51:23 +01:00
omar
e8e84a6ad6
Columns: Added internal tracking of a few flag temporarily, to facilitate the work of third-parties who have columns patches. ( #125 )
2017-12-13 19:26:04 +01:00
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 )
2017-12-13 19:21:21 +01:00
omar
b016215c80
Columns: Refactor: Not using statestorage lookup anymore. ( #125 , #1499 )
2017-12-13 19:07:09 +01:00
omar
3a31a75e3b
Columns: Refactor: Renamed all members. ( #125 , #1499 )
2017-12-13 18:42:06 +01:00
omar
78320aa633
Columns: Refactor: Moved columns data into their own data structure. Minimum changes now to ease diffing. ( #125 , #1499 )
2017-12-13 18:41:51 +01:00
omar
16fb58984f
Merge branch 'master' into navigation
2017-12-12 23:41:48 +01:00
omar
90d0b8b58b
Navigation: minor sync to reduce drifts between changes
2017-12-12 23:41:20 +01:00
omar
8b59ed0708
Drag and Drop: Exposed some internals.
2017-12-12 23:37:27 +01:00
omar
7c7a7baf76
Merged miscellaneous small stuff (from nav/dock branches).
2017-12-12 23:36:25 +01:00
omar
fa9327ccf8
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_draw.cpp
# imgui_internal.h
2017-12-12 20:44:12 +01:00
omar
d0a1be0de0
Merge branch 'drag_and_drop'
2017-12-12 20:39:52 +01:00
omar
3ea5e67ba2
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
2017-12-12 18:47:23 +01:00
omar
28bbf1ade6
Fixed ParentWindow setup which broke Modal windows (fix c65124f415
)
2017-12-12 18:45:57 +01:00
omar
052b6021dd
Merge branch 'master' into drag_and_drop
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_internal.h
2017-12-12 15:02:05 +01:00
omar
0a3db267c3
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_demo.cpp
# imgui_internal.h
2017-12-12 14:58:53 +01:00
omar
c22657985a
Added GetFrameHeight() function (used to be SmallSquareSize internally)
2017-12-12 14:12:49 +01:00
omar
ee7f1921e8
Internals: Added GetSmallSquareSize()
2017-12-12 14:08:58 +01:00
omar
c65124f415
Internals: ParentWindow is now NULL for non-child windows and means what everyone expects.
2017-12-12 12:50:43 +01:00
omar
f42d7b89e2
Internals: Removed misleading GetWindowParent() function. + renaming to clear confusing.
2017-12-12 12:50:42 +01:00
omar
4a555d35f0
IsWindowHovered(): split ImGuiHoveredFlags_FlattenChild into separate ChildWindows and RootWindow flags. Allowing more combination and a better symetry with IsWindowFocused() flags. ( #1382 )
2017-12-12 12:50:42 +01:00
omar
45f440bb7d
Internals: Renamed ImGuiButtonFlags_FlattenChilds -> ImGuiButtonFlags_FlattenChildren, ImGuiButtonFlags_AllowOverlapMode -> ImGuiButtonFlags_AllowItemOverlap
2017-12-11 22:39:10 +01:00
omar
2b9d8ab91d
Merge branch 'master' into drag_and_drop
...
# Conflicts:
# imgui.cpp
# imgui.h
2017-12-11 16:39:27 +01:00
omar
d1db229907
Merge branch 'master' into navigation
...
# Conflicts:
# imgui_demo.cpp
2017-12-10 19:01:59 +01:00
omar
e3e0326ea9
Exposed BeginCombo() publicly.
2017-12-10 18:08:59 +01:00
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 )
2017-12-10 17:36:30 +01:00
omar
a6f37287d8
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
2017-12-08 15:06:37 +01:00
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.
2017-12-08 15:03:26 +01:00
omar
7bf85db6c4
Drag and drop: Added COL3F payload for color without alpha overwrite. Exposed standard color payload types in imgui.h ( #143 )
2017-12-08 12:48:53 +01:00
omar
553b0fcf8f
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
2017-12-07 21:20:16 +01:00
omar
45466a8cf9
Internals: BeginCombo() added dummy ImGuiComboFlags.
2017-12-07 21:14:41 +01:00
omar
e6215b6ca0
Merge branch 'master' into navigation + merge fix
...
# Conflicts:
# imgui.cpp
2017-12-07 16:42:52 +01:00
omar
8959c64b33
Internals: Cleanup FindBestPopupWindowPos() to be more digestible, since we are bounds to rework the logic there. No functional changes intended
2017-12-07 13:29:14 +01:00
omar
2fc6a82665
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui.h
2017-12-06 17:44:40 +01:00
omar
beda5fc5a0
Fixed scrollbar enable/disable calculation when size is modified programmatically. This is the generalization of the fix in 2df8fa95df
.
2017-12-06 15:13:45 +01:00
omar
e103fe8c1f
Tweak four-corners resize grip code. Added ImRect::FixInverted() helper. ( #822 )
2017-12-06 15:13:45 +01:00
omar
729333293c
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui.h
2017-12-05 22:56:35 +01:00
omar
b9dc0caee3
Tweak four-corners resize grip code. Added ImRect::FixInverted() helper. ( #822 )
2017-12-05 22:44:52 +01:00
omar
364251146b
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
2017-12-05 16:15:05 +01:00
omar
16d9fa30b2
Merge branch 'master' into drag_and_drop
2017-12-05 09:21:07 +01:00
omar
c860a0a85c
Internals: ImRect: Added IsFinite() helper.
2017-12-01 17:39:13 +01:00
omar
81cbaef806
Merge branch 'master' into navigation
2017-11-29 23:49:17 +01:00
omar
52e475230f
Settings: Internals: Renaming.
2017-11-28 23:16:09 +01:00
omar
7ae71e4984
Settings: Internals: Added FindSettingsHandler()
2017-11-28 21:04:38 +01:00
omar
35eb5c5c99
Settings: Internals: Exposed FindWindowSettings(). Simplified some code.
2017-11-28 21:04:38 +01:00
omar
963259d128
Settings: Internals: Renamed ImGuiSettingsWindow to ImGuiWindowSettings.
2017-11-28 21:04:38 +01:00
omar
63712d5f5c
Merge branch 'master' into drag_and_drop
2017-11-28 17:28:45 +01:00
omar
9191b17218
Merge branch 'master' into navigation
2017-11-28 17:28:08 +01:00
omar
f3ec608c19
Settings: Initializing ImGuiSettingsWindow so external users don't end up with uncleared data. Exposed MarkIniSettingsDirty() in imgui_internal.h
2017-11-28 10:49:43 +01:00
omar
7e2d0d734c
Settings: basic refactor so that additional data structures can be loaded/saved. Parser/saver is still the minimum viable poor-man parsing.
2017-11-27 23:57:11 +01:00
omar
d552cabd15
Settings: Internal renaming of structure and fields names.
2017-11-27 23:57:10 +01:00
omar
4e3c7f1557
Nav: Exposed NavInitWindow() in imgui_internal ( #787 )
2017-11-24 16:55:49 +01:00
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.
2017-11-22 15:58:20 +01:00
omar
b618629d99
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
2017-11-22 12:34:59 +01:00
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.
2017-11-22 12:33:59 +01:00
omar
68b26b4867
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
2017-11-22 11:04:00 +01:00
omar
302757447a
Internals: Added SplitterBehavior(). ( #319 )
2017-11-20 19:41:17 +01:00
omar
2543807e56
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2017-11-20 13:54:06 +01:00
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).
2017-11-20 13:53:16 +01:00
thedmd
8b2d449b16
Add ShadeVertsLinearUV()
2017-11-19 21:56:36 +01:00
omar
92212b17aa
Merge branch 'master' into drag_and_drop
2017-11-19 16:23:37 +01:00
omar
9848a7023b
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
2017-11-19 16:21:21 +01:00
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.)
2017-11-19 12:06:45 +01:00
omar
d211a0e338
Merge branch 'master' into navigation (with style breakable)
...
# Conflicts:
# imgui.cpp
# imgui_draw.cpp
2017-11-19 00:39:37 +01:00
omar
4022ada843
Merge branch 'master' into drag_and_drop
2017-11-19 00:36:32 +01:00
omar
6f7b1bf2e1
Internals: Renamed ImGuiWindow::Accessed to WriteAccessed.
2017-11-19 00:29:29 +01:00
omar
29e0078b66
Internals: Window minor internal renaming + added WindowRounding latch.
2017-11-18 19:06:11 +01:00
omar
834fa52c8e
Columns: Added ImGuiColumnsFlags_GrowParentContentsSize to internal API to restore old content sizes behavior. ( #1444 , #125 )
2017-11-16 17:34:34 +01:00
omar
7746dd104c
Merge branch 'master' into drag_and_drop
2017-11-16 13:28:22 +01:00
omar
44c590393c
Merge branch 'master' into navigation
2017-11-16 13:28:10 +01:00
omar
4ad414c8d4
Internals: Window: Store whether the windows has a close button (we need that info for window/tabs dropping preview calculation)
2017-11-16 13:23:50 +01:00
omar
7c4be0a000
Internals: Added BringWindowToFront(), BringWindowToBack() helpers.
2017-11-16 13:11:49 +01:00
omar
5027311e7f
Drag and drop: Standardizing payload types as defines. ( #143 )
2017-11-15 22:23:21 +01:00
omar
ae060b1d67
Merge branch 'master' into drag_and_drop
2017-11-15 10:24:54 +01:00
omar
2275cb8b83
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
2017-11-13 15:19:43 +01:00
omar
3e06450d27
Internals: Added ArrowButton() helper.
2017-11-13 15:18:31 +01:00
omar
7908cce25f
Drag and Drop: Added internal BeginDragDropTargetCustom() convenient to avoid submitting dummy ItemAdd. ( #143 )
2017-11-13 15:17:41 +01:00
omar
a297cbafdb
Merge branch 'master' into navigation
2017-11-08 23:17:14 +01:00
omar
b6504b8eee
Drag and drop: Handle overlapping drag target priorities given their surface, which appears to make most sense for drag and drop operations.
2017-11-08 15:47:52 +01:00
omar
aae52522c3
Internals: Remove requirement to define IMGUI_DEFINE_PLACEMENT_NEW ( #1103 )
2017-11-07 14:06:02 +01:00
omar
571b08f315
Internal: FindWindowByName() faster and doesn't touch every windows
2017-11-07 13:59:55 +01:00
omar
de1e7dc088
Drag and Drop: Moved internal fields out of public sight. ( #143 )
2017-11-06 20:04:10 +01:00
omar
66f42324ad
Drag and Drop: Added ImGuiDragDropFlags_SourceNoHoldToOpenOthers flag.
2017-11-01 17:25:42 +01:00
omar
63f6f2dd13
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui.h
2017-11-01 15:09:23 +01:00
omar
a810619555
Drag and Drop: Added support for drag and drop hold-long-to-open for CollapsingHeader() and TreeNode(). Open only!
2017-10-30 00:03:04 +01:00
omar
1d7d8f8574
Merge branch 'master' into drag_and_drop
2017-10-29 23:49:24 +01:00
omar
b13d281356
Maintaining ActiveIdTimer and HoveredIdTimer (the later is useful for drag and drop, both will be of course for creators of custom widgets)
2017-10-29 23:49:01 +01:00
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.
2017-10-29 23:10:44 +01:00
omar
acf78da742
Drag and drop: moved to imgui.h
2017-10-29 21:37:14 +01:00
omar
b5f714e9f9
Drag and Drop: made BeginDragDropSource() clear the IsItemHovered() by default, added a flag to keep it.
2017-10-29 21:31:49 +01:00
omar
c5536e49ef
Drag and drop API experiment
2017-10-29 21:15:02 +01:00
omar
edafbcd630
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui.h
2017-10-27 20:04:51 +02:00
omar
77df1ba9e0
Version 1.53 WIP
2017-10-27 19:54:56 +02:00
omar
c0b366b316
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.h
2017-10-27 17:27:53 +02:00
omar
9f200d10d5
Version 1.52
2017-10-27 17:10:41 +02:00
omar
5afee1c6f3
Merge branch 'master' into navigation
...
# Conflicts:
# imgui_internal.h
2017-10-27 16:42:06 +02:00
omar
8dd7648db2
Comments
2017-10-27 16:41:22 +02:00
omar
ccdb58b17e
Internal: Added ImVec4 operators
2017-10-27 16:40:04 +02:00
omar
6243252d5a
Internal: BeginTooltipEx() in imgui_internal.h
2017-10-27 16:21:12 +02:00
omar
f10a1d7b9e
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2017-10-27 15:53:59 +02:00
omar
d42f6bb6cc
Merged a bit of code from Navigation branch to ease further merging (InnerRect is currently not required in the Master branch)
2017-10-27 15:52:45 +02:00
omar
c432fcf2bb
Minor renaming.
2017-10-27 12:01:52 +02:00
omar
a6ff14d66e
Exposed IM_ARRAYSIZE() in imgui.h
2017-10-26 16:12:53 +02:00
omar
549f9e3f03
Merge branch 'master' into navigation
...
# Conflicts:
# imgui_internal.h
2017-10-25 16:37:10 +02:00
omar
4faf99eff5
Added most basic form of Disabled flag to disable interactions (but visuals aren't altered), in imgui_internals.h, undocumented/unsupported ( #211 , #1012 )
2017-10-25 09:28:54 +02:00
omar
d513546325
Merge branch 'master' into navigation
2017-10-24 15:49:01 +02:00
omar
de72e9cc87
Internals: ImLerp() helper for ImVec4
2017-10-23 17:22:00 +02:00
omar
20983773f1
Nav: MainMenuBar now releases focus when user gets out of the menu layer. WindowingTarget when applying focus to a window with only menus automatically sets the layer. ( #787 )
...
This is enough for basic mouse/gamepad usage, but 1- previous window gets an unfocused title bar color temporarily, 2- generaly for gamepad and especially keyboard we need much more to get this done right
2017-10-23 12:38:39 +02:00
omar
d29a6a5a5a
Moved IMGUI_DISABLE_OBSOLETE_FUNCTIONS block lower in the imgui.h file so obsolete functions can use flags. Also sane to quarantine them outside of the respectable area.
2017-10-20 17:29:52 +02:00
omar
51eed2f257
Merge branch 'master' into navigation
2017-10-19 19:42:27 +02:00
omar
5b699517d4
Internals: PaintVerts** renamed to ShadeVerts**, moved to imgui_draw.cpp and exposed in imgui_internal.h (+1 squashed commits)
2017-10-19 19:42:19 +02:00
omar
d3c2e904d8
Internals: Added ImLinearSweep() helper.
2017-10-19 19:29:59 +02:00
omar
938f1b720f
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
2017-10-19 00:04:53 +02:00
omar
370a48c10b
Internals: RenderCollapseTriangle() -> RenderTriangle(), takes a ImGuiDir
2017-10-18 23:46:16 +02:00
omar
a03093b2d4
CollapsingHeader(bool*) variant: fixed for IsItemHovered() to work properly in the nav branch.Basically the close button now has to use ItemAdd() to be navable into, which overwrite the IsItemHovered data. ( #600 , #787 )
2017-10-18 19:55:08 +02:00
omar
29a652adee
CollapsingHeader(bool*) variant: fixed for IsItemHovered() to work properly in the nav branch.Basically the close button now has to use ItemAdd() to be navable into, which overwrite the IsItemHovered data. ( #600 , #787 )
2017-10-18 19:51:32 +02:00
omar
a126c702d9
Merge branch 'master' into navigation
...
# Conflicts:
# imgui_internal.h
2017-10-18 13:09:28 +02:00
omar
ef3f87eec5
Internals: ButtonBehavior: made ImGuiButtonFlags_PressedOnClick and ImGuiButtonFlags_PressedOnDoubleClick set the click offset correctly + hold on g.ActiveId so Held state can be reported. Added ImGuiButtonFlags_NoHoldingActiveId flag to disable the later.
2017-10-18 13:08:25 +02:00
omar
1c4af303bf
Internals:Helpers: Added ImSwap(int,int), exposed ImStrncpy().
2017-10-18 13:08:14 +02:00
omar
bf778ebb7e
Checkbox: Using checkmark. MenuItem: Tweaked checkmark, thicker.
2017-10-18 13:06:49 +02:00
omar
78a85ba3fe
Begin: Work toward obsoleting the 5-arguments Begin() overload. Internal BeginEx() becomes the normal public Begin() again! (4)
2017-10-17 16:15:46 +02:00
omar
2739b6ebcd
Begin: Work toward obsoleting the 5-arguments Begin() overload. Removed bg_alpha from internal BeginEx(). (3)
2017-10-17 16:14:20 +02:00
omar
4aa9d2089d
Begin: Work toward obsoleting the 5-arguments Begin() overload. Removed size_on_first_use from internal BeginEx(). (2)
2017-10-17 15:51:20 +02:00
omar
55d873875e
Begin: Work toward obsoleting the 5-arguments Begin() overload. (1)
2017-10-17 15:47:55 +02:00
omar
d761825cfb
Nav: Renaming a field + Comments.
2017-10-15 17:57:15 +02:00
omar
c42baf392a
Reluctantly exposed GetActiveID(), GetHoveredID() in imgui_internal because the demo code will need it.
2017-10-13 16:48:14 +02:00
omar
f852b9a52a
Exposed Scrollbar() in imgui_internal.h and removed a bool arg
2017-10-13 13:31:34 +02:00
omar
b667d5a9e7
Nav: Internals: Renamed ImGuiButtonFlags_NoNavOverride to ImGuiButtonFlags_NoNavFocus + fixed a theorically missing test in ButtonBehavior() ( #787 )
2017-10-13 13:31:34 +02:00
omar
0371219222
Nav: Internals: Renamed SetActiveIDNoNav -> SetActiveID() and old SetActiveID() -> SetFocusID(), both functions needs to be called when both are desirabled. ( #787 )
...
May break code relying on imgui_internal.h, relying on nav and not calling ButtonBehavior().
2017-10-13 13:31:34 +02:00
omar
4be967823f
Exposed Scrollbar() in imgui_internal.h and removed a bool arg
2017-10-13 13:30:28 +02:00
omar
7a14d7dfdc
Nav: More consistently drawing a (thin) navigation rectangle hover filled frames such as tree nodes, collapsing header, menus. ( #787 )
2017-10-11 19:05:36 +02:00
omar
69dd895358
Nav: Renaming NavInitDefaultRequest -> NavInitRequest
2017-10-06 15:54:29 -07:00
omar
d2975115cd
Nav: Caching into g.NavAnyRequest to minimize hot path cost (and so we can add many more request sources)
2017-10-06 15:14:28 -07:00
omar
c3105919ba
Nav: Minor tweaks also toward removing processing from ItemAdd()
2017-10-06 14:51:15 -07:00
omar
64ce83b9ed
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2017-10-06 14:27:29 -07:00
omar
042153d254
Internal: ItemAdd(), IsClippedEx(): removed unnecessary indirection for ID parameter
2017-10-06 14:23:18 -07:00
omar
59c6f35bf6
Added ActivateItem(), GetItemID() functions.
2017-10-05 21:34:01 -07:00
omar
80c4e2fe7b
Nav: Tidying up activation mechanism so that setting NavActivateId can trigger buttons.
2017-10-05 21:27:08 -07:00
omar
2f27b733be
Nav: Fixed uninitialized context variables for sanity.
2017-10-05 18:33:40 -07:00
omar
f2c9bd8d4f
Nav: Fixed uninitialized context variables for sanity.
2017-10-05 16:39:59 -07:00
omar
f326fac64a
Nav: Menus and popups now have move request wrap around vertically (using the move request forward thing added recently). ( #787 )
2017-10-05 10:29:17 -07:00
omar
42ee537be3
Comments
2017-10-04 10:45:35 -07:00
omar
a56b71e866
Nav: Added code to render thin highlight type. ( #787 )
2017-10-04 10:44:27 -07:00
omar
64a51327d3
Nav: Added NavMoveResultParentId internal info to record when the parent/context of a given NavId. Useful for various algorithms (currently looking at range selection stuff) ( #787 )
2017-10-03 13:25:40 -07:00
omar
74da533c93
Nav: Added NavJustNavigatedId internal info to record when we land on a given item after a navigation request, useful for various algorithms (currently looking at range selection stuff) ( #787 )
2017-10-03 11:22:38 -07:00
omar
88a354585a
Nav: It's now possible to navigate sibling of a menu-bar while navigating inside one of their child. If a Left<>Right navigation request fails to find a match we forward the request to the root menu. ( #787 , #126 )
...
Currently the sibling menu is isn't automatically opened, that's still left to it (and even that can be anoying in Windows when the first menu-item is a child menu)
2017-09-29 23:39:34 +02:00
omar
587e637db0
Nav: Taking note that we should aim to remove MenuBarAppending later.
2017-09-29 23:37:14 +02:00
omar
1eaa9d0621
Nav: Fixed uninitialized variable (that had no side-effects due to the code/data flow involved)
2017-09-29 23:37:14 +02:00
omar
8a5a29f0be
Nav: Renamed internal field.
2017-09-29 19:28:19 +02:00
omar
9712a81f85
Nav: Rectangle rectangle stored per window and per layer as well. Makes things simpler, allows enable us to visualize more data.
2017-09-29 19:26:03 +02:00
omar
9737efb2f1
Nav: Store per-window last nav id also per-layer so we can easily query them for menu navigation code. ( #787 )
2017-09-29 17:58:25 +02:00
omar
8a814487fe
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2017-09-29 16:30:43 +02:00
omar
30b1d85962
Nav: Commiting some better organized Debug helper because this going to stay for a bit.
2017-09-28 23:48:30 +02:00
omar
164f22d5b7
Comments
2017-09-28 22:00:49 +02:00
omar
df366b230e
ColorPicker4: Use nav flag to provide a slighly better experience when using navigation ( #787 , #346 )
2017-09-28 20:22:30 +02:00
omar
2d859dee4e
Nav: Added ImGuiItemFlags_NoNav item flag
2017-09-28 19:58:01 +02:00
omar
4b4e455c40
Nav: Internal nenaming
2017-09-28 19:41:30 +02:00
omar
50ba543743
Comments
2017-09-28 19:35:10 +02:00
omar
e0a2a832cd
Nav: Changed internal flag to NoNavDefaultFocus to be false by allow, and more consistent ( #787 )
2017-09-28 19:18:41 +02:00
omar
ca4db8c905
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2017-09-28 17:40:25 +02:00
omar
926c1cf9a4
Merged from Navigation branch: ImGuiItemFlags_SelectableDontClosePopup flag
2017-09-28 17:02:28 +02:00
omar
f99348711b
Added VerticalSeparator() entry point in imgui_internal. Seperator() in an horizontal layout context still does that.
2017-09-28 16:41:01 +02:00
omar
d394c7ad0b
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2017-09-28 15:45:35 +02:00
omar
0106dcbd02
Fixed IsItemHovered() - part of the processing has to be done in ItemAdd() because the widget may alter clipping rectangle temporarily.
2017-09-28 15:43:26 +02:00
omar
35f65e05ed
Merge branch 'master' into navigation
2017-09-28 00:33:29 +02:00
omar
fafe65a8fc
Refactor to move the responsability of SetHovered() to ItemHoverable() - previously IsHovered(). Simpler and the parallel to ItemAdd is clearer with the new name.
2017-09-28 00:21:47 +02:00
omar
7bcb1d3816
Internals: ButtonBehavior(), IsHovered() moved the responsability of flatten_child higher level to ButtonBehavior() - not super sure about the elegance of this
2017-09-27 22:59:40 +02:00
omar
cc26db8ec7
Merge branch 'master' into navigation
2017-09-27 17:25:50 +02:00
omar
0adcddac39
IsItemHovered(), ItemAdd(): finishing cleaning up, moved the code to IsItemHovered() so ItemAdd() is more lightweight and the two IsXXXHovered functions are now very similar, making their differences less confusing.
2017-09-27 17:21:50 +02:00
omar
99c7622a1b
ItemAdd(), not performing computation for IsItemRectHovered() which does them itself, allowing us in the next commit to optimize ItemAdd() and make its logic more consistent with IsHovered().
2017-09-27 16:20:53 +02:00
omar
a2b2e56e8e
Merge branch 'master' into navigation
2017-09-27 12:31:12 +02:00
omar
8374a454da
Removed extraneous ImGui:: prefixes. Declared ColorEditOptionsPopup in imgui_internals.h. Tweaked internal signatures.
2017-09-27 11:39:13 +02:00
omar
8fd4beddb8
Merge branch 'master' into navigation
2017-09-26 20:28:40 +02:00
omar
072d6d8cb5
ImFontAtlas: Refactored internals API to 1) avoid building lookup table multiple times for merged fonts + 2) allow the mapping of custom icons inside fonts (wip, uncommited)
2017-09-26 19:26:16 +02:00
omar
f1a20ec66d
Merge branch 'master' into navigation
2017-09-26 16:54:37 +02:00
omar
be03882a15
Separator(): output vertical separator when used in horizontal layout mode, so it works in menu bars.
2017-09-26 15:43:48 +02:00
omar
69d0d33451
Exposed PushMultiItemsWidths() to imgui_internal.h
2017-09-25 22:45:10 +02:00
omar
7e8069dd23
Merge branch 'master' into navigation
2017-09-25 22:08:38 +02:00
omar
0d56140b4a
BeginCombo(): rework internals a little to make it easier to provide custom combo-like elements relying in BeginCombo().
...
BeginPopupEx() doesn't enforce AlwaysAutoResize flag anymore.
2017-09-25 21:45:34 +02:00
omar
4b82759598
SetNextWindowPos: added a ImVec2 pivot parameter for positioning a given a center, bottom-right position, etc. As a generalization of SetNextWindowPosCenter() which is now obsolete. This will be useful for combo-like popups as well.
...
Demo: Simple-overlay window uses the SetWindowPos pivot to select a corner to position itself at.
2017-09-25 18:25:43 +02:00
omar
0a5fb24f10
Popups: Exposing a little more of popups internals in imgui_internals.h
2017-09-25 12:52:06 +02:00
omar
44e8d94aba
Merge branch 'master' into navigation
2017-09-18 15:32:31 +02:00
Bruce Mitchener
2fcdeb7f12
Remove commas after last item in enumeration.
...
This brings these enums to match the rest of the code and fixes
2 warnings under clang about using C++11 extensions.
2017-09-14 10:35:30 +07:00
omar
66a9d4856c
Merge branch 'master' into navigation
...
# Conflicts:
# imgui_internal.h
2017-09-06 20:37:29 +02:00
omar
cb2775ae54
Internals: ImGuiItemFlags comments
2017-09-06 20:36:36 +02:00
omar
62d7fa4324
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2017-09-06 20:33:39 +02:00
omar
f63c03c464
Internals: moved ButtonRepeat and AllowKeyboardFocus bools/stacks to a generic ItemFlags stack. Merged from Navigation branch.
2017-09-06 20:28:36 +02:00
omar
5c4fda0fbc
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2017-09-06 19:17:51 +02:00
omar
2169bf6895
Fixed WantTextInput from being true when an activated Drag or Slider was previously turned into an InputText(). ( #1317 )
2017-09-06 17:25:36 +02:00
omar
790605e359
Minor comments + renaming internal fields
2017-09-06 17:20:54 +02:00
omar
e8dbf1c795
Combo: Internally split into BeginCombo(), EndCombo(), toward a more flexible combo api.
2017-09-01 22:10:13 +02:00
omar
804ee78731
Added IsWindowAppearing().
2017-09-01 21:55:59 +02:00
omar
ddf41b0398
Merged from Navigation branch. TAB/Alt-TAB processing now deactivate if holding Ctrl.
2017-08-29 17:27:19 +08:00
omar
358e7a194e
Added GetKeyPressedAmount() (from Nav branch) to be able to measure fast repeat rate accurately. Added internal CalcTypematicPressedRepeatAmount() function.
2017-08-29 16:13:17 +08:00
omar
ee42fae468
Merge various minor things (supposedly harmless) from Navigation branch into Master to reduce differences. ( #787 )
2017-08-29 16:05:12 +08:00
omar
2ee1b70652
Merge branch 'master' into navigation
...
# Conflicts:
# imgui_internal.h
2017-08-29 15:36:36 +08:00
omar
01d4bf299a
Added overcomplicated RenderRectFilledRangeH() to fix rounded progress bar, which will also help for range widgets and perhaps sliders grabs over rounded areas. ( #1296 , #76 )
2017-08-29 15:22:30 +08:00
omar
7a9ea281be
ImSwap() helper.
2017-08-28 19:27:12 +08:00
omar
1f51e8f39d
Internals: Renamed some ImGuiCorner enums.
2017-08-28 14:11:11 +08:00
omar
807322c9a5
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
2017-08-26 18:43:10 +08:00
omar
419b22a487
Internals: Split some code out of NewFrame() into an Initialize() function.
2017-08-26 16:35:39 +08:00
omar
f72ca6d22c
ImFontConfig: Added RasterizerMultiply option to alter the brightness of individual fonts at rasterization time, which may help increasing readability for some. Added RasterizerFlags for custom rasterizer flags (aka imgui_freetype)
2017-08-26 14:11:56 +08:00
omar
37f3a718c6
Marked all fmt + va_list functions with format attribute so GCC/Clang can warn about them. Not ignoring -Wsuggest-attribute=format anymore for GCC/Clang.
2017-08-25 16:10:14 +08:00
omar
40f608ce9b
Version 1.52 WIP
2017-08-25 15:12:12 +08:00
omar
55a6209931
Version 1.51
2017-08-25 00:29:59 +08:00
omar
141339e4b7
(internals) Renamed FocusedWindow to NavWindow to match terminology of navigation branch
2017-08-22 19:51:12 +08:00
ocornut
2ad2190d47
Merge 20a0fde012
Tidying up default clipboard handler for non Windows-OS (from Nav branch)
2017-08-22 19:47:52 +08:00
omar
bea06117bb
Nav: Fix navigation inside child windows. Removed GetChildID() and storin/g the info within the window. ( #1291 )
2017-08-22 19:26:21 +08:00
ocornut
50b3a14d0a
Merge 2545d75c3b
from Nav - Tidying up, removed two unnecessary window flags from being exposed in imgui.h
2017-08-22 18:26:27 +08:00
omar
d5b0d51274
Minor miscellaneous merges from Navigation branch to reduce divergence a little bit
2017-08-22 18:13:10 +08:00
omar
9670fe9ca7
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2017-08-22 17:51:20 +08:00
omar
6ee317d26d
ImRect::Clip() -> ClipWith() to clarify meaning, going to undo the change in Nav branch.
2017-08-22 17:46:50 +08:00
omar
53e73182ff
Merge branch 'master' into navigation
...
# Conflicts:
# imgui_internal.h
2017-08-21 00:04:45 +08:00
omar
530baee1a7
Removed tabs that slipped through the cracks
2017-08-21 00:03:37 +08:00
omar
067127f113
Columns: Caching columns clipping rectangles ( #125 )
2017-08-20 23:17:59 +08:00
omar
adeaf1cd72
Columns: Moved PushColumnClipRect() to imgui_internal.h
2017-08-20 23:09:43 +08:00
omar
1c83b073c6
Columns: A set of column (and most importantly the right-most column) do not register its content to the parent, not affecting the window contents size. ( #519 , #125 , #913 )
2017-08-20 20:58:23 +08:00
omar
7f0063f858
Columns: Added ImGuiColumnsFlags_NoResize flag (internal). ( #913 , #125 )
2017-08-20 19:32:50 +08:00
omar
19a42cb2fd
Columns: Moved BeginColumns/EndColumns/flags from #913 to imgui_internals.h + minor shallow tweaks. Removed demo code temporarily. ( #125 )
2017-08-20 18:44:48 +08:00
omar
bc78535bbf
Merge branch 'master' of https://github.com/ggtucker/imgui into ggtucker-master
...
# Conflicts:
# imgui.cpp
# imgui.h
2017-08-20 18:22:34 +08:00