MCPcopy Create free account
hub / github.com/DISTRHO/Cardinal / CalcResizePosSizeFromAnyCorner

Function CalcResizePosSizeFromAnyCorner

plugins/Cardinal/src/DearImGui/imgui.cpp:5473–5485  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5471}
5472
5473static void CalcResizePosSizeFromAnyCorner(ImGuiWindow* window, const ImVec2& corner_target, const ImVec2& corner_norm, ImVec2* out_pos, ImVec2* out_size)
5474{
5475 ImVec2 pos_min = ImLerp(corner_target, window->Pos, corner_norm); // Expected window upper-left
5476 ImVec2 pos_max = ImLerp(window->Pos + window->Size, corner_target, corner_norm); // Expected window lower-right
5477 ImVec2 size_expected = pos_max - pos_min;
5478 ImVec2 size_constrained = CalcWindowSizeAfterConstraint(window, size_expected);
5479 *out_pos = pos_min;
5480 if (corner_norm.x == 0.0f)
5481 out_pos->x -= (size_constrained.x - size_expected.x);
5482 if (corner_norm.y == 0.0f)
5483 out_pos->y -= (size_constrained.y - size_expected.y);
5484 *out_size = size_constrained;
5485}
5486
5487// Data for resizing from corner
5488struct ImGuiResizeGripDef

Callers 1

Calls 2

ImLerpFunction · 0.85

Tested by

no test coverage detected