summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjussi2024-07-02 20:49:25 +0300
committerjussi2024-07-02 20:49:25 +0300
commit61c932f2605aac5a8fef4264087e9ea8f86c6760 (patch)
treef5bbf509317bd86ad25588456370844c58a1526a /src
parentfd18b5526e0c2b058f175ba140258549fec09098 (diff)
downloadreilua-enhanced-61c932f2605aac5a8fef4264087e9ea8f86c6760.tar.gz
reilua-enhanced-61c932f2605aac5a8fef4264087e9ea8f86c6760.tar.bz2
reilua-enhanced-61c932f2605aac5a8fef4264087e9ea8f86c6760.zip
GetMouseOffset and GetMouseScale.
Diffstat (limited to 'src')
-rw-r--r--src/core.c28
-rw-r--r--src/lua_core.c2
-rw-r--r--src/rgui.c2
-rw-r--r--src/state.c2
4 files changed, 33 insertions, 1 deletions
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,11 +2599,38 @@ 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()
Get mouse wheel movement for X or Y, whichever is larger
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" );