Commit Graph

5503 Commits (93efa5415f42e0dbf2901cd2b3b611c34ae8e628)
 

Author SHA1 Message Date
omar 2cd7de5666 Internal: Log/Capture: Rework to add an internal LogToBuffer() function which is useful for writing automated tests. Clarified logging state by adding an enum.
omar 3eba840053 Nav: Fixed a tap on AltGR (e.g. German keyboard) from navigation to the menu layer. (follow and extend on e.g , )
omar 9da48c16c5 TabBar: Added extra mis-usage error recovery. Past the assert, common mis-usage don't lead to hard crashes any more, facilitating integration with scripting languages. ()
omar 0f83145aa8 TabBar: Fixed a crash when using BeginTabBar() recursively (didn't affect docking). ()
Added ImPool::Contains() helper.
omar f988618ebe Internal: InputText: Tweaks (including a large indentation change, compare ignoring space) to make next commit more digestible.
omar be593f2c16 Internal: InputText: refactor the flow to easily decorrelate rendering of selection vs cursor, which would allow us to render selection on inactive items, and generally makes the code clearer. + Some renaming.
omar 332f8f2462 Internal: InputText: Made clipboard copy/cut use its own temporary buffer (like paste) so we can guarantee that TempBuffer if not altered and can be preserved. Renamed TempBufferA to TextA to celebrate this.
omar 81a8730022 Internal: InputText: Renamed is_editable to !is_readonly, Hopefully more explicit. Renamed internal member. Shuffled some code. Added comments, assert (_will_ trigger on !readonly > readonly edge, old bug).
omar cc3be5d428 InputText: Fixed an edge case crash that would happen if another widget sharing the same ID is being swapped with an InputText that has yet to be activated.
omar 2e9a175057 Internal: InputText: Refactor to clarify access pattern to the InputTextState (we are now accessing via a pointer which can be NULL, shortened its name while we are at it) + added an assert to track an issue that existed already before.
omar 677e64e71e Internal: InputText: Comments. Renamed internal member. Renamed ImGuiStb->ImStb.
omar 79f7778e48 Moved binaries to dearimgui.org/binaries
omar 2068dd509c Examples: OpenGL: Fix for OSX not supporting OpenGL 4.5, we don't try to read GL_CLIP_ORIGIN even if the OpenGL headers/loader happens to define the value. (, )
omar 782b747a17 InputText: Renamed some local variables to clarify code. Should be a no-op functionality wise. TODO items.
omar 7c51cba74f InputInt, InputFloat, InputScalar: Fix to keep the label of the +/- buttons centered when style.FramePadding.x is abnormally larger than style.FramePadding.y. Since the buttons are meant to be square (to align with e.g. color button) we always use FramePadding.y. ()
omar 257f5d204e Version 1.69 WIP
omar 93b06e6e7c Internal: Changed Scrollbar() signature. Using GetScrollbarID() in InputTextMultiline().
Removed multiple semi-colons ()
omar 91cc32379d Updated binaries (now auto-generated by a script! next step would be to slowly transition all this stuff into a public repo)
omar d0c98bf880 Examples: VS: Made project paths independant of SolutionDir so they can be built aside from the solution.
omar 77833003ff Fixed unused argument warning when compiling with IM_ASERT() evaluating to an empty macro.
omar 3c15dffc94 Version 1.68
omar f5bf6e38d2 Font: Fixed assert when specifying duplicate/overlapping ranges within a same font. (, )
omar db40699990 imgui_freeetype: Updated suggested test code.
omar d972533d09 Examples: Vulkan: Rewrote scissor processing to match other examples more closely. Removed extraneous +1 of scissor extent height.
omar dd14adc731 Examples: Vulkan: Support draw_data->FramebufferScale correctly matching a79785c for on Metal/GL2/GL3. (, )
omar f977871854 ImFont: Minor adjustment to the structure.
Examples: Removed unused variable.
omar 76dbff37cd Selectable: Tweaks for (demo, changelog, member position)
haldean b277cfffc8 Selectable: add support for specifying text alignment on selectables ()
Adds a style variable to Selectable that allows clients to specify the
text alignment within Selectables, adds a section in the demo to
demonstrate selectable text alignment, and a pair of sliders in the
style editor to change selectable alignment on the fly.

In terms of implementation, this one is extremely simple: Selectable was
already calling an API that supports text alignment, but had hard-coded
it to top-left. This changes that to just pass the style variable
straight through to RenderTextClipped. Backwards-compatibility is
preserved by defaulting the text_align parameter to (0, 0), i.e.,
top-left.

This also fixes a bug with selectable text rendering that caused
right-aligned text in a selectable to be clipped incorrectly, because
the wrong clipping rectangle was being used.
omar 93d1179805 Examples: Extracted gamepad code into ImGui_ImplGlfw_UpdateGamepads(). Renamed matching Win32 function for consistency.
Added more link to nothing's oversample document. Spacing bits.
omar 3c07ec6a61 Made it illegal/assert when io.DisplayTime == 0.0f (with an exception for the first frame).
Causing too many subtle side-effect, e.g. IsNavInputPressed() would return true multiple times in a row.
omar 2206df9e7a Demo: Added Auto-Scroll option in Log/Console. Comments. Removed some ImColor() uses.
omar 8522a4bbea Fixed Clang warning ("multi-line comment"). XCode also also "space between \ and carriage return". Perhaps it would work with 2 spaces? Adding a dot for now..
omar 0236bc246f Scrollbar: Fade out and disable interaction when too small, in order to facilitate using the resize grab on very small window, as well as reducing visual noise/overlap. (+1 squashed commits)
Internals: Added GetScrollbarID(). ()
omar 57a586b4f1 Font: Moved functions to internal block (not enforced). Made ConfigData pointer const. Added link to stb's notes.
omar fcdf704dfa Changelog: Added changelog from 1.40 to 1.47 (pasted from the Releases section) + some wrapping.
Elias Daler cbc8e57410 Update README.md - change imgui-sfml link ()
Changed link from https://github.com/EliasD/sfml to https://github.com/eliasdaler/sfml (no redirect + more reliable)
omar 417cf2237f Font: Fixed high-level ImGui::CalcTextSize() used by most widgets from erroneously subtracting 1.0f*scale to calculated text width. Among noticeable side-effects, it would make sequences of repeated Text/SameLine calls not align the same as a single call, and create mismatch between high-level size calculation and those performed with the lower-level ImDrawList api. ()
omar 0640b6e67c Shallow tweaks
omar cc80d8e118 Examples: Metal: Compilation fix.
omar 169e3981fd Examples: OpenGL2: Added #define GL_SILENCE_DEPRECATION to cope with newer XCode warnings.
omar d16dbc5b87 Examples: SDL: Using the SDL_WINDOW_ALLOW_HIGHDPI flag. (, ) [@rasky]
omar a79785c0b9 ImDrawData: Added FramebufferScale field (currently a copy of the value from io.DisplayFramebufferScale).
This is to allow render functions being written without pulling any data from ImGuiIO, allowing incoming multi-viewport feature to behave on Retina display and with multiple displays. If you are not using a custom binding, please update your render function code ahead of time, and use draw_data->FramebufferScale instead of io.DisplayFramebufferScale. (, )
Examples: Metal, OpenGL2, OpenGL3: Fixed offsetting of clipping rectangle with ImDrawData::DisplayPos != (0,0) when the display frame-buffer scale scale is not (1,1). While this doesn't make a difference when using master branch, this is effectively fixing support for multi-viewport with Mac Retina Displays on those examples. () Also using ImDrawData::FramebufferScale instead of io.DisplayFramebufferScale.
Examples: Clarified the use the ImDrawData::DisplayPos to offset clipping rectangles.
Omar Cornut ef7940699e Examples: Metal: Removed unnecessary loop. Fixed OSX Clang warning in imstb_truetype. (, )
omar 4b41d3b280 ImFont: Rearranged members toward an optimal CalcTextSize() loop. Removed comments from destructor. Made constructor more explicit.
omar 539f69b950 Updated STB libraries to latest (drift has been reduced with nothings/stb as most of our changes were merged). Using [DEAR IMGUI] markers when changed.
omar 00c637961b Demo: Font selector allow selecting fonts with same debug name. ()
omar afc36cf802 Window: Fixed initial width of collapsed windows not taking account of contents width (broken in 1.67). (, )
omar 1b63ded8fa Tabs: Fixed border (when enabled) so it is aligned correctly mid-pixel and appears as bright as other borders.
omar 29d38b59d0 ListBox/InputTextMultiline: Better optimized when clipped / non-visible.
omar 62084aac0f DragScalarN, SliderScalarN, InputScalarN: Removed unnecessary string id after the integer PushID() calls.