mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 05:01:05 +01:00 
			
		
		
		
	Removed redirecting functions/enums names that were marked obsolete in 1.63 (August 2018) + tables tweaks.
This commit is contained in:
		| @@ -41,7 +41,7 @@ Breaking Changes: | |||||||
| - Backends: moved all backends files (imgui_impl_XXXX.cpp, imgui_impl_XXXX.h) from examples/ to backends/. (#3513) | - Backends: moved all backends files (imgui_impl_XXXX.cpp, imgui_impl_XXXX.h) from examples/ to backends/. (#3513) | ||||||
| - Renamed ImDrawList::AddBezierCurve() to ImDrawList::AddBezierCubic(). Kept inline redirection function (will obsolete).  | - Renamed ImDrawList::AddBezierCurve() to ImDrawList::AddBezierCubic(). Kept inline redirection function (will obsolete).  | ||||||
| - Renamed ImDrawList::PathBezierCurveTo() to ImDrawList::PathBezierCubicCurveTo(). Kept inline redirection function (will obsolete).  | - Renamed ImDrawList::PathBezierCurveTo() to ImDrawList::PathBezierCubicCurveTo(). Kept inline redirection function (will obsolete).  | ||||||
| - Removed redirecting functions/enums names that were marked obsolete in 1.60 (April 2017): | - Removed redirecting functions/enums names that were marked obsolete in 1.60 (April 2018): | ||||||
|   - io.RenderDrawListsFn pointer                -> use ImGui::GetDrawData() value and call the render function of your backend |   - io.RenderDrawListsFn pointer                -> use ImGui::GetDrawData() value and call the render function of your backend | ||||||
|   - ImGui::IsAnyWindowFocused()                 -> use ImGui::IsWindowFocused(ImGuiFocusedFlags_AnyWindow) |   - ImGui::IsAnyWindowFocused()                 -> use ImGui::IsWindowFocused(ImGuiFocusedFlags_AnyWindow) | ||||||
|   - ImGui::IsAnyWindowHovered()                 -> use ImGui::IsWindowHovered(ImGuiHoveredFlags_AnyWindow) |   - ImGui::IsAnyWindowHovered()                 -> use ImGui::IsWindowHovered(ImGuiHoveredFlags_AnyWindow) | ||||||
| @@ -50,6 +50,11 @@ Breaking Changes: | |||||||
| - Removed redirecting functions/enums names that were marked obsolete in 1.61 (May 2018): | - Removed redirecting functions/enums names that were marked obsolete in 1.61 (May 2018): | ||||||
|   - InputFloat (... int decimal_precision ...)  -> use InputFloat (... const char* format ...) with format = "%.Xf" where X was value for decimal_precision. |   - InputFloat (... int decimal_precision ...)  -> use InputFloat (... const char* format ...) with format = "%.Xf" where X was value for decimal_precision. | ||||||
|   - same for InputFloat2()/InputFloat3()/InputFloat4() variants taking a `int decimal_precision` parameter. |   - same for InputFloat2()/InputFloat3()/InputFloat4() variants taking a `int decimal_precision` parameter. | ||||||
|  | - Removed redirecting functions/enums names that were marked obsolete in 1.63 (August 2018): | ||||||
|  |   - ImGui::IsItemDeactivatedAfterChange()       -> use ImGui::IsItemDeactivatedAfterEdit(). | ||||||
|  |   - ImGuiCol_ModalWindowDarkening               -> use ImGuiCol_ModalWindowDimBg | ||||||
|  |   - ImGuiInputTextCallback                      -> use ImGuiTextEditCallback | ||||||
|  |   - ImGuiInputTextCallbackData                  -> use ImGuiTextEditCallbackData | ||||||
| - If you were still using the old names, while you are cleaning up, considering enabling | - If you were still using the old names, while you are cleaning up, considering enabling | ||||||
|   IMGUI_DISABLE_OBSOLETE_FUNCTIONS in imconfig.h even temporarily to have a pass at finding |   IMGUI_DISABLE_OBSOLETE_FUNCTIONS in imconfig.h even temporarily to have a pass at finding | ||||||
|   and removing up old API calls, if any remaining. |   and removing up old API calls, if any remaining. | ||||||
|   | |||||||
| @@ -371,6 +371,11 @@ CODE | |||||||
|  When you are not sure about a old symbol or function name, try using the Search/Find function of your IDE to look for comments or references in all imgui files. |  When you are not sure about a old symbol or function name, try using the Search/Find function of your IDE to look for comments or references in all imgui files. | ||||||
|  You can read releases logs https://github.com/ocornut/imgui/releases for more details. |  You can read releases logs https://github.com/ocornut/imgui/releases for more details. | ||||||
|  |  | ||||||
|  |  - 2020/10/12 (1.80) - removed redirecting functions/enums that were marked obsolete in 1.63 (August 2018): | ||||||
|  |                         - ImGui::IsItemDeactivatedAfterChange() -> use ImGui::IsItemDeactivatedAfterEdit(). | ||||||
|  |                         - ImGuiCol_ModalWindowDarkening       -> use ImGuiCol_ModalWindowDimBg | ||||||
|  |                         - ImGuiInputTextCallback              -> use ImGuiTextEditCallback | ||||||
|  |                         - ImGuiInputTextCallbackData          -> use ImGuiTextEditCallbackData | ||||||
|  - 2020/12/21 (1.80) - renamed ImDrawList::AddBezierCurve() to AddBezierCubic(), and PathBezierCurveTo() to PathBezierCubicCurveTo(). Kept inline redirection function (will obsolete). |  - 2020/12/21 (1.80) - renamed ImDrawList::AddBezierCurve() to AddBezierCubic(), and PathBezierCurveTo() to PathBezierCubicCurveTo(). Kept inline redirection function (will obsolete). | ||||||
|  - 2020/12/04 (1.80) - added imgui_tables.cpp file! Manually constructed project files will need the new file added! |  - 2020/12/04 (1.80) - added imgui_tables.cpp file! Manually constructed project files will need the new file added! | ||||||
|  - 2020/11/18 (1.80) - renamed undocumented/internals ImGuiColumnsFlags_* to ImGuiOldColumnFlags_* in prevision of incoming Tables API. |  - 2020/11/18 (1.80) - renamed undocumented/internals ImGuiColumnsFlags_* to ImGuiOldColumnFlags_* in prevision of incoming Tables API. | ||||||
|   | |||||||
							
								
								
									
										35
									
								
								imgui.h
									
									
									
									
									
								
							
							
						
						
									
										35
									
								
								imgui.h
									
									
									
									
									
								
							| @@ -1074,21 +1074,21 @@ enum ImGuiTableFlags_ | |||||||
|     ImGuiTableFlags_ColumnsWidthStretch             = 1 << 13,  // Default if ScrollX is off. Columns will default to use _WidthStretch. Read description above for more details. |     ImGuiTableFlags_ColumnsWidthStretch             = 1 << 13,  // Default if ScrollX is off. Columns will default to use _WidthStretch. Read description above for more details. | ||||||
|     ImGuiTableFlags_ColumnsWidthFixed               = 1 << 14,  // Default if ScrollX is on. Columns will default to use _WidthFixed or _WidthAutoResize policy (if Resizable is off). Read description above for more details. |     ImGuiTableFlags_ColumnsWidthFixed               = 1 << 14,  // Default if ScrollX is on. Columns will default to use _WidthFixed or _WidthAutoResize policy (if Resizable is off). Read description above for more details. | ||||||
|     ImGuiTableFlags_SameWidths                      = 1 << 15,  // Make all columns the same widths which is useful with Fixed columns policy (but granted by default with Stretch policy + no resize). Implicitly enable ImGuiTableFlags_NoKeepColumnsVisible and disable ImGuiTableFlags_Resizable. |     ImGuiTableFlags_SameWidths                      = 1 << 15,  // Make all columns the same widths which is useful with Fixed columns policy (but granted by default with Stretch policy + no resize). Implicitly enable ImGuiTableFlags_NoKeepColumnsVisible and disable ImGuiTableFlags_Resizable. | ||||||
|     ImGuiTableFlags_NoHostExtendY                   = 1 << 17,  // Disable extending table past the limit set by outer_size.y. Only meaningful when neither ScrollX nor ScrollY are set (data below the limit will be clipped and not visible) |     ImGuiTableFlags_NoHostExtendY                   = 1 << 16,  // Disable extending table past the limit set by outer_size.y. Only meaningful when neither ScrollX nor ScrollY are set (data below the limit will be clipped and not visible) | ||||||
|     ImGuiTableFlags_NoKeepColumnsVisible            = 1 << 18,  // Disable keeping column always minimally visible when ScrollX is off and table gets too small. |     ImGuiTableFlags_NoKeepColumnsVisible            = 1 << 17,  // Disable keeping column always minimally visible when ScrollX is off and table gets too small. | ||||||
|     ImGuiTableFlags_PreciseWidths                   = 1 << 19,  // Disable distributing remainder width to stretched columns (width allocation on a 100-wide table with 3 columns: Without this flag: 33,33,34. With this flag: 33,33,33). With larger number of columns, resizing will appear to be less smooth. |     ImGuiTableFlags_PreciseWidths                   = 1 << 18,  // Disable distributing remainder width to stretched columns (width allocation on a 100-wide table with 3 columns: Without this flag: 33,33,34. With this flag: 33,33,33). With larger number of columns, resizing will appear to be less smooth. | ||||||
|     // Clipping |     // Clipping | ||||||
|     ImGuiTableFlags_NoClip                          = 1 << 20,  // Disable clipping rectangle for every individual columns (reduce draw command count, items will be able to overflow into other columns). Generally incompatible with TableSetupScrollFreeze(). |     ImGuiTableFlags_NoClip                          = 1 << 19,  // Disable clipping rectangle for every individual columns (reduce draw command count, items will be able to overflow into other columns). Generally incompatible with TableSetupScrollFreeze(). | ||||||
|     // Padding |     // Padding | ||||||
|     ImGuiTableFlags_PadOuterX                       = 1 << 21,  // Default if BordersOuterV is on. Enable outer-most padding. |     ImGuiTableFlags_PadOuterX                       = 1 << 20,  // Default if BordersOuterV is on. Enable outer-most padding. | ||||||
|     ImGuiTableFlags_NoPadOuterX                     = 1 << 22,  // Default if BordersOuterV is off. Disable outer-most padding. |     ImGuiTableFlags_NoPadOuterX                     = 1 << 21,  // Default if BordersOuterV is off. Disable outer-most padding. | ||||||
|     ImGuiTableFlags_NoPadInnerX                     = 1 << 23,  // Disable inner padding between columns (double inner padding if BordersOuterV is on, single inner padding if BordersOuterV is off). |     ImGuiTableFlags_NoPadInnerX                     = 1 << 22,  // Disable inner padding between columns (double inner padding if BordersOuterV is on, single inner padding if BordersOuterV is off). | ||||||
|     // Scrolling |     // Scrolling | ||||||
|     ImGuiTableFlags_ScrollX                         = 1 << 24,  // Enable horizontal scrolling. Require 'outer_size' parameter of BeginTable() to specify the container size. Changes default sizing policy. Because this create a child window, ScrollY is currently generally recommended when using ScrollX. |     ImGuiTableFlags_ScrollX                         = 1 << 23,  // Enable horizontal scrolling. Require 'outer_size' parameter of BeginTable() to specify the container size. Changes default sizing policy. Because this create a child window, ScrollY is currently generally recommended when using ScrollX. | ||||||
|     ImGuiTableFlags_ScrollY                         = 1 << 25,  // Enable vertical scrolling. Require 'outer_size' parameter of BeginTable() to specify the container size. |     ImGuiTableFlags_ScrollY                         = 1 << 24,  // Enable vertical scrolling. Require 'outer_size' parameter of BeginTable() to specify the container size. | ||||||
|     // Sorting |     // Sorting | ||||||
|     ImGuiTableFlags_SortMulti                       = 1 << 26,  // Hold shift when clicking headers to sort on multiple column. TableGetSortSpecs() may return specs where (SpecsCount > 1). |     ImGuiTableFlags_SortMulti                       = 1 << 25,  // Hold shift when clicking headers to sort on multiple column. TableGetSortSpecs() may return specs where (SpecsCount > 1). | ||||||
|     ImGuiTableFlags_SortTristate                    = 1 << 27   // Allow no sorting, disable default sorting. TableGetSortSpecs() may return specs where (SpecsCount == 0). |     ImGuiTableFlags_SortTristate                    = 1 << 26   // Allow no sorting, disable default sorting. TableGetSortSpecs() may return specs where (SpecsCount == 0). | ||||||
| }; | }; | ||||||
|  |  | ||||||
| // Flags for ImGui::TableSetupColumn() | // Flags for ImGui::TableSetupColumn() | ||||||
| @@ -1392,11 +1392,6 @@ enum ImGuiCol_ | |||||||
|     ImGuiCol_NavWindowingDimBg,     // Darken/colorize entire screen behind the CTRL+TAB window list, when active |     ImGuiCol_NavWindowingDimBg,     // Darken/colorize entire screen behind the CTRL+TAB window list, when active | ||||||
|     ImGuiCol_ModalWindowDimBg,      // Darken/colorize entire screen behind a modal window, when one is active |     ImGuiCol_ModalWindowDimBg,      // Darken/colorize entire screen behind a modal window, when one is active | ||||||
|     ImGuiCol_COUNT |     ImGuiCol_COUNT | ||||||
|  |  | ||||||
|     // Obsolete names (will be removed) |  | ||||||
| #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS |  | ||||||
|     , ImGuiCol_ModalWindowDarkening = ImGuiCol_ModalWindowDimBg                      // [renamed in 1.63] |  | ||||||
| #endif |  | ||||||
| }; | }; | ||||||
|  |  | ||||||
| // Enumeration for PushStyleVar() / PopStyleVar() to temporarily modify the ImGuiStyle structure. | // Enumeration for PushStyleVar() / PopStyleVar() to temporarily modify the ImGuiStyle structure. | ||||||
| @@ -1726,8 +1721,8 @@ struct ImGuiIO | |||||||
|  |  | ||||||
|     // Miscellaneous options |     // Miscellaneous options | ||||||
|     bool        MouseDrawCursor;                // = false          // Request ImGui to draw a mouse cursor for you (if you are on a platform without a mouse cursor). Cannot be easily renamed to 'io.ConfigXXX' because this is frequently used by backend implementations. |     bool        MouseDrawCursor;                // = false          // Request ImGui to draw a mouse cursor for you (if you are on a platform without a mouse cursor). Cannot be easily renamed to 'io.ConfigXXX' because this is frequently used by backend implementations. | ||||||
|     bool        ConfigMacOSXBehaviors;          // = defined(__APPLE__) // OS X style: Text editing cursor movement using Alt instead of Ctrl, Shortcuts using Cmd/Super instead of Ctrl, Line/Text Start and End using Cmd+Arrows instead of Home/End, Double click selects by word instead of selecting whole text, Multi-selection in lists uses Cmd/Super instead of Ctrl (was called io.OptMacOSXBehaviors prior to 1.63) |     bool        ConfigMacOSXBehaviors;          // = defined(__APPLE__) // OS X style: Text editing cursor movement using Alt instead of Ctrl, Shortcuts using Cmd/Super instead of Ctrl, Line/Text Start and End using Cmd+Arrows instead of Home/End, Double click selects by word instead of selecting whole text, Multi-selection in lists uses Cmd/Super instead of Ctrl. | ||||||
|     bool        ConfigInputTextCursorBlink;     // = true           // Set to false to disable blinking cursor, for users who consider it distracting. (was called: io.OptCursorBlink prior to 1.63) |     bool        ConfigInputTextCursorBlink;     // = true           // Set to false to disable blinking cursor, for users who consider it distracting. | ||||||
|     bool        ConfigWindowsResizeFromEdges;   // = true           // Enable resizing of windows from their edges and from the lower-left corner. This requires (io.BackendFlags & ImGuiBackendFlags_HasMouseCursors) because it needs mouse cursor feedback. (This used to be a per-window ImGuiWindowFlags_ResizeFromAnySide flag) |     bool        ConfigWindowsResizeFromEdges;   // = true           // Enable resizing of windows from their edges and from the lower-left corner. This requires (io.BackendFlags & ImGuiBackendFlags_HasMouseCursors) because it needs mouse cursor feedback. (This used to be a per-window ImGuiWindowFlags_ResizeFromAnySide flag) | ||||||
|     bool        ConfigWindowsMoveFromTitleBarOnly; // = false       // [BETA] Set to true to only allow moving windows when clicked+dragged from the title bar. Windows without a title bar are not affected. |     bool        ConfigWindowsMoveFromTitleBarOnly; // = false       // [BETA] Set to true to only allow moving windows when clicked+dragged from the title bar. Windows without a title bar are not affected. | ||||||
|     float       ConfigMemoryCompactTimer;       // = 60.0f          // [BETA] Free transient windows/tables memory buffers when unused for given amount of time. Set to -1.0f to disable. |     float       ConfigMemoryCompactTimer;       // = 60.0f          // [BETA] Free transient windows/tables memory buffers when unused for given amount of time. Set to -1.0f to disable. | ||||||
| @@ -1960,11 +1955,7 @@ namespace ImGui | |||||||
|     static inline ImDrawList* GetOverlayDrawList()            { return GetForegroundDrawList(); } |     static inline ImDrawList* GetOverlayDrawList()            { return GetForegroundDrawList(); } | ||||||
|     // OBSOLETED in 1.66 (from Sep 2018) |     // OBSOLETED in 1.66 (from Sep 2018) | ||||||
|     static inline void  SetScrollHere(float center_ratio=0.5f){ SetScrollHereY(center_ratio); } |     static inline void  SetScrollHere(float center_ratio=0.5f){ SetScrollHereY(center_ratio); } | ||||||
|     // OBSOLETED in 1.63 (between Aug 2018 and Sept 2018) |  | ||||||
|     static inline bool  IsItemDeactivatedAfterChange()        { return IsItemDeactivatedAfterEdit(); } |  | ||||||
| } | } | ||||||
| typedef ImGuiInputTextCallback      ImGuiTextEditCallback;    // OBSOLETED in 1.63 (from Aug 2018): made the names consistent |  | ||||||
| typedef ImGuiInputTextCallbackData  ImGuiTextEditCallbackData; |  | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| //----------------------------------------------------------------------------- | //----------------------------------------------------------------------------- | ||||||
|   | |||||||
| @@ -3594,8 +3594,10 @@ static void ShowDemoWindowTables() | |||||||
|             "Fixed-width columns generally makes more sense if you want to use horizontal scrolling.\n\n" |             "Fixed-width columns generally makes more sense if you want to use horizontal scrolling.\n\n" | ||||||
|             "Double-click a column border to auto-fit the column to its contents."); |             "Double-click a column border to auto-fit the column to its contents."); | ||||||
|         static ImGuiTableFlags flags = ImGuiTableFlags_Resizable | ImGuiTableFlags_ColumnsWidthFixed | ImGuiTableFlags_BordersOuter | ImGuiTableFlags_BordersV | ImGuiTableFlags_ContextMenuInBody; |         static ImGuiTableFlags flags = ImGuiTableFlags_Resizable | ImGuiTableFlags_ColumnsWidthFixed | ImGuiTableFlags_BordersOuter | ImGuiTableFlags_BordersV | ImGuiTableFlags_ContextMenuInBody; | ||||||
|         //ImGui::CheckboxFlags("ImGuiTableFlags_ScrollX", &flags, ImGuiTableFlags_ScrollX); // FIXME-TABLE: Explain or fix the effect of enable Scroll on outer_size |         static bool use_all_width = true; | ||||||
|         if (ImGui::BeginTable("##table1", 3, flags)) |         ImGui::Checkbox("Use all width", &use_all_width); | ||||||
|  |  | ||||||
|  |         if (ImGui::BeginTable("##table1", 3, flags, ImVec2(use_all_width ? -FLT_MIN : 0.0f, 0.0f))) | ||||||
|         { |         { | ||||||
|             for (int row = 0; row < 5; row++) |             for (int row = 0; row < 5; row++) | ||||||
|             { |             { | ||||||
| @@ -3663,7 +3665,7 @@ static void ShowDemoWindowTables() | |||||||
|     if (ImGui::TreeNode("Reorderable, hideable, with headers")) |     if (ImGui::TreeNode("Reorderable, hideable, with headers")) | ||||||
|     { |     { | ||||||
|         HelpMarker("Click and drag column headers to reorder columns.\n\nYou can also right-click on a header to open a context menu."); |         HelpMarker("Click and drag column headers to reorder columns.\n\nYou can also right-click on a header to open a context menu."); | ||||||
|         static ImGuiTableFlags flags = ImGuiTableFlags_Resizable | ImGuiTableFlags_Reorderable | ImGuiTableFlags_Hideable | ImGuiTableFlags_BordersOuter | ImGuiTableFlags_BordersV | ImGuiTableFlags_NoBordersInBody; |         static ImGuiTableFlags flags = ImGuiTableFlags_Resizable | ImGuiTableFlags_Reorderable | ImGuiTableFlags_Hideable | ImGuiTableFlags_BordersOuter | ImGuiTableFlags_BordersV; | ||||||
|         PushStyleCompact(); |         PushStyleCompact(); | ||||||
|         ImGui::CheckboxFlags("ImGuiTableFlags_Resizable", &flags, ImGuiTableFlags_Resizable); |         ImGui::CheckboxFlags("ImGuiTableFlags_Resizable", &flags, ImGuiTableFlags_Resizable); | ||||||
|         ImGui::CheckboxFlags("ImGuiTableFlags_Reorderable", &flags, ImGuiTableFlags_Reorderable); |         ImGui::CheckboxFlags("ImGuiTableFlags_Reorderable", &flags, ImGuiTableFlags_Reorderable); | ||||||
| @@ -4026,7 +4028,7 @@ static void ShowDemoWindowTables() | |||||||
|     { |     { | ||||||
|         HelpMarker("This demonstrate embedding a table into another table cell."); |         HelpMarker("This demonstrate embedding a table into another table cell."); | ||||||
|  |  | ||||||
|         if (ImGui::BeginTable("recurse1", 2, ImGuiTableFlags_Borders | ImGuiTableFlags_Resizable | ImGuiTableFlags_Reorderable)) |         if (ImGui::BeginTable("recurse1", 2, ImGuiTableFlags_Borders | ImGuiTableFlags_Resizable | ImGuiTableFlags_Reorderable | ImGuiTableFlags_Hideable)) | ||||||
|         { |         { | ||||||
|             ImGui::TableSetupColumn("A0"); |             ImGui::TableSetupColumn("A0"); | ||||||
|             ImGui::TableSetupColumn("A1"); |             ImGui::TableSetupColumn("A1"); | ||||||
| @@ -4036,7 +4038,7 @@ static void ShowDemoWindowTables() | |||||||
|             ImGui::Text("A0 Cell 0"); |             ImGui::Text("A0 Cell 0"); | ||||||
|             { |             { | ||||||
|                 float rows_height = TEXT_BASE_HEIGHT * 2; |                 float rows_height = TEXT_BASE_HEIGHT * 2; | ||||||
|                 if (ImGui::BeginTable("recurse2", 2, ImGuiTableFlags_Borders | ImGuiTableFlags_Resizable | ImGuiTableFlags_Reorderable)) |                 if (ImGui::BeginTable("recurse2", 2, ImGuiTableFlags_Borders | ImGuiTableFlags_Resizable | ImGuiTableFlags_Reorderable | ImGuiTableFlags_Hideable)) | ||||||
|                 { |                 { | ||||||
|                     ImGui::TableSetupColumn("B0"); |                     ImGui::TableSetupColumn("B0"); | ||||||
|                     ImGui::TableSetupColumn("B1"); |                     ImGui::TableSetupColumn("B1"); | ||||||
|   | |||||||
| @@ -2295,10 +2295,11 @@ void ImGui::TableMergeDrawChannels(ImGuiTable* table) | |||||||
| void ImGui::TableDrawBorders(ImGuiTable* table) | void ImGui::TableDrawBorders(ImGuiTable* table) | ||||||
| { | { | ||||||
|     ImGuiWindow* inner_window = table->InnerWindow; |     ImGuiWindow* inner_window = table->InnerWindow; | ||||||
|     table->DrawSplitter.SetCurrentChannel(inner_window->DrawList, TABLE_DRAW_CHANNEL_BG0); |  | ||||||
|     if (inner_window->Hidden || !table->HostClipRect.Overlaps(table->InnerClipRect)) |     if (inner_window->Hidden || !table->HostClipRect.Overlaps(table->InnerClipRect)) | ||||||
|         return; |         return; | ||||||
|  |  | ||||||
|     ImDrawList* inner_drawlist = inner_window->DrawList; |     ImDrawList* inner_drawlist = inner_window->DrawList; | ||||||
|  |     table->DrawSplitter.SetCurrentChannel(inner_drawlist, TABLE_DRAW_CHANNEL_BG0); | ||||||
|     inner_drawlist->PushClipRect(table->Bg0ClipRectForDrawCmd.Min, table->Bg0ClipRectForDrawCmd.Max, false); |     inner_drawlist->PushClipRect(table->Bg0ClipRectForDrawCmd.Min, table->Bg0ClipRectForDrawCmd.Max, false); | ||||||
|  |  | ||||||
|     // Draw inner border and resizing feedback |     // Draw inner border and resizing feedback | ||||||
| @@ -2318,11 +2319,11 @@ void ImGui::TableDrawBorders(ImGuiTable* table) | |||||||
|             const bool is_hovered = (table->HoveredColumnBorder == column_n); |             const bool is_hovered = (table->HoveredColumnBorder == column_n); | ||||||
|             const bool is_resized = (table->ResizedColumn == column_n) && (table->InstanceInteracted == table->InstanceCurrent); |             const bool is_resized = (table->ResizedColumn == column_n) && (table->InstanceInteracted == table->InstanceCurrent); | ||||||
|             const bool is_resizable = (column->Flags & (ImGuiTableColumnFlags_NoResize | ImGuiTableColumnFlags_NoDirectResize_)) == 0; |             const bool is_resizable = (column->Flags & (ImGuiTableColumnFlags_NoResize | ImGuiTableColumnFlags_NoDirectResize_)) == 0; | ||||||
|  |             const bool is_frozen_separator = (table->FreezeColumnsCount != -1 && table->FreezeColumnsCount == order_n + 1); | ||||||
|  |  | ||||||
|             if (column->MaxX > table->InnerClipRect.Max.x && !is_resized)// && is_hovered) |             if (column->MaxX > table->InnerClipRect.Max.x && !is_resized)// && is_hovered) | ||||||
|                 continue; |                 continue; | ||||||
|             if (column->NextEnabledColumn == -1 && !is_resizable) |             if (column->NextEnabledColumn == -1 && !is_resizable && (table->Flags & ImGuiTableFlags_SameWidths) == 0) | ||||||
|                 if ((table->Flags & ImGuiTableFlags_SameWidths) == 0) |  | ||||||
|                 continue; |                 continue; | ||||||
|             if (column->MaxX <= column->ClipRect.Min.x) // FIXME-TABLE FIXME-STYLE: Assume BorderSize==1, this is problematic if we want to increase the border size.. |             if (column->MaxX <= column->ClipRect.Min.x) // FIXME-TABLE FIXME-STYLE: Assume BorderSize==1, this is problematic if we want to increase the border size.. | ||||||
|                 continue; |                 continue; | ||||||
| @@ -2331,7 +2332,7 @@ void ImGui::TableDrawBorders(ImGuiTable* table) | |||||||
|             // Always draw full height border when being resized/hovered, or on the delimitation of frozen column scrolling. |             // Always draw full height border when being resized/hovered, or on the delimitation of frozen column scrolling. | ||||||
|             ImU32 col; |             ImU32 col; | ||||||
|             float draw_y2; |             float draw_y2; | ||||||
|             if (is_hovered || is_resized || (table->FreezeColumnsCount != -1 && table->FreezeColumnsCount == order_n + 1)) |             if (is_hovered || is_resized || is_frozen_separator) | ||||||
|             { |             { | ||||||
|                 draw_y2 = draw_y2_body; |                 draw_y2 = draw_y2_body; | ||||||
|                 col = is_resized ? GetColorU32(ImGuiCol_SeparatorActive) : is_hovered ? GetColorU32(ImGuiCol_SeparatorHovered) : table->BorderColorStrong; |                 col = is_resized ? GetColorU32(ImGuiCol_SeparatorActive) : is_hovered ? GetColorU32(ImGuiCol_SeparatorHovered) : table->BorderColorStrong; | ||||||
| @@ -2348,7 +2349,7 @@ void ImGui::TableDrawBorders(ImGuiTable* table) | |||||||
|     } |     } | ||||||
|  |  | ||||||
|     // Draw outer border |     // Draw outer border | ||||||
|     // FIXME-TABLE: could use AddRect or explicit VLine/HLine helper? |     // FIXME: could use AddRect or explicit VLine/HLine helper? | ||||||
|     if (table->Flags & ImGuiTableFlags_BordersOuter) |     if (table->Flags & ImGuiTableFlags_BordersOuter) | ||||||
|     { |     { | ||||||
|         // Display outer border offset by 1 which is a simple way to display it without adding an extra draw call |         // Display outer border offset by 1 which is a simple way to display it without adding an extra draw call | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user