From a70514fc32a89cfeca9226891a04063cb74790f4 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Mon, 20 Apr 2015 17:08:42 +0200 Subject: luaengine: optional text color for to draw_text() draw_text() now accepts an optional fourth parameter to specify text color, in ARGB format. Signed-off-by: Luca Bruno --- src/emu/luaengine.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/emu/luaengine.c') diff --git a/src/emu/luaengine.c b/src/emu/luaengine.c index 98a0f1a86c9..9084a97dc46 100644 --- a/src/emu/luaengine.c +++ b/src/emu/luaengine.c @@ -707,6 +707,7 @@ int lua_engine::lua_screen::l_draw_text(lua_State *L) luaL_argcheck(L, lua_isnumber(L, 2), 2, "x (integer) expected"); luaL_argcheck(L, lua_isnumber(L, 3), 3, "y (integer) expected"); luaL_argcheck(L, lua_isstring(L, 4), 4, "message (string) expected"); + luaL_argcheck(L, lua_isinteger(L, 5) || lua_isnone(L, 5), 5, "optional argument: text color, integer expected (default: 0xffffffff)"); // retrieve all parameters int sc_width = sc->visible_area().width(); @@ -714,13 +715,16 @@ int lua_engine::lua_screen::l_draw_text(lua_State *L) float x = MIN(MAX(0, lua_tonumber(L, 2)), sc_width-1) / static_cast(sc_width); float y = MIN(MAX(0, lua_tonumber(L, 3)), sc_height-1) / static_cast(sc_height); const char *msg = luaL_checkstring(L,4); - // TODO: add optional parameters (colors, etc.) + rgb_t textcolor = UI_TEXT_COLOR; + if (!lua_isnone(L, 5)) { + textcolor = rgb_t(lua_tounsigned(L, 5)); + } // draw the text render_container &rc = sc->container(); ui_manager &ui = sc->machine().ui(); ui.draw_text_full(&rc, msg, x, y , (1.0f - x), - JUSTIFY_LEFT, WRAP_WORD, DRAW_NORMAL, UI_TEXT_COLOR, + JUSTIFY_LEFT, WRAP_WORD, DRAW_NORMAL, textcolor, UI_TEXT_BG_COLOR, NULL, NULL); return 0; -- cgit v1.2.3-70-g09d2