From 4755c703f4b01cd7de01bda0c72686b93e34e120 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sat, 18 Feb 2017 16:11:18 +0100 Subject: move color_to_rgba to LuaAPI for consistency --- libs/ardour/lua_api.cc | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'libs/ardour/lua_api.cc') diff --git a/libs/ardour/lua_api.cc b/libs/ardour/lua_api.cc index 080ba12841..7da81b2965 100644 --- a/libs/ardour/lua_api.cc +++ b/libs/ardour/lua_api.cc @@ -502,6 +502,32 @@ ARDOUR::LuaAPI::hsla_to_rgba (lua_State *L) return 4; } +int +ARDOUR::LuaAPI::color_to_rgba (lua_State *L) +{ + int top = lua_gettop (L); + if (top < 1) { + return luaL_argerror (L, 1, "invalid number of arguments, color_to_rgba (uint32_t)"); + } + uint32_t color = luabridge::Stack::get (L, 1); + double r, g, b, a; + + /* libardour is no user of libcanvas, otherwise + * we could just call + * ArdourCanvas::color_to_rgba (color, r, g, b, a); + */ + r = ((color >> 24) & 0xff) / 255.0; + g = ((color >> 16) & 0xff) / 255.0; + b = ((color >> 8) & 0xff) / 255.0; + a = ((color >> 0) & 0xff) / 255.0; + + luabridge::Stack ::push (L, r); + luabridge::Stack ::push (L, g); + luabridge::Stack ::push (L, b); + luabridge::Stack ::push (L, a); + return 4; +} + int ARDOUR::LuaAPI::build_filename (lua_State *L) { -- cgit v1.2.3