Drag and Drop, Style: added ImGuiStyleVar_DragDropTargetRounding. (#9056)
+ readded rounding arg to RenderDragDropTargetRectEx().
This commit is contained in:
@@ -129,6 +129,7 @@ Other Changes:
|
|||||||
- Style:
|
- Style:
|
||||||
- Fixed vertical scrollbar top coordinates when using thick borders on windows
|
- Fixed vertical scrollbar top coordinates when using thick borders on windows
|
||||||
with no title bar and no menu bar. (#9366)
|
with no title bar and no menu bar. (#9366)
|
||||||
|
- Added ImGuiStyleVar_DragDropTargetRounding. (#9056)
|
||||||
- Fonts:
|
- Fonts:
|
||||||
- imgui_freetype: add FreeType headers & compiled version in 'About Dear ImGui' details.
|
- imgui_freetype: add FreeType headers & compiled version in 'About Dear ImGui' details.
|
||||||
- Assert when using MergeMode with an explicit size over a target font with an implicit
|
- Assert when using MergeMode with an explicit size over a target font with an implicit
|
||||||
|
|||||||
@@ -3659,6 +3659,7 @@ static const ImGuiStyleVarInfo GStyleVarsInfo[] =
|
|||||||
{ 2, ImGuiDataType_Float, (ImU32)offsetof(ImGuiStyle, TableAngledHeadersTextAlign)},// ImGuiStyleVar_TableAngledHeadersTextAlign
|
{ 2, ImGuiDataType_Float, (ImU32)offsetof(ImGuiStyle, TableAngledHeadersTextAlign)},// ImGuiStyleVar_TableAngledHeadersTextAlign
|
||||||
{ 1, ImGuiDataType_Float, (ImU32)offsetof(ImGuiStyle, TreeLinesSize)}, // ImGuiStyleVar_TreeLinesSize
|
{ 1, ImGuiDataType_Float, (ImU32)offsetof(ImGuiStyle, TreeLinesSize)}, // ImGuiStyleVar_TreeLinesSize
|
||||||
{ 1, ImGuiDataType_Float, (ImU32)offsetof(ImGuiStyle, TreeLinesRounding)}, // ImGuiStyleVar_TreeLinesRounding
|
{ 1, ImGuiDataType_Float, (ImU32)offsetof(ImGuiStyle, TreeLinesRounding)}, // ImGuiStyleVar_TreeLinesRounding
|
||||||
|
{ 1, ImGuiDataType_Float, (ImU32)offsetof(ImGuiStyle, DragDropTargetRounding)}, // ImGuiStyleVar_DragDropTargetRounding
|
||||||
{ 2, ImGuiDataType_Float, (ImU32)offsetof(ImGuiStyle, ButtonTextAlign) }, // ImGuiStyleVar_ButtonTextAlign
|
{ 2, ImGuiDataType_Float, (ImU32)offsetof(ImGuiStyle, ButtonTextAlign) }, // ImGuiStyleVar_ButtonTextAlign
|
||||||
{ 2, ImGuiDataType_Float, (ImU32)offsetof(ImGuiStyle, SelectableTextAlign) }, // ImGuiStyleVar_SelectableTextAlign
|
{ 2, ImGuiDataType_Float, (ImU32)offsetof(ImGuiStyle, SelectableTextAlign) }, // ImGuiStyleVar_SelectableTextAlign
|
||||||
{ 1, ImGuiDataType_Float, (ImU32)offsetof(ImGuiStyle, SeparatorSize)}, // ImGuiStyleVar_SeparatorSize
|
{ 1, ImGuiDataType_Float, (ImU32)offsetof(ImGuiStyle, SeparatorSize)}, // ImGuiStyleVar_SeparatorSize
|
||||||
@@ -15118,7 +15119,7 @@ const ImGuiPayload* ImGui::AcceptDragDropPayload(const char* type, ImGuiDragDrop
|
|||||||
{
|
{
|
||||||
ImRect bb = g.DragDropTargetRect;
|
ImRect bb = g.DragDropTargetRect;
|
||||||
bb.Expand(-3.5f);
|
bb.Expand(-3.5f);
|
||||||
RenderDragDropTargetRectEx(GetForegroundDrawList(), bb);
|
RenderDragDropTargetRectEx(GetForegroundDrawList(), bb, g.Style.DragDropTargetRounding);
|
||||||
}
|
}
|
||||||
else if (draw_target_rect)
|
else if (draw_target_rect)
|
||||||
{
|
{
|
||||||
@@ -15149,16 +15150,16 @@ void ImGui::RenderDragDropTargetRectForItem(const ImRect& bb)
|
|||||||
bool push_clip_rect = !window->ClipRect.Contains(bb_display);
|
bool push_clip_rect = !window->ClipRect.Contains(bb_display);
|
||||||
if (push_clip_rect)
|
if (push_clip_rect)
|
||||||
window->DrawList->PushClipRectFullScreen();
|
window->DrawList->PushClipRectFullScreen();
|
||||||
RenderDragDropTargetRectEx(window->DrawList, bb_display);
|
RenderDragDropTargetRectEx(window->DrawList, bb_display, g.Style.DragDropTargetRounding);
|
||||||
if (push_clip_rect)
|
if (push_clip_rect)
|
||||||
window->DrawList->PopClipRect();
|
window->DrawList->PopClipRect();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ImGui::RenderDragDropTargetRectEx(ImDrawList* draw_list, const ImRect& bb)
|
void ImGui::RenderDragDropTargetRectEx(ImDrawList* draw_list, const ImRect& bb, float rounding)
|
||||||
{
|
{
|
||||||
ImGuiContext& g = *GImGui;
|
ImGuiContext& g = *GImGui;
|
||||||
draw_list->AddRectFilled(bb.Min, bb.Max, GetColorU32(ImGuiCol_DragDropTargetBg), g.Style.DragDropTargetRounding, 0);
|
draw_list->AddRectFilled(bb.Min, bb.Max, GetColorU32(ImGuiCol_DragDropTargetBg), rounding, 0);
|
||||||
draw_list->AddRect(bb.Min, bb.Max, GetColorU32(ImGuiCol_DragDropTarget), g.Style.DragDropTargetRounding, 0, g.Style.DragDropTargetBorderSize);
|
draw_list->AddRect(bb.Min, bb.Max, GetColorU32(ImGuiCol_DragDropTarget), rounding, 0, g.Style.DragDropTargetBorderSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
const ImGuiPayload* ImGui::GetDragDropPayload()
|
const ImGuiPayload* ImGui::GetDragDropPayload()
|
||||||
|
|||||||
@@ -1852,6 +1852,7 @@ enum ImGuiStyleVar_
|
|||||||
ImGuiStyleVar_TableAngledHeadersTextAlign,// ImVec2 TableAngledHeadersTextAlign
|
ImGuiStyleVar_TableAngledHeadersTextAlign,// ImVec2 TableAngledHeadersTextAlign
|
||||||
ImGuiStyleVar_TreeLinesSize, // float TreeLinesSize
|
ImGuiStyleVar_TreeLinesSize, // float TreeLinesSize
|
||||||
ImGuiStyleVar_TreeLinesRounding, // float TreeLinesRounding
|
ImGuiStyleVar_TreeLinesRounding, // float TreeLinesRounding
|
||||||
|
ImGuiStyleVar_DragDropTargetRounding, // float DragDropTargetRounding
|
||||||
ImGuiStyleVar_ButtonTextAlign, // ImVec2 ButtonTextAlign
|
ImGuiStyleVar_ButtonTextAlign, // ImVec2 ButtonTextAlign
|
||||||
ImGuiStyleVar_SelectableTextAlign, // ImVec2 SelectableTextAlign
|
ImGuiStyleVar_SelectableTextAlign, // ImVec2 SelectableTextAlign
|
||||||
ImGuiStyleVar_SeparatorSize, // float SeparatorSize
|
ImGuiStyleVar_SeparatorSize, // float SeparatorSize
|
||||||
@@ -2328,7 +2329,7 @@ struct ImGuiStyle
|
|||||||
ImGuiTreeNodeFlags TreeLinesFlags; // Default way to draw lines connecting TreeNode hierarchy. ImGuiTreeNodeFlags_DrawLinesNone or ImGuiTreeNodeFlags_DrawLinesFull or ImGuiTreeNodeFlags_DrawLinesToNodes.
|
ImGuiTreeNodeFlags TreeLinesFlags; // Default way to draw lines connecting TreeNode hierarchy. ImGuiTreeNodeFlags_DrawLinesNone or ImGuiTreeNodeFlags_DrawLinesFull or ImGuiTreeNodeFlags_DrawLinesToNodes.
|
||||||
float TreeLinesSize; // Thickness of outlines when using ImGuiTreeNodeFlags_DrawLines.
|
float TreeLinesSize; // Thickness of outlines when using ImGuiTreeNodeFlags_DrawLines.
|
||||||
float TreeLinesRounding; // Radius of lines connecting child nodes to the vertical line.
|
float TreeLinesRounding; // Radius of lines connecting child nodes to the vertical line.
|
||||||
float DragDropTargetRounding; // Radius of the drag and drop target frame.
|
float DragDropTargetRounding; // Radius of the drag and drop target frame. When <0.0f: use FrameRounding.
|
||||||
float DragDropTargetBorderSize; // Thickness of the drag and drop target border.
|
float DragDropTargetBorderSize; // Thickness of the drag and drop target border.
|
||||||
float DragDropTargetPadding; // Size to expand the drag and drop target from actual target item size.
|
float DragDropTargetPadding; // Size to expand the drag and drop target from actual target item size.
|
||||||
float ColorMarkerSize; // Size of R/G/B/A color markers for ColorEdit4() and for Drags/Sliders when using ImGuiSliderFlags_ColorMarkers.
|
float ColorMarkerSize; // Size of R/G/B/A color markers for ColorEdit4() and for Drags/Sliders when using ImGuiSliderFlags_ColorMarkers.
|
||||||
|
|||||||
+1
-1
@@ -3494,7 +3494,7 @@ namespace ImGui
|
|||||||
IMGUI_API void ClearDragDrop();
|
IMGUI_API void ClearDragDrop();
|
||||||
IMGUI_API bool IsDragDropPayloadBeingAccepted();
|
IMGUI_API bool IsDragDropPayloadBeingAccepted();
|
||||||
IMGUI_API void RenderDragDropTargetRectForItem(const ImRect& bb);
|
IMGUI_API void RenderDragDropTargetRectForItem(const ImRect& bb);
|
||||||
IMGUI_API void RenderDragDropTargetRectEx(ImDrawList* draw_list, const ImRect& bb);
|
IMGUI_API void RenderDragDropTargetRectEx(ImDrawList* draw_list, const ImRect& bb, float rounding);
|
||||||
|
|
||||||
// Typing-Select API
|
// Typing-Select API
|
||||||
// (provide Windows Explorer style "select items by typing partial name" + "cycle through items by typing same letter" feature)
|
// (provide Windows Explorer style "select items by typing partial name" + "cycle through items by typing same letter" feature)
|
||||||
|
|||||||
Reference in New Issue
Block a user