5385 Commits (2a6d7b1eaa1851e5b53d8c7a361a8d54f5a9ae8c)

Author SHA1 Message Date
omar 773d484009 Internals: Made ContentsRegionRect absolute to reduce confusion. Renamed InnerRect to InnerMainRect, renamed WindowRectClipper to OuterRectClipped. ago%!(EXTRA string=7 years)
omar f83f566530 Internals: Nav: Extracted code into a NavClampToVisibleAreaForMoveDir() + fix debug code + inline some functions, removed obsolete EndChild() comment. ago%!(EXTRA string=7 years)
omar 4cabf599c4 Data types: Fix format srtings with leading blanks. Fix ColorEdit4() to not use obsolete formats (when using IMGUI_DISABLE_OBSOLETE_FUNCTIONS) (#643) ago%!(EXTRA string=7 years)
omar ad2927888b Apply fix from data_types branch, some widgets broken when format string doesn't contains a %. Broken by 92f0165f85. Data_types branch fix c5fb929555. ago%!(EXTRA string=7 years)
omar 5f464877ed Internals: Declaring DragBehavior, SliderBehavior in there (no warantee given) as they may be useful to custom widgets. ago%!(EXTRA string=7 years)
omar c5fb929555 Data types: Fixed empty format string (or no % specifier) breaking the parsing back of values. ago%!(EXTRA string=7 years)
omar 280c05e4f8 Fix to allow compiling in unity builds where stb_rectpack/stb_truetype may be already included in the same compilation unit. ago%!(EXTRA string=7 years)
omar 0bf43b3a1b Settings: Added LoadIniSettingsFromDisk(), LoadIniSettingsFromMemory(), SaveIniSettingsToDisk(), SaveIniSettingsToMemory(), io.WantSaveIniSettings. (#923, #993) ago%!(EXTRA string=7 years)
omar 023cc25c7c Internals: Removed unnecessary allocation indirection for g.LogClipboard (this only made sense when there was a global context instance) ago%!(EXTRA string=7 years)
omar 3e8087458d SliderScalar, VSliderScalar(): Support for any data types. Tested with various ranges/limits. Note that Drag/Slider/Input currently fail if the format string doesn't preview the actual value. Will fix next. (#320, #643, #708, #1011) ago%!(EXTRA string=7 years)
omar 944f414cc6 Internals: A few selected math helpers are now using template to handle all supported types. Added ImPow() to wrap float/double in a standard manner without calling pow(double) when not needed in Drag code. ago%!(EXTRA string=7 years)
omar f4c16fbb99 Internals: Data types: Made format string optional. DragBehavior: Moved a bit of code outside of the template. Slider tidying up. Removed unnecessary call to fabsf(). ago%!(EXTRA string=7 years)
omar dcd26f1295 DragFloat, DragInt: Default format string is none is passed to the function. Fixed demo using old style %.0f. ago%!(EXTRA string=7 years)
omar f47c756755 Internals: Missing const, some renaming. Tweak legacy fast path. ago%!(EXTRA string=7 years)
omar 0699ae161f DragInt, DragScalar: Actually made the fast-past handle the now-most-common case.. ago%!(EXTRA string=7 years)
omar 7640439747 DragInt: Patch old format strings to replace %f by %d when using the DragInt() entry point. (#320, #643, #708, #1011) ago%!(EXTRA string=7 years)
omar 069b284f17 Internals: Tidying up internal helpers. Fixed a case ImParseFormatTrimDecorations() can return an off by one (out of bound) pointer if the format string is invalid. Extracted ImParseFormatFindEnd() out of TrimDecorations so we can use it to find the format type and replace the %f in old Int apis. ago%!(EXTRA string=7 years)
omar 086c3925c4 Internals: Fixed DragInt* default format string. InputScalar(), InputScalarN(), removed InputFloatN(), InputInt(). Note that DragInt2/3/4 will %f format strings will currently be broken. (#320, #643, #708, #1011) ago%!(EXTRA string=7 years)
omar 6c932479f2 Internal: DragScalar(), InputScalar() now support signed/unsigned, 32/64 bits, float/double data types. (#320, #643, #708, #1011) ago%!(EXTRA string=7 years)
omar 93b8580a8d Internals: DragFloat: Fixed power handling. Use an temporary accumulator and no absolute values so we will be able to manipulate double as well as 64-bit integers. (#1011, #708, #320) ago%!(EXTRA string=7 years)
omar 3f04fd0644 Internals: DragFloat: Removed DragSpeedScaleFast/DragSpeedScaleSlow since it's not yet usable and Nav version doesn't have an equivalent. ago%!(EXTRA string=7 years)
omar 4780ac1ca4 Internals: Data types: Added s64, u64 data types. Added support in InputScalar(). Removed internal.h InputScalarEx() to InputScalar(). Removed cheap-relative-operators support in recently added U32 data path, since this is heading toward being legacy code. + Fixed InputDouble parsing code. (#1011, #320, #708) ago%!(EXTRA string=7 years)
omar d9fa1f869e Comments about using "power curves". Demo tweaks. (#648) ago%!(EXTRA string=7 years)
omar 8a370f6491 SliderFloat: Fixed grab size and steps with %g format. (#642, #1301) ago%!(EXTRA string=7 years)
omar 10e3f17235 DragFloat/SliderFloat internal InputScalar trim leading/trailing spaces emitted from the format string when presenting an edit box to the user. (#648) ago%!(EXTRA string=7 years)
omar a62f195e83 Internals: Renamed IsCharIsSpace() to IsCharIsBlank*() to match standard terminlogy and added ascii/u16 variations. ago%!(EXTRA string=7 years)
omar ef05141a06 Internals: InputScalarEx: Tweak internals so there is a fast path for the simple case. ago%!(EXTRA string=7 years)
omar ed756d474e Internals: Added ImGuiDataType_Uint32 data type which is usable with InputScalarEx(). ago%!(EXTRA string=7 years)
omar 7df985bc5c Nav: Fixed hovering a Selectable() with the mouse so that it update the navigation cursor. Fixed c8b9b2c6 which was incorrect (#787) ago%!(EXTRA string=7 years)
omar a1da7f9860 Internals: Tweaked ParseFormatPrecision(), clarified its more limited purpose, allowing 2-digits precisions since it makes (some) sense for doubles. (#648) ago%!(EXTRA string=7 years)
omar 92f0165f85 DragFloat, SliderFloat: Rounding scalar using the provided format string instead of parsed precision. (#648) ago%!(EXTRA string=7 years)
omar 6881d065b8 DragFloat/SliderFloat internal InputScalar trip trailing decoration off the format string when presenting an edit box to the user. (#648) ago%!(EXTRA string=7 years)
omar d7e24416dd DragFloat/SliderFloat internal InputScalar relies on the user supplied format string to format and parse value. (#648) ago%!(EXTRA string=7 years)
omar f2e9dddeca DragDrop: Removed const qualifier from ImGuiPayload 's void* data, easing casting on user side. ago%!(EXTRA string=7 years)
omar f80314754c InputFloat,InputFloat2,InputFloat3,InputFloat4: Added variations taking a more flexible and consistent optional "const char* format" parameter instead of "int decimal_precision". This allow using custom formats to display values in scientific notation, and is generally more consistent with other API. Obsoleted functions using the optional "int decimal_precision" parameter. (#648) ago%!(EXTRA string=7 years)
omar 73445ff248 Renamed all "display_format" arguments to "format" to emphasis that they also affect rounding of values. (#648, #642) ago%!(EXTRA string=7 years)
omar 8a38271a7c SliderFloat, DragFloat: Fix to allow input of scientific notation when Ctrl+Clicking a slider or drag, matching the change done in c19b2781 for InputFloat(). (#648, #1011) ago%!(EXTRA string=7 years)
omar 066550de68 DragFloat, DragInt: Cancel mouse tweak when current value is initially past the min/max boundaries and mouse is pushing in the same direction (keyboard/gamepad version already did this). ago%!(EXTRA string=7 years)
omar a84aff1875 Internals: DragBehavior: tweaks internals. ago%!(EXTRA string=7 years)
omar 1d99b5f963 Internals: Reordered parameters of DataTypeFormatString() internal helper functions and shallow tweaks. ago%!(EXTRA string=7 years)
omar 101f9b42b7 InputText: Fixed returning true when edition is cancelled with Esc and the current buffer matches the initial value. ago%!(EXTRA string=7 years)
omar c47d34cf70 Viewport: Exposing SetNextWindowViewport(). Used in demo and old/obsolete SetNextWindowPosCenter() (which is an interesting case). Fixed back-end likely crash calling GetFocus() after viewport destruction. Fixed metrics crash. ago%!(EXTRA string=7 years)
omar cd51f37fc0 Viewport, Platform: Refresh monitor list (win32, glfw) + avoid calling GetWindowFocus before platform window creation to not require of backend to null-check things inconsistently. (#1542) ago%!(EXTRA string=7 years)
omar da70c837da Viewport: Removed unnecessary fields (now that the coordinate system is consistent accross viewports): MouseRefPrevViewport, MouseClickedPosViewportId. (#1542) ago%!(EXTRA string=7 years)
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) ago%!(EXTRA string=7 years)
Bruce Mitchener f8c9c33d33 Fixed static analyzers warnings with bool literals (#1775) ago%!(EXTRA string=7 years)
omar d9cd494eaf Viewport: Moved ScaleWindow* code in a proper location. Various comments. ago%!(EXTRA string=7 years)
omar eb1c36fdfb Added IMGUI_CHECKVERSION() macro to compare version string and data structure sizes in order to catch issues with mismatching compilation unit settings. (#1695, #1769) ago%!(EXTRA string=7 years)
omar 5979233a3c Misc: tweaks + minor changes merged from master to reduce branch drift. Removed code that ended up unused. ago%!(EXTRA string=7 years)
omar 711a63befc Misc: Stop moving window if mouse position becomes invalid. Flagged menus are _NoMove for sanity. ago%!(EXTRA string=7 years)