casssoft / imgui_lua_bindings

Function bindings for ImGui in lua
153 stars 26 forks source link

Multiple return values ordering #5

Open ocornut opened 6 years ago

ocornut commented 6 years ago

Hello,

I believe return values should be inverted, cases like: status, floatValue = imgui.SliderFloat("SliderFloat", floatValue, 0.0, 1.0); Would be much more efficient as: floatValue, status = imgui.SliderFloat("SliderFloat", floatValue, 0.0, 1.0); Since status (= was the field modified) is rarely used. So in the vast majority of use people would just do: floatValue = imgui.SliderFloat("SliderFloat", floatValue, 0.0, 1.0);

It would be faster and easier for users. Perhaps add an option in the generator for retro-compatibility and make both available?

(Extra: Curious if the default bindings will be regenerated for latest?)

Thanks, Omar

casssoft commented 6 years ago

bindings regenerated for 1.60. Next up is changing my game to work with 1.60, then I'll try switching up the order

ocornut commented 6 years ago

Amazing work, Patrick, thanks a lot!

I was talking to @slages recently who worked on a way of switching order there: https://github.com/slages/love-imgui/commits/master But his commit is combined with a couple of other things so it's not easy to cherry-pick as is.