mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 13:11:05 +01:00 
			
		
		
		
	Rnamed AlignFirstTextHeightToWidgets() to AlignTextToFramePadding(). Kept inline redirection function (will obsolete).
This commit is contained in:
		| @@ -204,6 +204,7 @@ | |||||||
|  Here is a change-log of API breaking changes, if you are using one of the functions listed, expect to have to fix some code. |  Here is a change-log of API breaking changes, if you are using one of the functions listed, expect to have to fix some code. | ||||||
|  Also read releases logs https://github.com/ocornut/imgui/releases for more details. |  Also read releases logs https://github.com/ocornut/imgui/releases for more details. | ||||||
|  |  | ||||||
|  |  - 2017/10/11 (1.52) - renamed AlignFirstTextHeightToWidgets() to AlignTextToFramePadding(). Kept inline redirection function (will obsolete). | ||||||
|  - 2017/09/25 (1.52) - removed SetNextWindowPosCenter() because SetNextWindowPos() now has the optional pivot information to do the same and more. Kept redirection function (will obsolete).  |  - 2017/09/25 (1.52) - removed SetNextWindowPosCenter() because SetNextWindowPos() now has the optional pivot information to do the same and more. Kept redirection function (will obsolete).  | ||||||
|  - 2017/08/25 (1.52) - io.MousePos needs to be set to ImVec2(-FLT_MAX,-FLT_MAX) when mouse is unavailable/missing. Previously ImVec2(-1,-1) was enough but we now accept negative mouse coordinates. In your binding if you need to support unavailable mouse, make sure to replace "io.MousePos = ImVec2(-1,-1)" with "io.MousePos = ImVec2(-FLT_MAX,-FLT_MAX)". |  - 2017/08/25 (1.52) - io.MousePos needs to be set to ImVec2(-FLT_MAX,-FLT_MAX) when mouse is unavailable/missing. Previously ImVec2(-1,-1) was enough but we now accept negative mouse coordinates. In your binding if you need to support unavailable mouse, make sure to replace "io.MousePos = ImVec2(-1,-1)" with "io.MousePos = ImVec2(-FLT_MAX,-FLT_MAX)". | ||||||
|  - 2017/08/22 (1.51) - renamed IsItemHoveredRect() to IsItemRectHovered(). Kept inline redirection function (will obsolete). |  - 2017/08/22 (1.51) - renamed IsItemHoveredRect() to IsItemRectHovered(). Kept inline redirection function (will obsolete). | ||||||
| @@ -5648,7 +5649,7 @@ void ImGui::TextUnformatted(const char* text, const char* text_end) | |||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
| void ImGui::AlignFirstTextHeightToWidgets() | void ImGui::AlignTextToFramePadding() | ||||||
| { | { | ||||||
|     ImGuiWindow* window = GetCurrentWindow(); |     ImGuiWindow* window = GetCurrentWindow(); | ||||||
|     if (window->SkipItems) |     if (window->SkipItems) | ||||||
| @@ -9028,7 +9029,7 @@ bool ImGui::BeginMenuBar() | |||||||
|     window->DC.CursorPos = ImVec2(rect.Min.x + window->DC.MenuBarOffsetX, rect.Min.y);// + g.Style.FramePadding.y); |     window->DC.CursorPos = ImVec2(rect.Min.x + window->DC.MenuBarOffsetX, rect.Min.y);// + g.Style.FramePadding.y); | ||||||
|     window->DC.LayoutType = ImGuiLayoutType_Horizontal; |     window->DC.LayoutType = ImGuiLayoutType_Horizontal; | ||||||
|     window->DC.MenuBarAppending = true; |     window->DC.MenuBarAppending = true; | ||||||
|     AlignFirstTextHeightToWidgets(); |     AlignTextToFramePadding(); | ||||||
|     return true; |     return true; | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										5
									
								
								imgui.h
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								imgui.h
									
									
									
									
									
								
							| @@ -227,7 +227,7 @@ namespace ImGui | |||||||
|     IMGUI_API ImVec2        GetCursorStartPos();                                                // initial cursor position |     IMGUI_API ImVec2        GetCursorStartPos();                                                // initial cursor position | ||||||
|     IMGUI_API ImVec2        GetCursorScreenPos();                                               // cursor position in absolute screen coordinates [0..io.DisplaySize] (useful to work with ImDrawList API) |     IMGUI_API ImVec2        GetCursorScreenPos();                                               // cursor position in absolute screen coordinates [0..io.DisplaySize] (useful to work with ImDrawList API) | ||||||
|     IMGUI_API void          SetCursorScreenPos(const ImVec2& pos);                              // cursor position in absolute screen coordinates [0..io.DisplaySize] |     IMGUI_API void          SetCursorScreenPos(const ImVec2& pos);                              // cursor position in absolute screen coordinates [0..io.DisplaySize] | ||||||
|     IMGUI_API void          AlignFirstTextHeightToWidgets();                                    // call once if the first item on the line is a Text() item and you want to vertically lower it to match subsequent (bigger) widgets |     IMGUI_API void          AlignTextToFramePadding();                                          // vertically align/lower upcoming text to FramePadding.y so that it will aligns to upcoming widgets (call if you have text on a line before regular widgets) | ||||||
|     IMGUI_API float         GetTextLineHeight();                                                // height of font == GetWindowFontSize() |     IMGUI_API float         GetTextLineHeight();                                                // height of font == GetWindowFontSize() | ||||||
|     IMGUI_API float         GetTextLineHeightWithSpacing();                                     // distance (in pixels) between 2 consecutive lines of text == GetWindowFontSize() + GetStyle().ItemSpacing.y |     IMGUI_API float         GetTextLineHeightWithSpacing();                                     // distance (in pixels) between 2 consecutive lines of text == GetWindowFontSize() + GetStyle().ItemSpacing.y | ||||||
|     IMGUI_API float         GetItemsLineHeightWithSpacing();                                    // distance (in pixels) between 2 consecutive lines of standard height widgets == GetWindowFontSize() + GetStyle().FramePadding.y*2 + GetStyle().ItemSpacing.y |     IMGUI_API float         GetItemsLineHeightWithSpacing();                                    // distance (in pixels) between 2 consecutive lines of standard height widgets == GetWindowFontSize() + GetStyle().FramePadding.y*2 + GetStyle().ItemSpacing.y | ||||||
| @@ -488,6 +488,7 @@ namespace ImGui | |||||||
|  |  | ||||||
|     // Obsolete functions (Will be removed! Also see 'API BREAKING CHANGES' section in imgui.cpp) |     // Obsolete functions (Will be removed! Also see 'API BREAKING CHANGES' section in imgui.cpp) | ||||||
| #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS | #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS | ||||||
|  |     static inline void      AlignFirstTextHeightToWidgets() { AlignTextToFramePadding(); }     // OBSOLETE 1.52+ | ||||||
|     void                    SetNextWindowPosCenter(ImGuiCond cond = 0);                        // OBSOLETE 1.52+ |     void                    SetNextWindowPosCenter(ImGuiCond cond = 0);                        // OBSOLETE 1.52+ | ||||||
|     static inline bool      IsItemHoveredRect() { return IsItemRectHovered(); }                // OBSOLETE 1.51+ |     static inline bool      IsItemHoveredRect() { return IsItemRectHovered(); }                // OBSOLETE 1.51+ | ||||||
|     static inline bool      IsPosHoveringAnyWindow(const ImVec2&) { IM_ASSERT(0); return false; } // OBSOLETE 1.51+. This was partly broken. You probably wanted to use ImGui::GetIO().WantCaptureMouse instead. |     static inline bool      IsPosHoveringAnyWindow(const ImVec2&) { IM_ASSERT(0); return false; } // OBSOLETE 1.51+. This was partly broken. You probably wanted to use ImGui::GetIO().WantCaptureMouse instead. | ||||||
| @@ -568,7 +569,7 @@ enum ImGuiTreeNodeFlags_ | |||||||
|     ImGuiTreeNodeFlags_OpenOnArrow          = 1 << 7,   // Only open when clicking on the arrow part. If ImGuiTreeNodeFlags_OpenOnDoubleClick is also set, single-click arrow or double-click all box to open. |     ImGuiTreeNodeFlags_OpenOnArrow          = 1 << 7,   // Only open when clicking on the arrow part. If ImGuiTreeNodeFlags_OpenOnDoubleClick is also set, single-click arrow or double-click all box to open. | ||||||
|     ImGuiTreeNodeFlags_Leaf                 = 1 << 8,   // No collapsing, no arrow (use as a convenience for leaf nodes).  |     ImGuiTreeNodeFlags_Leaf                 = 1 << 8,   // No collapsing, no arrow (use as a convenience for leaf nodes).  | ||||||
|     ImGuiTreeNodeFlags_Bullet               = 1 << 9,   // Display a bullet instead of arrow |     ImGuiTreeNodeFlags_Bullet               = 1 << 9,   // Display a bullet instead of arrow | ||||||
|     ImGuiTreeNodeFlags_FramePadding         = 1 << 10,  // Use FramePadding (even for an unframed text node) to vertically align text baseline to regular widget height. Equivalent to calling AlignFirstTextHeightToWidgets(). |     ImGuiTreeNodeFlags_FramePadding         = 1 << 10,  // Use FramePadding (even for an unframed text node) to vertically align text baseline to regular widget height. Equivalent to calling AlignTextToFramePadding(). | ||||||
|     //ImGuITreeNodeFlags_SpanAllAvailWidth  = 1 << 11,  // FIXME: TODO: Extend hit box horizontally even if not framed |     //ImGuITreeNodeFlags_SpanAllAvailWidth  = 1 << 11,  // FIXME: TODO: Extend hit box horizontally even if not framed | ||||||
|     //ImGuiTreeNodeFlags_NoScrollOnOpen     = 1 << 12,  // FIXME: TODO: Disable automatic scroll on TreePop() if node got just open and contents is not visible |     //ImGuiTreeNodeFlags_NoScrollOnOpen     = 1 << 12,  // FIXME: TODO: Disable automatic scroll on TreePop() if node got just open and contents is not visible | ||||||
|     ImGuiTreeNodeFlags_CollapsingHeader     = ImGuiTreeNodeFlags_Framed | ImGuiTreeNodeFlags_NoAutoOpenOnLog |     ImGuiTreeNodeFlags_CollapsingHeader     = ImGuiTreeNodeFlags_Framed | ImGuiTreeNodeFlags_NoAutoOpenOnLog | ||||||
|   | |||||||
| @@ -1054,7 +1054,7 @@ void ImGui::ShowTestWindow(bool* p_open) | |||||||
|             ImGui::TextColored(ImVec4(1,1,0,1), "Sailor"); |             ImGui::TextColored(ImVec4(1,1,0,1), "Sailor"); | ||||||
|  |  | ||||||
|             // Button |             // Button | ||||||
|             ImGui::AlignFirstTextHeightToWidgets(); |             ImGui::AlignTextToFramePadding(); | ||||||
|             ImGui::Text("Normal buttons"); ImGui::SameLine(); |             ImGui::Text("Normal buttons"); ImGui::SameLine(); | ||||||
|             ImGui::Button("Banana"); ImGui::SameLine(); |             ImGui::Button("Banana"); ImGui::SameLine(); | ||||||
|             ImGui::Button("Apple"); ImGui::SameLine(); |             ImGui::Button("Apple"); ImGui::SameLine(); | ||||||
| @@ -1180,7 +1180,7 @@ void ImGui::ShowTestWindow(bool* p_open) | |||||||
|             ImGui::Text("TEST"); ImGui::SameLine(); |             ImGui::Text("TEST"); ImGui::SameLine(); | ||||||
|             ImGui::SmallButton("TEST##2"); |             ImGui::SmallButton("TEST##2"); | ||||||
|  |  | ||||||
|             ImGui::AlignFirstTextHeightToWidgets(); // If your line starts with text, call this to align it to upcoming widgets. |             ImGui::AlignTextToFramePadding(); // If your line starts with text, call this to align it to upcoming widgets. | ||||||
|             ImGui::Text("Text aligned to Widget"); ImGui::SameLine(); |             ImGui::Text("Text aligned to Widget"); ImGui::SameLine(); | ||||||
|             ImGui::Button("Widget##1"); ImGui::SameLine(); |             ImGui::Button("Widget##1"); ImGui::SameLine(); | ||||||
|             ImGui::Text("Widget"); ImGui::SameLine(); |             ImGui::Text("Widget"); ImGui::SameLine(); | ||||||
| @@ -1193,7 +1193,7 @@ void ImGui::ShowTestWindow(bool* p_open) | |||||||
|             ImGui::SameLine(0.0f, spacing); |             ImGui::SameLine(0.0f, spacing); | ||||||
|             if (ImGui::TreeNode("Node##1")) { for (int i = 0; i < 6; i++) ImGui::BulletText("Item %d..", i); ImGui::TreePop(); }    // Dummy tree data |             if (ImGui::TreeNode("Node##1")) { for (int i = 0; i < 6; i++) ImGui::BulletText("Item %d..", i); ImGui::TreePop(); }    // Dummy tree data | ||||||
|  |  | ||||||
|             ImGui::AlignFirstTextHeightToWidgets();         // Vertically align text node a bit lower so it'll be vertically centered with upcoming widget. Otherwise you can use SmallButton (smaller fit). |             ImGui::AlignTextToFramePadding();         // Vertically align text node a bit lower so it'll be vertically centered with upcoming widget. Otherwise you can use SmallButton (smaller fit). | ||||||
|             bool node_open = ImGui::TreeNode("Node##2");  // Common mistake to avoid: if we want to SameLine after TreeNode we need to do it before we add child content. |             bool node_open = ImGui::TreeNode("Node##2");  // Common mistake to avoid: if we want to SameLine after TreeNode we need to do it before we add child content. | ||||||
|             ImGui::SameLine(0.0f, spacing); ImGui::Button("Button##2"); |             ImGui::SameLine(0.0f, spacing); ImGui::Button("Button##2"); | ||||||
|             if (node_open) { for (int i = 0; i < 6; i++) ImGui::BulletText("Item %d..", i); ImGui::TreePop(); }   // Dummy tree data |             if (node_open) { for (int i = 0; i < 6; i++) ImGui::BulletText("Item %d..", i); ImGui::TreePop(); }   // Dummy tree data | ||||||
| @@ -1203,7 +1203,7 @@ void ImGui::ShowTestWindow(bool* p_open) | |||||||
|             ImGui::SameLine(0.0f, spacing); |             ImGui::SameLine(0.0f, spacing); | ||||||
|             ImGui::BulletText("Bullet text"); |             ImGui::BulletText("Bullet text"); | ||||||
|  |  | ||||||
|             ImGui::AlignFirstTextHeightToWidgets(); |             ImGui::AlignTextToFramePadding(); | ||||||
|             ImGui::BulletText("Node"); |             ImGui::BulletText("Node"); | ||||||
|             ImGui::SameLine(0.0f, spacing); ImGui::Button("Button##4"); |             ImGui::SameLine(0.0f, spacing); ImGui::Button("Button##4"); | ||||||
|  |  | ||||||
| @@ -2712,10 +2712,10 @@ static void ShowExampleAppPropertyEditor(bool* p_open) | |||||||
|         static void ShowDummyObject(const char* prefix, int uid) |         static void ShowDummyObject(const char* prefix, int uid) | ||||||
|         { |         { | ||||||
|             ImGui::PushID(uid);                      // Use object uid as identifier. Most commonly you could also use the object pointer as a base ID. |             ImGui::PushID(uid);                      // Use object uid as identifier. Most commonly you could also use the object pointer as a base ID. | ||||||
|             ImGui::AlignFirstTextHeightToWidgets();  // Text and Tree nodes are less high than regular widgets, here we add vertical spacing to make the tree lines equal high. |             ImGui::AlignTextToFramePadding();  // Text and Tree nodes are less high than regular widgets, here we add vertical spacing to make the tree lines equal high. | ||||||
|             bool node_open = ImGui::TreeNode("Object", "%s_%u", prefix, uid); |             bool node_open = ImGui::TreeNode("Object", "%s_%u", prefix, uid); | ||||||
|             ImGui::NextColumn(); |             ImGui::NextColumn(); | ||||||
|             ImGui::AlignFirstTextHeightToWidgets(); |             ImGui::AlignTextToFramePadding(); | ||||||
|             ImGui::Text("my sailor is rich"); |             ImGui::Text("my sailor is rich"); | ||||||
|             ImGui::NextColumn(); |             ImGui::NextColumn(); | ||||||
|             if (node_open) |             if (node_open) | ||||||
| @@ -2730,7 +2730,7 @@ static void ShowExampleAppPropertyEditor(bool* p_open) | |||||||
|                     } |                     } | ||||||
|                     else |                     else | ||||||
|                     { |                     { | ||||||
|                         ImGui::AlignFirstTextHeightToWidgets(); |                         ImGui::AlignTextToFramePadding(); | ||||||
|                         // Here we use a Selectable (instead of Text) to highlight on hover |                         // Here we use a Selectable (instead of Text) to highlight on hover | ||||||
|                         //ImGui::Text("Field_%d", i); |                         //ImGui::Text("Field_%d", i); | ||||||
|                         char label[32]; |                         char label[32]; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user