mirror of
https://github.com/Drezil/imgui.git
synced 2024-11-23 04:17:00 +00:00
Comments, Changelog
This commit is contained in:
parent
a1f3949d71
commit
642c6748ac
@ -104,11 +104,13 @@ Other Changes:
|
|||||||
- Popup: Better handling of user mistakenly calling OpenPopup() every frame (with reopen_existing option). The error will now be more visible and easier to understand. (#1497)
|
- Popup: Better handling of user mistakenly calling OpenPopup() every frame (with reopen_existing option). The error will now be more visible and easier to understand. (#1497)
|
||||||
- Popup: BeginPopup(): Exposed extra_flags parameter that are passed through to Begin(). (#1533)
|
- Popup: BeginPopup(): Exposed extra_flags parameter that are passed through to Begin(). (#1533)
|
||||||
- Popup: BeginPopupModal: fixed the conditional test for SetNextWindowPos() which was polling the wrong window, which in practice made the test succeed all the time.
|
- Popup: BeginPopupModal: fixed the conditional test for SetNextWindowPos() which was polling the wrong window, which in practice made the test succeed all the time.
|
||||||
- Tooltip: BeginTooltip() sets NoInputs flag.
|
- Tooltip: BeginTooltip() sets ImGuiWindowFlags_NoInputs flag.
|
||||||
- Scrollbar: Fixed ScrollbarY enable test after ScrollbarX has been enabled being a little off (small regression from Nov 2017). (#1574)
|
- Scrollbar: Fixed ScrollbarY enable test after ScrollbarX has been enabled being a little off (small regression from Nov 2017). (#1574)
|
||||||
- Scrollbar: Fixed ScrollbarX enable test subtracting WindowPadding.x (this has been there since the addition of horizontal scroll bar!).
|
- Scrollbar: Fixed ScrollbarX enable test subtracting WindowPadding.x (this has been there since the addition of horizontal scroll bar!).
|
||||||
- Columns: Clear offsets data when columns count changed. (#1525)
|
- Columns: Clear offsets data when columns count changed. (#1525)
|
||||||
- Columns: Fixed a memory leak of ImGuiColumnsSet's Columns vector. (#1529) [@unprompted]
|
- Columns: Fixed a memory leak of ImGuiColumnsSet's Columns vector. (#1529) [@unprompted]
|
||||||
|
- Columns: Fixed resizing a window very small breaking some columns positioning (broken in 1.53).
|
||||||
|
- Columns: The available column extent takes consideration of the right-most clipped pixel, so the right-most column may look a little wider but will contain the same amount of visible contents.
|
||||||
- MenuBar: Fixed menu bar pushing a clipping rect outside of its allocated bound (usually unnoticeable).
|
- MenuBar: Fixed menu bar pushing a clipping rect outside of its allocated bound (usually unnoticeable).
|
||||||
- TreeNode: nodes with the ImGuiTreeNodeFlags_Leaf flag correctly disable highlight when DragDrop is active. (#143, #581)
|
- TreeNode: nodes with the ImGuiTreeNodeFlags_Leaf flag correctly disable highlight when DragDrop is active. (#143, #581)
|
||||||
- Drag and Drop: Increased payload type string to 32 characters instead of 8. (#143)
|
- Drag and Drop: Increased payload type string to 32 characters instead of 8. (#143)
|
||||||
@ -124,6 +126,9 @@ Other Changes:
|
|||||||
- ImFontAtlas: Added ImFontAtlasFlags_NoPowerOfTwoHeight flag to disable padding font height to nearest power of two. (#1613)
|
- ImFontAtlas: Added ImFontAtlasFlags_NoPowerOfTwoHeight flag to disable padding font height to nearest power of two. (#1613)
|
||||||
- ImFontAtlas: Added ImFontAtlasFlags_NoMouseCursors flag to disable baking software mouse cursors, mostly to save texture memory on very low end hardware. (#1613)
|
- ImFontAtlas: Added ImFontAtlasFlags_NoMouseCursors flag to disable baking software mouse cursors, mostly to save texture memory on very low end hardware. (#1613)
|
||||||
- ImDrawList: Fixed AddRect() with antialiasing disabled (lower-right corner pixel was often missing, rounding looks a little better.) (#1646)
|
- ImDrawList: Fixed AddRect() with antialiasing disabled (lower-right corner pixel was often missing, rounding looks a little better.) (#1646)
|
||||||
|
- Fonts: Updated stb_truetype from 1.14 to stb_truetype 1.19. (w/ include fix from some platforms #1622)
|
||||||
|
- Fonts: Added optional FreeType rasterizer in misc/freetype. Moved from imgui_club repo. (#618) [@Vuhdo, @mikesart, @ocornut]
|
||||||
|
- Fonts: Moved extra_fonts/ to misc/fonts/.
|
||||||
- Misc: Functions passed to libc qsort are explicitely marked cdecl to support compiling with vectorcall as the default calling convention. (#1230, #1611) [@RandyGaul]
|
- Misc: Functions passed to libc qsort are explicitely marked cdecl to support compiling with vectorcall as the default calling convention. (#1230, #1611) [@RandyGaul]
|
||||||
- Misc: ImVec2: added [] operator. This is becoming desirable for some types of code, better added sooner than later.
|
- Misc: ImVec2: added [] operator. This is becoming desirable for some types of code, better added sooner than later.
|
||||||
- Misc: Exposed IM_OFFSETOF() helper in imgui.h.
|
- Misc: Exposed IM_OFFSETOF() helper in imgui.h.
|
||||||
@ -134,18 +139,17 @@ Other Changes:
|
|||||||
- Misc: Updated stb_rect_pack from 0.10 to 0.11 (minor changes).
|
- Misc: Updated stb_rect_pack from 0.10 to 0.11 (minor changes).
|
||||||
- Misc: Added ImGuiConfigFlags_IsSRGB and ImGuiConfigFlags_IsTouchScreen user flags (for io.ConfigFlags).
|
- Misc: Added ImGuiConfigFlags_IsSRGB and ImGuiConfigFlags_IsTouchScreen user flags (for io.ConfigFlags).
|
||||||
(Those flags are not used by ImGui itself, they only exists to make it easy for the engine/back-end to pass information to the application in a standard manner.)
|
(Those flags are not used by ImGui itself, they only exists to make it easy for the engine/back-end to pass information to the application in a standard manner.)
|
||||||
- Fonts: Updated stb_truetype from 1.14 to stb_truetype 1.19. (w/ include fix from some platforms #1622)
|
- Metrics: Added display of Columns state.
|
||||||
- Fonts: Added optional FreeType rasterizer in misc/freetype. Moved from imgui_club repo. (#618) [@Vuhdo, @mikesart, @ocornut]
|
|
||||||
- Fonts: Moved extra_fonts/ to misc/fonts/.
|
|
||||||
- Demo: Improved Selectable() examples. (#1528)
|
- Demo: Improved Selectable() examples. (#1528)
|
||||||
- Demo: Tweaked the Child demos, added a menu bar to the second child to test some navigation functions.
|
- Demo: Tweaked the Child demos, added a menu bar to the second child to test some navigation functions.
|
||||||
- Demo: Console: Using ImGuiCol_Text to be more friendly to color changes.
|
- Demo: Console: Using ImGuiCol_Text to be more friendly to color changes.
|
||||||
- Demo: Using IM_COL32() instead of ImColor() in ImDrawList centric contexts. Trying to phase out use of the ImColor helper whenever possible.
|
- Demo: Using IM_COL32() instead of ImColor() in ImDrawList centric contexts. Trying to phase out use of the ImColor helper whenever possible.
|
||||||
- Examples: Files in examples/ now include their own changelog so it is easier to occasionally update your bindings if needed.
|
- Examples: Files in examples/ now include their own changelog so it is easier to occasionally update your bindings if needed.
|
||||||
- Examples: Using Dark theme by default. (#707). Tweaked demo code.
|
- Examples: Using Dark theme by default. (#707). Tweaked demo code.
|
||||||
- Examples: Added support for horizontal mouse wheel for API that allows it. (#1463)
|
- Examples: Added support for horizontal mouse wheel for API that allows it. (#1463) [@tseeker]
|
||||||
- Examples: DirectX12: Added DirectX 12 example. (#301) [@jdm3]
|
- Examples: DirectX12: Added DirectX 12 example. (#301) [@jdm3]
|
||||||
- Examples: OpenGL3+GLFW,SDL: Changed GLSL shader version to 150 (#1466, #1504).
|
- Examples: OpenGL3+GLFW,SDL: Changed GLSL shader version from 330 to 150. (#1466, #1504)
|
||||||
|
- Examples: OpenGL3+GLFW,SDL: Added a way to override the GLSL version string in the Init function. (#1466, #1504).
|
||||||
- Examples: OpenGL3+GLFW,SDL: Creating VAO in the render function so it can be more easily used by multiple shared OpenGL contexts. (#1217)
|
- Examples: OpenGL3+GLFW,SDL: Creating VAO in the render function so it can be more easily used by multiple shared OpenGL contexts. (#1217)
|
||||||
- Examples: OpenGL3+GLFW: Using 3.2 context instead of 3.3. (#1466)
|
- Examples: OpenGL3+GLFW: Using 3.2 context instead of 3.3. (#1466)
|
||||||
- Examples: OpenGL: Setting up glPixelStorei() explicitly before uploading texture.
|
- Examples: OpenGL: Setting up glPixelStorei() explicitly before uploading texture.
|
||||||
|
13
imgui.cpp
13
imgui.cpp
@ -19,7 +19,7 @@
|
|||||||
- Read first
|
- Read first
|
||||||
- How to update to a newer version of Dear ImGui
|
- How to update to a newer version of Dear ImGui
|
||||||
- Getting started with integrating Dear ImGui in your code/engine
|
- Getting started with integrating Dear ImGui in your code/engine
|
||||||
- Using gamepad/keyboard navigation [BETA]
|
- Using gamepad/keyboard navigation controls [BETA]
|
||||||
- API BREAKING CHANGES (read me when you update!)
|
- API BREAKING CHANGES (read me when you update!)
|
||||||
- ISSUES & TODO LIST
|
- ISSUES & TODO LIST
|
||||||
- FREQUENTLY ASKED QUESTIONS (FAQ), TIPS
|
- FREQUENTLY ASKED QUESTIONS (FAQ), TIPS
|
||||||
@ -76,7 +76,8 @@
|
|||||||
- ESCAPE to revert text to its original value.
|
- ESCAPE to revert text to its original value.
|
||||||
- You can apply arithmetic operators +,*,/ on numerical values. Use +- to subtract (because - would set a negative value!)
|
- You can apply arithmetic operators +,*,/ on numerical values. Use +- to subtract (because - would set a negative value!)
|
||||||
- Controls are automatically adjusted for OSX to match standard OSX text editing operations.
|
- Controls are automatically adjusted for OSX to match standard OSX text editing operations.
|
||||||
- Gamepad navigation: see suggested mappings in imgui.h ImGuiNavInput_ + download PNG/PSD at goo.gl/9LgVZW.
|
- General Keyboard controls: enable with ImGuiConfigFlags_NavEnableKeyboard.
|
||||||
|
- General Gamepad controls: enable with ImGuiConfigFlags_NavEnableGamepad. See suggested mappings in imgui.h ImGuiNavInput_ + download PNG/PSD at goo.gl/9LgVZW.
|
||||||
|
|
||||||
|
|
||||||
PROGRAMMER GUIDE
|
PROGRAMMER GUIDE
|
||||||
@ -210,9 +211,9 @@
|
|||||||
They tell you if ImGui intends to use your inputs. So for example, if 'io.WantCaptureMouse' is set you would typically want to hide
|
They tell you if ImGui intends to use your inputs. So for example, if 'io.WantCaptureMouse' is set you would typically want to hide
|
||||||
mouse inputs from the rest of your application. Read the FAQ below for more information about those flags.
|
mouse inputs from the rest of your application. Read the FAQ below for more information about those flags.
|
||||||
|
|
||||||
USING GAMEPAD/KEYBOARD NAVIGATION [BETA]
|
USING GAMEPAD/KEYBOARD NAVIGATION CONTROLS [BETA]
|
||||||
|
|
||||||
- Ask questions and report issues at https://github.com/ocornut/imgui/issues/787
|
- The gamepad/keyboard navigation is in Beta. Ask questions and report issues at https://github.com/ocornut/imgui/issues/787
|
||||||
- The initial focus was to support game controllers, but keyboard is becoming increasingly and decently usable.
|
- The initial focus was to support game controllers, but keyboard is becoming increasingly and decently usable.
|
||||||
- Keyboard:
|
- Keyboard:
|
||||||
- Set io.ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard to enable. NewFrame() will automatically fill io.NavInputs[] based on your io.KeyDown[] + io.KeyMap[] arrays.
|
- Set io.ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard to enable. NewFrame() will automatically fill io.NavInputs[] based on your io.KeyDown[] + io.KeyMap[] arrays.
|
||||||
@ -227,13 +228,13 @@
|
|||||||
- See 'enum ImGuiNavInput_' in imgui.h for a description of inputs. For each entry of io.NavInputs[], set the following values:
|
- See 'enum ImGuiNavInput_' in imgui.h for a description of inputs. For each entry of io.NavInputs[], set the following values:
|
||||||
0.0f= not held. 1.0f= fully held. Pass intermediate 0.0f..1.0f values for analog triggers/sticks.
|
0.0f= not held. 1.0f= fully held. Pass intermediate 0.0f..1.0f values for analog triggers/sticks.
|
||||||
- We uses a simple >0.0f test for activation testing, and won't attempt to test for a dead-zone.
|
- We uses a simple >0.0f test for activation testing, and won't attempt to test for a dead-zone.
|
||||||
Your code will probably need to transform your raw inputs (such as e.g. remapping your 0.2..0.9 raw input range to 0.0..1.0 imgui range, maybe a power curve, etc.).
|
Your code will probably need to transform your raw inputs (such as e.g. remapping your 0.2..0.9 raw input range to 0.0..1.0 imgui range, etc.).
|
||||||
- You can download PNG/PSD files depicting the gamepad controls for common controllers at: goo.gl/9LgVZW.
|
- You can download PNG/PSD files depicting the gamepad controls for common controllers at: goo.gl/9LgVZW.
|
||||||
- If you need to share inputs between your game and the imgui parts, the easiest approach is to go all-or-nothing, with a buttons combo to toggle the target.
|
- If you need to share inputs between your game and the imgui parts, the easiest approach is to go all-or-nothing, with a buttons combo to toggle the target.
|
||||||
Please reach out if you think the game vs navigation input sharing could be improved.
|
Please reach out if you think the game vs navigation input sharing could be improved.
|
||||||
- Mouse:
|
- Mouse:
|
||||||
- PS4 users: Consider emulating a mouse cursor with DualShock4 touch pad or a spare analog stick as a mouse-emulation fallback.
|
- PS4 users: Consider emulating a mouse cursor with DualShock4 touch pad or a spare analog stick as a mouse-emulation fallback.
|
||||||
- Consoles/Tablet/Phone users: Consider using a Synergy 1.x server (on your PC) + uSynergy.c (in your console/tablet/phone app) to share your PC mouse/keyboard.
|
- Consoles/Tablet/Phone users: Consider using a Synergy 1.x server (on your PC) + uSynergy.c (on your console/tablet/phone app) to share your PC mouse/keyboard.
|
||||||
- On a TV/console system where readability may be lower or mouse inputs may be awkward, you may want to set the ImGuiConfigFlags_NavMoveMouse flag.
|
- On a TV/console system where readability may be lower or mouse inputs may be awkward, you may want to set the ImGuiConfigFlags_NavMoveMouse flag.
|
||||||
Enabling ImGuiConfigFlags_NavMoveMouse instructs dear imgui to move your mouse cursor along with navigation movements.
|
Enabling ImGuiConfigFlags_NavMoveMouse instructs dear imgui to move your mouse cursor along with navigation movements.
|
||||||
When enabled, the NewFrame() function may alter 'io.MousePos' and set 'io.WantMoveMouse' to notify you that it wants the mouse cursor to be moved.
|
When enabled, the NewFrame() function may alter 'io.MousePos' and set 'io.WantMoveMouse' to notify you that it wants the mouse cursor to be moved.
|
||||||
|
2
imgui.h
2
imgui.h
@ -753,7 +753,7 @@ enum ImGuiNavInput_
|
|||||||
ImGuiNavInput_TweakFast, // faster tweaks // e.g. R1 or R2 (PS4), RB or RT (Xbox), R or ZL (Switch)
|
ImGuiNavInput_TweakFast, // faster tweaks // e.g. R1 or R2 (PS4), RB or RT (Xbox), R or ZL (Switch)
|
||||||
|
|
||||||
// [Internal] Don't use directly! This is used internally to differentiate keyboard from gamepad inputs for behaviors that require to differentiate them.
|
// [Internal] Don't use directly! This is used internally to differentiate keyboard from gamepad inputs for behaviors that require to differentiate them.
|
||||||
// Keyboard behavior that have no corresponding gamepad mapping (e.g. CTRL+TAB) may be directly reading from io.KeyDown[] instead of io.NavInputs[].
|
// Keyboard behavior that have no corresponding gamepad mapping (e.g. CTRL+TAB) will be directly reading from io.KeyDown[] instead of io.NavInputs[].
|
||||||
ImGuiNavInput_KeyMenu_, // toggle menu // = io.KeyAlt
|
ImGuiNavInput_KeyMenu_, // toggle menu // = io.KeyAlt
|
||||||
ImGuiNavInput_KeyLeft_, // move left // = Arrow keys
|
ImGuiNavInput_KeyLeft_, // move left // = Arrow keys
|
||||||
ImGuiNavInput_KeyRight_, // move right
|
ImGuiNavInput_KeyRight_, // move right
|
||||||
|
Loading…
Reference in New Issue
Block a user