Какие варианты отступа между элементами есть?

schtolz

Известный
Автор темы
125
79
Версия MoonLoader
.026-beta
Какие варианты есть, чтобы сделать отступы между этими окнами? На скриншоте вы видите BeginChild и отступы между ними я делал следующим образом
Lua:
imgui.SameLine() imgui.Spacing() imgui.SameLine()
Мне кажется это полная хрень + Я не могу сделать отступ справа
Дело в том, что я делаю типо адаптивное окно. Везде цифры получаю делением разрешения экрана. А еще это mimgui
Lua:
local newFrame = imgui.OnFrame( function() return renderWindow[0] end, function(player)

        imgui.SetNextWindowPos(imgui.ImVec2(sizeX/7, sizeY/7))
        imgui.SetNextWindowSize(imgui.ImVec2(sizeX - sizeX/3,sizeY - sizeY/3))
      

        imgui.Begin("Main Window", renderWindow)
        imgui.Text("Hello")
        imgui.Text(string.format("Current render mode: %s", renderWindow[0]))
        -- Верхние 4 окошка
        imgui.Spacing() imgui.SameLine()
        if imgui.BeginChild('Name1',imgui.ImVec2((sizeX - sizeX/3)/4,(sizeY - sizeY/3)/4),true) then
            imgui.Text(u8'Окно1')
            imgui.EndChild()
        end
        imgui.SameLine() imgui.Spacing() imgui.SameLine()
        if imgui.BeginChild('Name2',imgui.ImVec2((sizeX - sizeX/3)/4,(sizeY - sizeY/3)/4),true) then
            imgui.Text(u8'Окно2')
            imgui.EndChild()
        end
        imgui.SameLine() imgui.Spacing() imgui.SameLine()
        if imgui.BeginChild('Name3',imgui.ImVec2((sizeX - sizeX/3)/4,(sizeY - sizeY/3)/4),true) then
            imgui.Text(u8'Окно3')
            imgui.EndChild()
        end
        imgui.SameLine() imgui.Spacing() imgui.SameLine()
        if imgui.BeginChild('Name4',imgui.ImVec2((sizeX - sizeX/3)/4,(sizeY - sizeY/3)/4),true) then
            imgui.Text(u8'Окно4')
            imgui.EndChild()
        end
        imgui.SameLine() imgui.Spacing()
        -- Нижние 2 окошка
        imgui.Spacing() imgui.SameLine()
        if imgui.BeginChild('Name5',imgui.ImVec2((sizeX - sizeX/3)/2,(sizeY - sizeY/3)/2),true) then
            imgui.Text(u8'Окно5')
            imgui.EndChild()
        end
        imgui.SameLine() imgui.Spacing() imgui.SameLine()
        if imgui.BeginChild('Name6',imgui.ImVec2((sizeX - sizeX/3)/2,(sizeY - sizeY/3)/2),true) then
            imgui.Text(u8'Окно6')
            imgui.EndChild()
        end
        imgui.SameLine() imgui.Spacing() imgui.SameLine()
        imgui.End()
      
end)

Посмотреть вложение 241996
1717178569872.png
 

wojciech?

Известный
Проверенный
350
230
отступы между ними я делал следующим образом
Lua:
imgui.SameLine(nil, отступ в пикселях)

либо в стиле прописать отступы:
Lua:
imgui.GetStyle().ItemSpacing = imgui.ImVec2(x, y) -- отступ по оси x и по оси y для каждого элемента
 
  • Нравится
Реакции: stool