Merge pull request #962 from boolean-false/lua_mouse_scroll

Передача скролла колесика мыши в lua api
This commit is contained in:
MihailRis 2026-09-01 21:10:10 +03:00 • committed by GitHub
commit cbda27cd17
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 18 additions and 0 deletions

View file

@ -63,6 +63,13 @@ input.get_mouse_delta() --> {int, int}
Returns cursor movement delta.
```lua
input.get_mouse_scroll() --> int
```
Returns the vertical mouse wheel offset accumulated during the current frame.
A positive value indicates scrolling up; a negative value indicates scrolling down.
```lua
input.get_bindings() --> strings array
```

View file

@ -34,6 +34,10 @@ input.get_mouse_pos() -> {number, number}
-- Возращает дельту позиции курсора.
input.get_mouse_delta() -> {number, number}
-- Возвращает вертикальное смещение колеса мыши, накопленное за текущий кадр.
-- Положительное значение соответствует прокрутке вверх, отрицательное - вниз.
input.get_mouse_scroll() -> number
```
## Создание обработчиков

View file

@ -91,6 +91,12 @@ static int l_get_mouse_delta(lua::State* L) {
return lua::pushvec2(L, engine->getInput().getCursor().delta);
}
static int l_get_mouse_scroll(lua::State* L) {
if (engine->isHeadless())
return 0;
return lua::pushinteger(L, engine->getInput().getScroll());
}
static int l_get_bindings(lua::State* L) {
if (engine->isHeadless())
return 0;
@ -181,6 +187,7 @@ const luaL_Reg inputlib[] = {
{"add_callback", lua::wrap<l_add_callback>},
{"get_mouse_pos", lua::wrap<l_get_mouse_pos>},
{"get_mouse_delta", lua::wrap<l_get_mouse_delta>},
{"get_mouse_scroll", lua::wrap<l_get_mouse_scroll>},
{"get_bindings", lua::wrap<l_get_bindings>},
{"get_binding_text", lua::wrap<l_get_binding_text>},
{"is_active", lua::wrap<l_is_active>},