From 61c932f2605aac5a8fef4264087e9ea8f86c6760 Mon Sep 17 00:00:00 2001 From: jussi Date: Tue, 2 Jul 2024 20:49:25 +0300 Subject: GetMouseOffset and GetMouseScale. --- src/core.c | 28 ++++++++++++++++++++++++++++ src/lua_core.c | 2 ++ src/rgui.c | 2 +- src/state.c | 2 ++ 4 files changed, 33 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/core.c b/src/core.c index 2ff50e5..ed7641b 100644 --- a/src/core.c +++ b/src/core.c @@ -2585,6 +2585,7 @@ int lcoreSetMouseOffset( lua_State* L ) { Vector2 offset = uluaGetVector2( L, 1 ); SetMouseOffset( offset.x, offset.y ); + state->mouseOffset = offset; return 0; } @@ -2598,10 +2599,37 @@ int lcoreSetMouseScale( lua_State* L ) { Vector2 scale = uluaGetVector2( L, 1 ); SetMouseScale( scale.x, scale.y ); + state->mouseScale = scale; return 0; } +/* +> offset = RL.GetMouseOffset() + +Get mouse offset + +- Success return Vector2 +*/ +int lcoreGetMouseOffset( lua_State* L ) { + uluaPushVector2( L, state->mouseOffset ); + + return 1; +} + +/* +> scale = RL.GetMouseScale() + +Get mouse scale + +- Success return Vector2 +*/ +int lcoreGetMouseScale( lua_State* L ) { + uluaPushVector2( L, state->mouseScale ); + + return 1; +} + /* > movement = RL.GetMouseWheelMove() diff --git a/src/lua_core.c b/src/lua_core.c index e7356e9..0955f77 100644 --- a/src/lua_core.c +++ b/src/lua_core.c @@ -1455,6 +1455,8 @@ void luaRegister() { assingGlobalFunction( "SetMousePosition", lcoreSetMousePosition ); assingGlobalFunction( "SetMouseOffset", lcoreSetMouseOffset ); assingGlobalFunction( "SetMouseScale", lcoreSetMouseScale ); + assingGlobalFunction( "GetMouseOffset", lcoreGetMouseOffset ); + assingGlobalFunction( "GetMouseScale", lcoreGetMouseScale ); assingGlobalFunction( "GetMouseWheelMove", lcoreGetMouseWheelMove ); assingGlobalFunction( "GetMouseWheelMoveV", lcoreGetMouseWheelMoveV ); assingGlobalFunction( "SetMouseCursor", lcoreSetMouseCursor ); diff --git a/src/rgui.c b/src/rgui.c index 30f3535..4adb222 100644 --- a/src/rgui.c +++ b/src/rgui.c @@ -303,7 +303,7 @@ int lguiGuiGetIcons( lua_State* L ) { }; memcpy( buffer.data, GuiGetIcons(), dataSize ); - uluaPushBuffer( L, buffer ); + uluaPushBuffer( L, buffer ); return 1; } diff --git a/src/state.c b/src/state.c index c17f3f0..0fed44e 100644 --- a/src/state.c +++ b/src/state.c @@ -19,6 +19,8 @@ bool stateInit( int argn, const char** argc, const char* basePath ) { state->logLevelInvalid = LOG_ERROR; state->gcUnload = true; state->lineSpacing = 15; + state->mouseOffset = (Vector2){ 0, 0 }; + state->mouseScale = (Vector2){ 1, 1 }; InitWindow( state->resolution.x, state->resolution.y, "ReiLua" ); -- cgit v1.2.3