imgui.ColorEdit3

Hideme Flow

Известный
Автор темы
571
200
Версия MoonLoader
.026-beta
как сделать чтобы в imgui.ColorEdit3 небыло панельки RGB
sa-mp-007.png
 
Решение
Посмотрим на функцию:
C++:
IMGUI_API bool          ColorEdit3(const char* label, float col[3], ImGuiColorEditFlags flags = 0);
Видим, что после цвета передаются флаги. Но как же узнать эти флаги? Откроем imgui.lua в папке lib и увидим следующее:
1619344595034.png

один из этих двух флагов сработает (а может быть и оба, не проверял)

Hideme Flow

Известный
Автор темы
571
200
P.S код
Lua:
local color = imgui.ImFloat3(1.0, 1.0, 1.0)

--imgui.OnDrawFrame
if imgui.ColorEdit3('test', color) then
     local clr = join_argb(0, color.v[1] * 255, color.v[2] * 255, color.v[3] * 255)
     print(('%06X'):format(clr))
end

function join_argb(a, r, g, b)
    local argb = b  -- b
    argb = bit.bor(argb, bit.lshift(g, 8))  -- g
    argb = bit.bor(argb, bit.lshift(r, 16)) -- r
    argb = bit.bor(argb, bit.lshift(a, 24)) -- a
    return argb
end
 

CaJlaT

07.11.2024 14:55
Модератор
2,844
2,680
Посмотрим на функцию:
C++:
IMGUI_API bool          ColorEdit3(const char* label, float col[3], ImGuiColorEditFlags flags = 0);
Видим, что после цвета передаются флаги. Но как же узнать эти флаги? Откроем imgui.lua в папке lib и увидим следующее:
1619344595034.png

один из этих двух флагов сработает (а может быть и оба, не проверял)
 
  • Нравится
Реакции: Hideme Flow