Как сделать чтобы imgui.WindowFlags.ShowBorders работал только на окно, т.е. чтоб границ не было у кнопок и т.п.

Corenale

луашер типа
Автор темы
Проверенный
167
320
Версия MoonLoader
.026-beta
Как сделать чтобы imgui.WindowFlags.ShowBorders работал только на окно, т.е. чтоб границ не было у кнопок и т.п.
 
  • Влюблен
Реакции: sat0ry
Решение
Такой себе вариант, но да
Lua:
imgui.PushStyleColor(imgui.Col.Border, imgui.ImVec4(0.0, 0.0, 0.0, 0.0)) -- после imgui.Begin
--code
imgui.PopStyleColor(1) -- перед imgui.End

А лучший вариант перейти на mimgui, где в стиле можно установить размеры обводки разных элементов

1231311.PNG

qdIbp

Автор темы
Проверенный
1,435
1,175
Если ты про такую обводку
Снимок экрана (409).png


то тебе нужен
Lua:
imgui.BeginChild("Любое название", --[[Размер]]imgui.ImVec2(200, 200), --[[Вкл/выкл обводка]]true)
Можно использовать как

Lua:
function imgui.OnDrawFrame()
    if main_window_state.v then
        imgui.SetNextWindowSize(imgui.ImVec2(220, 234), imgui.Cond.FirstUseEver)
        imgui.Begin('My window', main_window_state)
            imgui.BeginChild("Любое название", imgui.ImVec2(200, 200), true)--начало
                imgui.Text('Hello world')
            imgui.EndChild()--конец
        imgui.End()
    end
end
 

qdIbp

Автор темы
Проверенный
1,435
1,175
Примерно как вот это:
MYm8klCQWtg.jpg
А если так, то тогда это
Lua:
imgui.Separator()
Пример:
Lua:
local main_window_state = imgui.ImBool(false)
function imgui.OnDrawFrame()
    if main_window_state.v then
        imgui.SetNextWindowSize(imgui.ImVec2(220, 234), imgui.Cond.FirstUseEver)
        imgui.Begin('My window', main_window_state)
       
                imgui.Text('Hello world')
            imgui.Separator()
                imgui.Text('Hello world')

        imgui.End()
    end
end
Снимок экрана (411).png
 

Corenale

луашер типа
Автор темы
Проверенный
167
320
А если так, то тогда это
Lua:
imgui.Separator()
Пример:
Lua:
local main_window_state = imgui.ImBool(false)
function imgui.OnDrawFrame()
    if main_window_state.v then
        imgui.SetNextWindowSize(imgui.ImVec2(220, 234), imgui.Cond.FirstUseEver)
        imgui.Begin('My window', main_window_state)
      
                imgui.Text('Hello world')
            imgui.Separator()
                imgui.Text('Hello world')

        imgui.End()
    end
end
Посмотреть вложение 129012
facepalm

Границы:
1640884523225.png
 
Последнее редактирование:
  • Злость
Реакции: SomaGnoma

Mico

Активный
251
48
Я обычно создавал функцию новой кнопки и там уменьшал цвет Border's до минимума.
Lua:
function imgui.ButtonTwo(text, size)
    imgui.PushStyleColor(imgui.Col.Border, imgui.ImVec4(0.06, 0.05, 0.07, 0.00))
        local button = imgui.Button(text, size)
    imgui.PopStyleColor(1)
    return button
end
 

Snoopcheg

Известный
151
82
Такой себе вариант, но да
Lua:
imgui.PushStyleColor(imgui.Col.Border, imgui.ImVec4(0.0, 0.0, 0.0, 0.0)) -- после imgui.Begin
--code
imgui.PopStyleColor(1) -- перед imgui.End

А лучший вариант перейти на mimgui, где в стиле можно установить размеры обводки разных элементов

1231311.PNG
 
  • Нравится
  • Влюблен
Реакции: Mico и Corenale