Неактуально не расширяется область прокрутки mimgui

Hinаta

Известный
Автор темы
784
356
Версия MoonLoader
.026-beta
Писал я, значит, свой скрипт, писал... И в определённый момент обнаружил, что одно из окон перестало прокручиваться.


До этого со скроллом всё было нормально, но после каких-то моих действий он работать перестал, даже область прокрутки, как видно по скроллбару, не изменяется. Несколько дней я пробовал делать всё, что приходило в голову, но проблему так и не решил. Подскажите, люди добрые, в каком месте я овощ, потому что я уже в отчаянии. Ниже прикрепляю рабочий прототип (его можно увидеть на фрапсе справа).

Lua:
local imgui = require('mimgui')
local flags = imgui.WindowFlags
local ImVec2 = imgui.ImVec2
local ImVec4 = imgui.ImVec4
local sobesMessages = {}
for i = 1, 100 do
    sobesMessages[i] = tostring(i)
end

local sobes_chat_frame = imgui.OnFrame(function() return isSampAvailable() end,
    function(player)
        imgui.SetNextWindowSize(ImVec2(450, 600))
        imgui.Begin('window', nil, flags.NoResize + flags.NoTitleBar)
        local p = imgui.GetWindowPos()
        local s = imgui.GetWindowSize()
        imgui.GetStyle().ChildRounding = 0
        imgui.PushStyleColor(imgui.Col.ChildBg, ImVec4(0, 0, 0, 0))
        imgui.SetCursorPos(ImVec2(5, 75))
        imgui.PushStyleColor(imgui.Col.Border, ImVec4(1, 0, 0, 1))
        imgui.BeginChild('message_area', ImVec2(440, 474), true)
        local totalMessages = #sobesMessages
        local messageY = 470
        for i = totalMessages, 1, -1 do
            local messageText = sobesMessages[i]
            local textWidth = imgui.CalcTextSize(messageText).x
            local messageHeight = textWidth > 330 and 45 or 30
            if textWidth > 650 then
                messageHeight = 65
            end
            local textWidth = textWidth > 310 and 310 or textWidth
            local textWidth = textWidth < 45 and 45 or textWidth
            messageY = messageY - messageHeight - 3.5
            imgui.SetCursorPos(ImVec2(s.x - textWidth - 5, messageY))
            imgui.GetStyle().ChildRounding = 10
            imgui.PushStyleColor(imgui.Col.ChildBg, ImVec4(0.27, 0.2745, 0.282, 1))
            imgui.BeginChild(tostring(i), ImVec2(textWidth, messageHeight), false)
            imgui.SetCursorPosY(0)
            imgui.SetWindowFontScale(1.15)
            imgui.SetCursorPosX(imgui.GetCursorPosX() + 8.5)
            imgui.TextWrapped(messageText)
            imgui.EndChild()
            imgui.SetWindowFontScale(1)
        end
        imgui.EndChild()
        imgui.End()
    end
)

@#Northn прости за наглость, но ходят слухи, что ты создал mimgui. Помоги, пожалуйста
 
Последнее редактирование:

Hinаta

Известный
Автор темы
784
356
up

За 20 минут решил неделю, с которой ебался пару недель (да, ебантяй)
Причиной проблемы стала эта строка:
ImvUkMM5e6g.jpg


А именно установка позиции по оси Y. Я не знаю, как можно нормально устанавливать сообщениям позицию по вертикали, но, в любом случае, проблема со скроллом решена. Спасибо всем, кто не помогал.
 
Последнее редактирование: