From 8962e18362e16d8d6297a1071ef7969263ae8fc3 Mon Sep 17 00:00:00 2001 From: Yves Rizoud Date: Sun, 21 Mar 2010 21:40:27 +0000 Subject: [PATCH] Lua Inputbox: support for radio buttons git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1392 416bcca6-2ee7-4201-b75f-2eb2f807beb1 --- src/factory.c | 57 ++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 47 insertions(+), 10 deletions(-) diff --git a/src/factory.c b/src/factory.c index fe7c4779..03bdcfdd 100644 --- a/src/factory.c +++ b/src/factory.c @@ -512,7 +512,7 @@ int L_InputBox(lua_State* L) const int args_per_setting = 5; double min_value[max_settings]; double max_value[max_settings]; - byte decimal_places[max_settings]; + double decimal_places[max_settings]; double current_value[max_settings]; const char * label[max_settings]; unsigned short control[max_settings*3+1]; // Each value has at most 3 widgets. @@ -574,11 +574,12 @@ int L_InputBox(lua_State* L) LUA_ARG_NUMBER(setting*args_per_setting+5, "inputbox", max_value[setting], -DBL_MAX, DBL_MAX); /*if (max_value[setting] > 999999999999999.0) max_value[setting] = 999999999999999.0;*/ - LUA_ARG_NUMBER(setting*args_per_setting+6, "inputbox", decimal_places[setting], INT_MIN, INT_MAX); + LUA_ARG_NUMBER(setting*args_per_setting+6, "inputbox", decimal_places[setting], -15.0, 15.0); if (decimal_places[setting]>15) decimal_places[setting]=15; // Keep current value in range - current_value[setting] = Fround(current_value[setting], decimal_places[setting]); + if (decimal_places[setting]>=0) + current_value[setting] = Fround(current_value[setting], decimal_places[setting]); if (current_value[setting] < min_value[setting]) current_value[setting] = min_value[setting]; @@ -602,10 +603,11 @@ int L_InputBox(lua_State* L) for (setting=0; setting