Перемещение окна ImGui

AngelMAILS228

Участник
Автор темы
79
7
Версия MoonLoader
.026-beta
Привет, подскажите как сделать через кнопку "Местоположение", чтоб можно было менять местоположение окна, как на примере ниже.
1638627948194.png
 
Решение
Lua:
local settings = { -- Тут может быть подгрузка настроек через inicfg, но сейчас просто таблица, для примера
    widget = {
        posX = 400,
        posY = 400
    }
}
local MoveWidget = false

function main()
    while true do wait(0)
        if MoveWidget then
            settings.widget.posX, settings.widget.posY = getCursorPos()
            if isKeyJustPressed(1) then -- 1 = LMB
                MoveWidget = false
            end
        end
    end
end

в коде imgui/mimgui перед отрисовкой самого виджета:
Lua:
imgui.SetNextWindowPos(imgui.ImVec2(settings.widget.posX, settings.widget.posY), imgui.Cond.Always, imgui.ImVec2(1, 1))

Когда нужно изменить положение виджета(допустим при нажатии на кнопку): MoveWidget = true

RedHolms

Известный
Проверенный
619
365
Lua:
local settings = { -- Тут может быть подгрузка настроек через inicfg, но сейчас просто таблица, для примера
    widget = {
        posX = 400,
        posY = 400
    }
}
local MoveWidget = false

function main()
    while true do wait(0)
        if MoveWidget then
            settings.widget.posX, settings.widget.posY = getCursorPos()
            if isKeyJustPressed(1) then -- 1 = LMB
                MoveWidget = false
            end
        end
    end
end

в коде imgui/mimgui перед отрисовкой самого виджета:
Lua:
imgui.SetNextWindowPos(imgui.ImVec2(settings.widget.posX, settings.widget.posY), imgui.Cond.Always, imgui.ImVec2(1, 1))

Когда нужно изменить положение виджета(допустим при нажатии на кнопку): MoveWidget = true
 
  • Нравится
Реакции: Sergey_Turner

AngelMAILS228

Участник
Автор темы
79
7
Lua:
local settings = { -- Тут может быть подгрузка настроек через inicfg, но сейчас просто таблица, для примера
    widget = {
        posX = 400,
        posY = 400
    }
}
local MoveWidget = false

function main()
    while true do wait(0)
        if MoveWidget then
            settings.widget.posX, settings.widget.posY = getCursorPos()
            if isKeyJustPressed(1) then -- 1 = LMB
                MoveWidget = false
            end
        end
    end
end

в коде imgui/mimgui перед отрисовкой самого виджета:
Lua:
imgui.SetNextWindowPos(imgui.ImVec2(settings.widget.posX, settings.widget.posY), imgui.Cond.Always, imgui.ImVec2(1, 1))

Когда нужно изменить положение виджета(допустим при нажатии на кнопку): MoveWidget = true
Спасибо огромное, а не знаешь как добавить скругление краев такое же?