Commit Graph

6104 Commits

Author SHA1 Message Date
omar
773d484009 Internals: Made ContentsRegionRect absolute to reduce confusion. Renamed InnerRect to InnerMainRect, renamed WindowRectClipper to OuterRectClipped. 2018-05-09 23:12:34 +02:00
omar
f83f566530 Internals: Nav: Extracted code into a NavClampToVisibleAreaForMoveDir() + fix debug code + inline some functions, removed obsolete EndChild() comment. 2018-05-09 21:48:03 +02:00
omar
39f4761ff7 TODO list update + Changelog and comments for #1803. 2018-05-09 15:48:33 +02:00
Elias Daler
895647a240 Fixed clipboard paste memory leak in SDL examples. (#1803) 2018-05-09 15:48:33 +02:00
omar
4cabf599c4 Data types: Fix format srtings with leading blanks. Fix ColorEdit4() to not use obsolete formats (when using IMGUI_DISABLE_OBSOLETE_FUNCTIONS) (#643) 2018-05-08 23:41:46 +02:00
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. 2018-05-08 20:07:25 +02:00
omar
5f464877ed Internals: Declaring DragBehavior, SliderBehavior in there (no warantee given) as they may be useful to custom widgets. 2018-05-08 19:52:56 +02:00
omar
8da0d42ef2 Moved DragScalar, InputScalar, SliderScalar to imgui.h as well as ImGuiDataType (#320, #643, #708, #1011) 2018-05-08 19:52:55 +02:00
omar
c5fb929555 Data types: Fixed empty format string (or no % specifier) breaking the parsing back of values. 2018-05-08 19:52:55 +02:00
omar
280c05e4f8 Fix to allow compiling in unity builds where stb_rectpack/stb_truetype may be already included in the same compilation unit. 2018-05-08 11:02:38 +02:00
omar
f13f10e725 Settings: Comments (#923, #993) 2018-05-07 22:37:10 +02:00
omar
0bf43b3a1b Settings: Added LoadIniSettingsFromDisk(), LoadIniSettingsFromMemory(), SaveIniSettingsToDisk(), SaveIniSettingsToMemory(), io.WantSaveIniSettings. (#923, #993) 2018-05-07 22:18:45 +02:00
omar
023cc25c7c Internals: Removed unnecessary allocation indirection for g.LogClipboard (this only made sense when there was a global context instance) 2018-05-07 22:15:25 +02:00
omar
35e74c72ab imgui_freetype: skip missing glyphs as well to match our stb loader (#1671, #1703) 2018-05-07 20:32:17 +02:00
omar
6eda9ed3fb Skip missing font glyphs V2 revert changes to stb_truetype.h ( 2018-05-07 19:57:53 +02:00
omar
787a475650 Skip missing font glyphs to 1) avoid using space for missing glyphs and 2) allow merging fonts with overlapping ranges. Demo: Fixed displaying ? instead of greyed out empty box. (#1671, #1703) 2018-05-07 18:03:00 +02:00
omar
807c4f0ea4 Ran a spell checker for sanity. 2018-05-07 14:44:35 +02:00
omar
4310bad32a Examples: DirectX9: Comments, updated changelog, notes about usage of imconfig.h (#1790, #1687) 2018-05-07 11:52:48 +02:00
SR_team
d0051ce5cb add renderstate D3DRS_SHADEMODE for Dx9 impl
add backuping transform for Dx9 impl
(#1790, #1687)
2018-05-07 11:52:48 +02:00
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) 2018-05-04 20:55:51 +02:00
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. 2018-05-04 18:14:59 +02:00
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(). 2018-05-04 17:57:47 +02:00
omar
dcd26f1295 DragFloat, DragInt: Default format string is none is passed to the function. Fixed demo using old style %.0f. 2018-05-04 16:41:48 +02:00
omar
dbe16b6a70 Made IMGUI_DISABLE_OBSOLETE_FUNCTIONS exceptionally not affect the layout of ImGuiIO. (#1695) 2018-05-04 14:55:38 +02:00
omar
f47c756755 Internals: Missing const, some renaming. Tweak legacy fast path. 2018-05-03 22:12:55 +02:00
omar
0699ae161f DragInt, DragScalar: Actually made the fast-past handle the now-most-common case.. 2018-05-03 21:49:38 +02:00
omar
7640439747 DragInt: Patch old format strings to replace %f by %d when using the DragInt() entry point. (#320, #643, #708, #1011) 2018-05-03 21:35:04 +02:00
omar
17d3c6305e Ran a spell checker for sanity. 2018-05-03 21:11:53 +02:00
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. 2018-05-03 20:22:29 +02:00
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) 2018-05-03 19:42:35 +02:00
omar
6c932479f2 Internal: DragScalar(), InputScalar() now support signed/unsigned, 32/64 bits, float/double data types. (#320, #643, #708, #1011) 2018-05-03 17:34:38 +02:00
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) 2018-05-03 17:34:33 +02:00
omar
3f04fd0644 Internals: DragFloat: Removed DragSpeedScaleFast/DragSpeedScaleSlow since it's not yet usable and Nav version doesn't have an equivalent. 2018-05-03 17:34:29 +02:00
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) 2018-05-03 17:34:22 +02:00
omar
d9fa1f869e Comments about using "power curves". Demo tweaks. (#648) 2018-05-03 17:34:15 +02:00
omar
8a370f6491 SliderFloat: Fixed grab size and steps with %g format. (#642, #1301) 2018-05-03 17:34:09 +02:00
omar
10e3f17235 DragFloat/SliderFloat internal InputScalar trim leading/trailing spaces emitted from the format string when presenting an edit box to the user. (#648)
Follow up to 6881d065b8
2018-05-03 17:34:02 +02:00
omar
a62f195e83 Internals: Renamed IsCharIsSpace() to IsCharIsBlank*() to match standard terminlogy and added ascii/u16 variations. 2018-05-03 17:33:55 +02:00
omar
ef05141a06 Internals: InputScalarEx: Tweak internals so there is a fast path for the simple case.
(in particular because it makes it clear what the extra code is for, so people tempted to create their own InputText data transform/handler understand how little is actually needed)
2018-04-30 20:12:14 +02:00
omar
ed756d474e Internals: Added ImGuiDataType_Uint32 data type which is usable with InputScalarEx(). 2018-04-30 20:02:33 +02:00
omar
7df985bc5c Nav: Fixed hovering a Selectable() with the mouse so that it update the navigation cursor. Fixed c8b9b2c6 which was incorrect (#787) 2018-04-30 19:40:25 +02:00
omar
a1da7f9860 Internals: Tweaked ParseFormatPrecision(), clarified its more limited purpose, allowing 2-digits precisions since it makes (some) sense for doubles. (#648) 2018-04-30 16:52:16 +02:00
omar
92f0165f85 DragFloat, SliderFloat: Rounding scalar using the provided format string instead of parsed precision. (#648) 2018-04-30 16:44:57 +02:00
omar
6881d065b8 DragFloat/SliderFloat internal InputScalar trip trailing decoration off the format string when presenting an edit box to the user. (#648) 2018-04-30 15:59:59 +02:00
omar
d7e24416dd DragFloat/SliderFloat internal InputScalar relies on the user supplied format string to format and parse value. (#648)
The trailing text after the format will be displayed in the InputText but not affect back parsing. Ideally we can try to strip it later.
2018-04-30 15:21:51 +02:00
omar
429f48bb4f Clarified usage of ListBoxHeader() before we rename those functions + fixed demo code that didn't honor it correctly. (#1783) 2018-04-29 12:20:22 +02:00
omar
f2e9dddeca DragDrop: Removed const qualifier from ImGuiPayload 's void* data, easing casting on user side. 2018-04-28 10:43:15 +02:00
Branimir Karadžić
d317951b37 Demo: Fixed demo from using obsolete functions. 2018-04-28 10:33:48 +02:00
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) 2018-04-28 00:11:40 +02:00
omar
73445ff248 Renamed all "display_format" arguments to "format" to emphasis that they also affect rounding of values. (#648, #642) 2018-04-27 23:44:27 +02:00