function imgui.CentredInputText(width, ...)
local cursorPos = imgui.GetCursorScreenPos();
imgui.PushStyleColor(imgui.Col.Text, imgui.ImVec4(0, 0, 0, 0));
imgui.SetNextItemWidth(width);
local input = imgui.InputText(...);
imgui.PopStyleColor();
local textValue = ffi.string(({...})[2]);
local textSize = imgui.CalcTextSize(textValue);
imgui.GetWindowDrawList():AddText(imgui.ImVec2(cursorPos.x + width / 2 - textSize.x / 2, cursorPos.y + imgui.GetStyle().FramePadding.y), 0xFFffffff, textValue);
return input;
end