summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
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" );