mirror of
https://github.com/Drezil/imgui.git
synced 2024-11-15 01:17:00 +00:00
Merge remote-tracking branch 'origin' into 2015-07-cleanup
This commit is contained in:
commit
f8646338c3
12
imgui.cpp
12
imgui.cpp
@ -378,10 +378,12 @@
|
|||||||
- window: background options for child windows, border option (disable rounding)
|
- window: background options for child windows, border option (disable rounding)
|
||||||
- window: resizing from any sides? + mouse cursor directives for app.
|
- window: resizing from any sides? + mouse cursor directives for app.
|
||||||
- window: get size/pos helpers given names (see discussion in #249)
|
- window: get size/pos helpers given names (see discussion in #249)
|
||||||
|
- window: a collapsed window can be stuck behing the main menu bar?
|
||||||
- scrolling: add horizontal scroll
|
- scrolling: add horizontal scroll
|
||||||
!- scrolling: allow immediately effective change of scroll if we haven't appended items yet
|
!- scrolling: allow immediately effective change of scroll if we haven't appended items yet
|
||||||
- widgets: display mode: widget-label, label-widget (aligned on column or using fixed size), label-newline-tab-widget etc.
|
- widgets: display mode: widget-label, label-widget (aligned on column or using fixed size), label-newline-tab-widget etc.
|
||||||
- widgets: clean up widgets internal toward exposing everything.
|
- widgets: clean up widgets internal toward exposing everything.
|
||||||
|
- widgets: add a disabled/read-only mode (#211)
|
||||||
- main: considering adding EndFrame()/Init(). some constructs are awkward in the implementation because of the lack of them.
|
- main: considering adding EndFrame()/Init(). some constructs are awkward in the implementation because of the lack of them.
|
||||||
- main: IsItemHovered() make it more consistent for various type of widgets, widgets with multiple components, etc. also effectively IsHovered() region sometimes differs from hot region, e.g tree nodes
|
- main: IsItemHovered() make it more consistent for various type of widgets, widgets with multiple components, etc. also effectively IsHovered() region sometimes differs from hot region, e.g tree nodes
|
||||||
- main: IsItemHovered() info stored in a stack? so that 'if TreeNode() { Text; TreePop; } if IsHovered' return the hover state of the TreeNode?
|
- main: IsItemHovered() info stored in a stack? so that 'if TreeNode() { Text; TreePop; } if IsHovered' return the hover state of the TreeNode?
|
||||||
@ -416,7 +418,7 @@
|
|||||||
- tabs
|
- tabs
|
||||||
- separator: separator on the initial position of a window is not visible (cursorpos.y <= clippos.y)
|
- separator: separator on the initial position of a window is not visible (cursorpos.y <= clippos.y)
|
||||||
- gauge: various forms of gauge/loading bars widgets
|
- gauge: various forms of gauge/loading bars widgets
|
||||||
- color: better color editor.
|
- color: add a better color picker (perhaps a popup).
|
||||||
- plot: plotlines should use the polygon-stroke facilities (currently issues with averaging normals)
|
- plot: plotlines should use the polygon-stroke facilities (currently issues with averaging normals)
|
||||||
- plot: make it easier for user to draw extra stuff into the graph (e.g: draw basis, highlight certain points, 2d plots, multiple plots)
|
- plot: make it easier for user to draw extra stuff into the graph (e.g: draw basis, highlight certain points, 2d plots, multiple plots)
|
||||||
- plot: "smooth" automatic scale over time, user give an input 0.0(full user scale) 1.0(full derived from value)
|
- plot: "smooth" automatic scale over time, user give an input 0.0(full user scale) 1.0(full derived from value)
|
||||||
@ -426,6 +428,7 @@
|
|||||||
- slider: allow using the [-]/[+] buttons used by InputFloat()/InputInt()
|
- slider: allow using the [-]/[+] buttons used by InputFloat()/InputInt()
|
||||||
- slider: initial absolute click is imprecise. change to relative movement slider (same as scrollbar).
|
- slider: initial absolute click is imprecise. change to relative movement slider (same as scrollbar).
|
||||||
- slider: add dragging-based widgets to edit values with mouse (on 2 axises), saving screen real-estate.
|
- slider: add dragging-based widgets to edit values with mouse (on 2 axises), saving screen real-estate.
|
||||||
|
- slider: tint background based on value (e.g. v_min -> v_max, or use 0.0f either side of the sign)
|
||||||
- dragfloat: up/down axis
|
- dragfloat: up/down axis
|
||||||
- text edit: clean up the mess caused by converting UTF-8 <> wchar. the code is rather inefficient right now.
|
- text edit: clean up the mess caused by converting UTF-8 <> wchar. the code is rather inefficient right now.
|
||||||
- text edit: centered text for slider as input text so it matches typical positioning.
|
- text edit: centered text for slider as input text so it matches typical positioning.
|
||||||
@ -448,6 +451,7 @@
|
|||||||
- shortcuts: add a shortcut api, e.g. parse "&Save" and/or "Save (CTRL+S)", pass in to widgets or provide simple ways to use (button=activate, input=focus)
|
- shortcuts: add a shortcut api, e.g. parse "&Save" and/or "Save (CTRL+S)", pass in to widgets or provide simple ways to use (button=activate, input=focus)
|
||||||
!- keyboard: tooltip & combo boxes are messing up / not honoring keyboard tabbing
|
!- keyboard: tooltip & combo boxes are messing up / not honoring keyboard tabbing
|
||||||
- keyboard: full keyboard navigation and focus.
|
- keyboard: full keyboard navigation and focus.
|
||||||
|
- focus: SetKeyboardFocusHere() on with >= 0 offset could be done on same frame (else latch and modulate on beginning of next frame)
|
||||||
- input: rework IO to be able to pass actual events to fix temporal aliasing issues.
|
- input: rework IO to be able to pass actual events to fix temporal aliasing issues.
|
||||||
- input: support track pad style scrolling & slider edit.
|
- input: support track pad style scrolling & slider edit.
|
||||||
- portability: big-endian test/support (#81)
|
- portability: big-endian test/support (#81)
|
||||||
@ -5555,7 +5559,7 @@ static void InputTextApplyArithmeticOp(const char* buf, float *v)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Create text input in place of a slider (when CTRL+Clicking on slider)
|
// Create text input in place of a slider (when CTRL+Clicking on slider)
|
||||||
static bool SliderFloatAsInputText(const ImRect& aabb, const char* label, float* v, ImGuiID id, int decimal_precision)
|
static bool InputFloatReplaceWidget(const ImRect& aabb, const char* label, float* v, ImGuiID id, int decimal_precision)
|
||||||
{
|
{
|
||||||
ImGuiState& g = *GImGui;
|
ImGuiState& g = *GImGui;
|
||||||
ImGuiWindow* window = GetCurrentWindow();
|
ImGuiWindow* window = GetCurrentWindow();
|
||||||
@ -5804,7 +5808,7 @@ bool ImGui::SliderFloat(const char* label, float* v, float v_min, float v_max, c
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (start_text_input || (g.ActiveId == id && g.ScalarAsInputTextId == id))
|
if (start_text_input || (g.ActiveId == id && g.ScalarAsInputTextId == id))
|
||||||
return SliderFloatAsInputText(frame_bb, label, v, id, decimal_precision);
|
return InputFloatReplaceWidget(frame_bb, label, v, id, decimal_precision);
|
||||||
|
|
||||||
ItemSize(total_bb, style.FramePadding.y);
|
ItemSize(total_bb, style.FramePadding.y);
|
||||||
|
|
||||||
@ -6106,7 +6110,7 @@ bool ImGui::DragFloat(const char* label, float *v, float v_speed, float v_min, f
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (start_text_input || (g.ActiveId == id && g.ScalarAsInputTextId == id))
|
if (start_text_input || (g.ActiveId == id && g.ScalarAsInputTextId == id))
|
||||||
return SliderFloatAsInputText(frame_bb, label, v, id, decimal_precision);
|
return InputFloatReplaceWidget(frame_bb, label, v, id, decimal_precision);
|
||||||
|
|
||||||
ItemSize(total_bb, style.FramePadding.y);
|
ItemSize(total_bb, style.FramePadding.y);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user