Dear ImGui

Тема в разделе "Lua", создана пользователем FYP, 25 ноя 2017.

Метки:
  1. Krendelek26

    Krendelek26 Участник

    Регистрация:
    4 авг 2017
    Сообщения:
    9
    Симпатии:
    0
    А можно пример что тут писать?
     
  2. #Northn

    #Northn нортхн
    Проверенный

    Регистрация:
    10 авг 2017
    Сообщения:
    836
    Симпатии:
    327
    
    imgui.BeginChild('MoneyAndStars', imgui.ImVec2(0, 0), true)
     
  3. Lemonager

    Lemonager Собачка из луа приюта
    Проверенный

    Регистрация:
    24 мар 2018
    Сообщения:
    237
    Симпатии:
    191
    [​IMG]
    как мне чилд сделать как на скрине я обвел? через SameLine от других объектов вообще не варик. Все объекты вниз уходят если увеличу новый чилд.
     
  4. Petr_Sergeevich

    Проверенный

    Регистрация:
    25 июн 2017
    Сообщения:
    559
    Симпатии:
    166
    imgui.SetCursorPos(imgui.ImVec2(x, y))
     
  5. Waychik

    Waychik Постоянный участник

    Регистрация:
    16 ноя 2018
    Сообщения:
    76
    Симпатии:
    44
    function imgui.OnDrawFrame()
      imgui.SetNextWindowSize(imgui.ImVec2(655, 378))
      imgui.Begin('for you)', main_window_state, imgui.WindowFlags.NoResize + imgui.WindowFlags.ShowBorders)
      imgui.BeginChild('left', imgui.ImVec2(150, 0), true)
      if not selected then selected = 1 end
      if imgui.Selectable('1', false) then selected = 1 end
      if imgui.Selectable('2', false) then selected = 2 end
      if imgui.Selectable('3', false) then selected = 3 end
      if imgui.Selectable('4', false) then selected = 4 end
      if imgui.Selectable('5', false) then selected = 5 end
      if imgui.Selectable('6', false) then selected = 6 end
      imgui.EndChild()
      imgui.SameLine()
      imgui.BeginChild('right', imgui.ImVec2(0, 0), true)
      if selected == 1 then
      imgui.Text('1')
      end
      if selected == 2 then
      imgui.Text('2')
      end
      if selected == 3 then
      imgui.Text('3')
      end
      if selected == 4 then
      imgui.Text('4')
      end
      if selected == 5 then
      imgui.Text('5')
      end
      if selected == 6 then
      imgui.Text('6')
      end
      imgui.EndChild()
      imgui.End()
    end
     
    xdswd нравится это.
  6. #kerosin

    #kerosin канистра керосина
    Проверенный

    Регистрация:
    10 апр 2017
    Сообщения:
    204
    Симпатии:
    132
    @FYP, в mImGui возможно реализовать такое, чтобы у текста была обводка?
     
  7. Aniki

    Друг

    Регистрация:
    3 сен 2017
    Сообщения:
    597
    Симпатии:
    529
    Разраб имгуя сказал что это СЛОЖНА и вообще ебитесь с этим сами
     
  8. FYP

    FYP
    not-set

    Регистрация:
    9 мар 2013
    Сообщения:
    1.684
    Симпатии:
    4.639
    mimgui предоставляет только стандартные возможности (за исключением загрузки текстур) и я не собираюсь добавлять никаких дополнительных фич. так что обводку можно реализовать только стандартными средствами, если они это позволяют.
     
    #kerosin нравится это.
  9. TheWille

    TheWille Активный участник

    Регистрация:
    24 окт 2015
    Сообщения:
    35
    Симпатии:
    2
    Как обработать нажатие на крестик в окне?
     
  10. Pelemexa

    Pelemexa Участник

    Регистрация:
    10 янв 2019
    Сообщения:
    18
    Симпатии:
    2
    Просто поставить туда переменную отвечающую за это окно (при нажатии на крестик переменная меняет значение на false и если false - закрыть окно)
     
    TheWille нравится это.
  11. Evgeniy_Pavuk

    Evgeniy_Pavuk Участник

    Регистрация:
    7 апр 2019
    Сообщения:
    22
    Симпатии:
    11
    Дайте пожалуйста тему как в первом спойлере
     
  12. Barry_Bradley

    Barry_Bradley Интересующийся

    Регистрация:
    30 июл 2018
    Сообщения:
    166
    Симпатии:
    19
    Как сделать что кнопки с одинаковым текстом работали отдельно и выполняли разные функции?
     
  13. Pelemexa

    Pelemexa Участник

    Регистрация:
    10 янв 2019
    Сообщения:
    18
    Симпатии:
    2
    if imgui.Button("But1") then
    --при нажатии выполнит код тут
    end
    
    if imgui.Button("But1") then
    --при нажатии выполнит код тут
    end
     
  14. Stepanik537

    Stepanik537 Интересующийся

    Регистрация:
    5 июл 2017
    Сообщения:
    139
    Симпатии:
    57
    if imgui.Button('text##1') then
       -- code
    end
    if imgui.Button('text##2') then
       -- code
    end
    
    все последующие должны иметь другую цифру, текст после ##. Все, что написано за решетками, не отображается
    @Pelemexa

    уточни
     
  15. Evgeniy_Pavuk

    Evgeniy_Pavuk Участник

    Регистрация:
    7 апр 2019
    Сообщения:
    22
    Симпатии:
    11
    [​IMG]
     
  16. Frapsy

    Проверенный

    Регистрация:
    4 сен 2016
    Сообщения:
    387
    Симпатии:
    180
    Не проверял идею, но, попробовать разместить текст за текстом с небольшим смещением в нужную сторону с черным цветом, тем самым сделав тень :D
     
    madrasso нравится это.
  17. Yuan

    Yuan Постоянный участник

    Регистрация:
    19 апр 2019
    Сообщения:
    90
    Симпатии:
    31
    Можно и не проверять, FYP сделал подобную тень для текста в Ping Chart. Другое дело обводка. Можно попробовать по этой же схеме, но там уже нужна махинация либо с шрифтами, либо с масштабом текста. Тупа воображалку подключать.
     
  18. Evgeniy_Pavuk

    Evgeniy_Pavuk Участник

    Регистрация:
    7 апр 2019
    Сообщения:
    22
    Симпатии:
    11
    Помогите пожалуйста в менюшку свой шрифт загрузить. Всё перепробовал. Не получается.

    И как заблокировать окно имгуи так, чтобы пользователь не мог его передвигать, как либо с ним взаимодействовать. И при открытии не появлялся курсор.
     
  19. DonHomka

    DonHomka Lealtà' verso la famiglia Tunes
    Друг

    Регистрация:
    8 ноя 2017
    Сообщения:
    2.477
    Симпатии:
    1.579
    imgui.ShowCursor + imgui.SetCursorMode для управления указателем.
    Чтобы окно нельзя было двигать нужно задать ему флаг imgui.WindowFlag.NoMove
    По поводу загрузки шрифта уже не раз говорили в этой теме. Ищите ответы.
     
  20. Evgeniy_Pavuk

    Evgeniy_Pavuk Участник

    Регистрация:
    7 апр 2019
    Сообщения:
    22
    Симпатии:
    11
    Можно для чайника куда добавлять указатели и флаги.
     
  21. bu3ka3

    bu3ka3 black call to your code
    Проверенный

    Регистрация:
    27 янв 2019
    Сообщения:
    416
    Симпатии:
    173
    3 параметром в Begin идут флаги, а указатели в момент создания окна можно или до его создания.
     
  22. Evgeniy_Pavuk

    Evgeniy_Pavuk Участник

    Регистрация:
    7 апр 2019
    Сообщения:
    22
    Симпатии:
    11
    Я использовал флаги, но окно можно перетащить.
    imgui.Begin(u8"Название", canRender, imgui.WindowFlags.NoCollapse + imgui.WindowFlags.NoResize)
     
  23. DonHomka

    DonHomka Lealtà' verso la famiglia Tunes
    Друг

    Регистрация:
    8 ноя 2017
    Сообщения:
    2.477
    Симпатии:
    1.579
    Но ведь тут нет флага NoMove :unknw:
     
  24. Evgeniy_Pavuk

    Evgeniy_Pavuk Участник

    Регистрация:
    7 апр 2019
    Сообщения:
    22
    Симпатии:
    11
    Извиняюсь. Что-то не то скопировал.

    imgui.Begin(u8"Название", canRender, imgui.WindowFlag.NoMove)
    Вот такой краш
    attempt to index field 'WindowFlag' (a nil value)
     
  25. bu3ka3

    bu3ka3 black call to your code
    Проверенный

    Регистрация:
    27 янв 2019
    Сообщения:
    416
    Симпатии:
    173
    WindowFlags
     
  26. Evgeniy_Pavuk

    Evgeniy_Pavuk Участник

    Регистрация:
    7 апр 2019
    Сообщения:
    22
    Симпатии:
    11
    Порылся в имгуи сам выяснил. Но все равно спасибо)

    Вроде последний вопрос. Как убрать закрывающую кнопку.
     
    zheka250243 нравится это.
  27. Musaigen

    Musaigen ŜĆŘΣΔΜ ΔΝĐ ŜΉØΩТ
    Проверенный

    Регистрация:
    1 апр 2018
    Сообщения:
    1.049
    Симпатии:
    434
    вторым аргументом в imgui.Begin отправить nil
     
  28. zheka250243

    zheka250243 Участник

    Регистрация:
    3 фев 2019
    Сообщения:
    13
    Симпатии:
    2
    Как узнать позицию окна имгуи?
     
  29. DonHomka

    DonHomka Lealtà' verso la famiglia Tunes
    Друг

    Регистрация:
    8 ноя 2017
    Сообщения:
    2.477
    Симпатии:
    1.579
    внутри Begin:
    local pos = imgui.GetWindowPos()
    imgui.Text(("%f / %f"):format(pos.x, pos.y))
     
    Evgeniy_Pavuk и social enemy нравится это.
  30. Angr

    Angr Участник

    Регистрация:
    10 окт 2017
    Сообщения:
    12
    Симпатии:
    0
    Как получить [​IMG]?, а то я чет плохо ищу

    if imgui.ColorEdit3("##Color", colors.v, imgui.ColorEditFlags.NoInputs + imgui.ColorEditFlags.NoLabel + imgui.ColorEditFlags.NoAlpha) then
                  
                end
     
  31. Evgeniy_Pavuk

    Evgeniy_Pavuk Участник

    Регистрация:
    7 апр 2019
    Сообщения:
    22
    Симпатии:
    11
    Уточни, что именно нужно получить.

    Я не понял(возможно я просто тупой)
     
  32. suouca

    suouca Постоянный участник

    Регистрация:
    21 ноя 2018
    Сообщения:
    68
    Симпатии:
    11
    local r, g, b = imgui.ImColor(255, 255, 255):GetFloat4()
    local color = imgui.ImFloat3(r, g, b)
    
    imgui.ColorEdit3('##color', color, imgui.ColorEditFlags.NoInputs + imgui.ColorEditFlags.NoLabel + imgui.ColorEditFlags.NoAlpha)
    
    print(string.format("%06X", join_argb(0, color.v[1] * 255, color.v[2] * 255, color.v[3] * 255)))
    
    function join_argb(a, r, g, b)
       local argb = b
       argb = bit.bor(argb, bit.lshift(g, 8))
       argb = bit.bor(argb, bit.lshift(r, 16))
       argb = bit.bor(argb, bit.lshift(a, 24))
       return argb
    end
     
    Lemonager нравится это.
  33. Dmitry_____

    Dmitry_____ Активный участник

    Регистрация:
    30 май 2018
    Сообщения:
    37
    Симпатии:
    2
    moonloader\window.lua:1: in main chunk
    [ML] (error) window.lua: Script died due to an error. (11A87834)
    Подскажите в чем проблема?
     
  34. DonHomka

    DonHomka Lealtà' verso la famiglia Tunes
    Друг

    Регистрация:
    8 ноя 2017
    Сообщения:
    2.477
    Симпатии:
    1.579
    скинь код начиная от Traceback
     
  35. DonHomka

    DonHomka Lealtà' verso la famiglia Tunes
    Друг

    Регистрация:
    8 ноя 2017
    Сообщения:
    2.477
    Симпатии:
    1.579
    Загружаешь библиотеку, а установить её? м