Помощь в Imgui

Morse

Потрачен
Автор темы
436
70
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Версия MoonLoader
Другое
Как сделать заголовок в Imgui по центру и несколько кнопок что бы они были в ряд ?
 

kizn

\ 0 _ 0 /
Всефорумный модератор
2,407
2,090
Как сделать заголовок в Imgui по центру и несколько кнопок что бы они были в ряд ?
1)
Lua:
function imgui.CenterText(text)
    local width = imgui.GetWindowWidth()
    local calc = imgui.CalcTextSize(text)
    imgui.SetCursorPosX( width / 2 - calc.x / 2 )
    imgui.Text(text)
end

-- Пример: imgui.CenterText('text')
2) imgui.SameLine() после каждой кнопки
 
  • Нравится
Реакции: Morse

ImPasha

Software Developer & System Administrator
Друг
1,789
2,141
1)
Lua:
function imgui.CenterText(text)
    local width = imgui.GetWindowWidth()
    local calc = imgui.CalcTextSize(text)
    imgui.SetCursorPosX( width / 2 - calc.x / 2 )
    imgui.Text(text)
end

-- Пример: imgui.CenterText('text')
2) imgui.SameLine() после каждой кнопки
Он просит заголовок окна по центру, а не текст.
Чтобы сдвинуть заголовок в центр можно использовать:
Lua:
imgui.GetStyle().WindowTitleAlign = imgui.ImVec2(0.5, 0.5)
 

Morse

Потрачен
Автор темы
436
70
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

ImPasha

Software Developer & System Administrator
Друг
1,789
2,141
Перед Begin или после?
В imgui.OnInitialize.
Можно также использовать перед Begin таким образом:
Lua:
imgui.PushStyleVarVec2(imgui.StyleVar.WindowTitleAlign, imgui.ImVec2(0.5, 0.5))
imgui.Begin(...)

imgui.End()
imgui.PopStyleVar()
 

ImPasha

Software Developer & System Administrator
Друг
1,789
2,141
Но он ведь не mimgui использует?
Не указано, что он использует, актуальной библиотекой на данный момент является mimgui, поэтому отвечаю я на основе этих данных. Если ему нужна помощь с Moon ImGui, об этом нужно писать в теме. Да и в любом случае, разница не велика, использовать в Moon ImGui надо в imgui.BeforeDrawFrame.
 
  • Нравится
Реакции: kizn

Morse

Потрачен
Автор темы
436
70
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
1)
Lua:
function imgui.CenterText(text)
    local width = imgui.GetWindowWidth()
    local calc = imgui.CalcTextSize(text)
    imgui.SetCursorPosX( width / 2 - calc.x / 2 )
    imgui.Text(text)
end

-- Пример: imgui.CenterText('text')
2) imgui.SameLine() после каждой кнопки
У меня кнопка показывается на строчке где поле ввода
А надо что бы кнопки были под полем ввода и в ряд