From 58b51637155e7af2805d0e69c7edd5509892e5b2 Mon Sep 17 00:00:00 2001 From: adelikat Date: Mon, 2 Jun 2014 00:43:25 +0000 Subject: [PATCH] Lua Interface - support Strongly typing System.Drawing.Color, and strongly type the color parameters of gui.drawEllipse() --- .../tools/Lua/Libraries/EmuLuaLibrary.Gui.cs | 9 +- LuaInterface/LuaInterface/CheckType.cs | 122 +++++++++++------- LuaInterface/LuaInterface/LuaInterface.csproj | 1 + output/dll/LuaInterface.dll | Bin 61952 -> 62464 bytes 4 files changed, 83 insertions(+), 49 deletions(-) diff --git a/BizHawk.Client.EmuHawk/tools/Lua/Libraries/EmuLuaLibrary.Gui.cs b/BizHawk.Client.EmuHawk/tools/Lua/Libraries/EmuLuaLibrary.Gui.cs index eaf9dca757..dd1871b618 100644 --- a/BizHawk.Client.EmuHawk/tools/Lua/Libraries/EmuLuaLibrary.Gui.cs +++ b/BizHawk.Client.EmuHawk/tools/Lua/Libraries/EmuLuaLibrary.Gui.cs @@ -68,8 +68,13 @@ namespace BizHawk.Client.EmuHawk private DisplaySurface _luaSurface; + // TODO: obsolete this method and strongly type all colors private static Color GetColor(object color) { + if (color is Color) + { + return (Color)color; + } if (color is double) { return Color.FromArgb(int.Parse(long.Parse(color.ToString()).ToString("X"), NumberStyles.HexNumber)); @@ -233,14 +238,14 @@ namespace BizHawk.Client.EmuHawk "drawEllipse", "Draws an ellipse at the given coordinates and the given width and height. Line is the color of the ellipse. Background is the optional fill color" )] - public void DrawEllipse(int x, int y, int width, int height, object line, object background = null) + public void DrawEllipse(int x, int y, int width, int height, Color? line, Color? background = null) { GlobalWin.DisplayManager.NeedsToPaint = true; using (var g = GetGraphics()) { try { - g.DrawEllipse(GetPen(line ?? "white"), x, y, width, height); + g.DrawEllipse(GetPen(line ?? Color.White), x, y, width, height); if (background != null) { var brush = GetBrush(background); diff --git a/LuaInterface/LuaInterface/CheckType.cs b/LuaInterface/LuaInterface/CheckType.cs index 64db388115..e31a0964b0 100644 --- a/LuaInterface/LuaInterface/CheckType.cs +++ b/LuaInterface/LuaInterface/CheckType.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Drawing; using System.Reflection; using Lua511; @@ -40,8 +41,8 @@ namespace LuaInterface extractValues.Add(typeof(LuaFunction).TypeHandle.Value.ToInt64(), new ExtractValue(getAsFunction)); extractValues.Add(typeof(LuaTable).TypeHandle.Value.ToInt64(), new ExtractValue(getAsTable)); extractValues.Add(typeof(LuaUserData).TypeHandle.Value.ToInt64(), new ExtractValue(getAsUserdata)); - - extractNetObject = new ExtractValue(getAsNetObject); + extractValues.Add(typeof(Color).TypeHandle.Value.ToInt64(), new ExtractValue(getAsColor)); + extractNetObject = new ExtractValue(getAsNetObject); } /* @@ -108,59 +109,63 @@ namespace LuaInterface if (LuaDLL.lua_isboolean(luaState, stackPos)) return extractValues[runtimeHandleValue]; } - else if (paramType == typeof(string) || paramType == typeof (char [])) - { - if (LuaDLL.lua_isstring(luaState, stackPos)) + else if (paramType == typeof(Color)) + { + return extractValues[runtimeHandleValue]; + } + else if (paramType == typeof(string) || paramType == typeof(char[])) + { + if (LuaDLL.lua_isstring(luaState, stackPos)) return extractValues[runtimeHandleValue]; - else if (luatype == LuaTypes.LUA_TNIL) + else if (luatype == LuaTypes.LUA_TNIL) return extractNetObject; // kevinh - silently convert nil to a null string pointer - } - else if (paramType == typeof(LuaTable)) - { - if (luatype == LuaTypes.LUA_TTABLE) + } + else if (paramType == typeof(LuaTable)) + { + if (luatype == LuaTypes.LUA_TTABLE) return extractValues[runtimeHandleValue]; - } - else if (paramType == typeof(LuaUserData)) - { - if (luatype == LuaTypes.LUA_TUSERDATA) + } + else if (paramType == typeof(LuaUserData)) + { + if (luatype == LuaTypes.LUA_TUSERDATA) return extractValues[runtimeHandleValue]; - } - else if (paramType == typeof(LuaFunction)) - { - if (luatype == LuaTypes.LUA_TFUNCTION) + } + else if (paramType == typeof(LuaFunction)) + { + if (luatype == LuaTypes.LUA_TFUNCTION) return extractValues[runtimeHandleValue]; - } - else if (typeof(Delegate).IsAssignableFrom(paramType) && luatype == LuaTypes.LUA_TFUNCTION) - { - return new ExtractValue(new DelegateGenerator(translator, paramType).extractGenerated); - } - else if (paramType.IsInterface && luatype == LuaTypes.LUA_TTABLE) - { - return new ExtractValue(new ClassGenerator(translator, paramType).extractGenerated); - } - else if ((paramType.IsInterface || paramType.IsClass) && luatype == LuaTypes.LUA_TNIL) - { - // kevinh - allow nil to be silently converted to null - extractNetObject will return null when the item ain't found - return extractNetObject; - } - else if (LuaDLL.lua_type(luaState, stackPos) == LuaTypes.LUA_TTABLE) - { - if (LuaDLL.luaL_getmetafield(luaState, stackPos, "__index")) - { - object obj = translator.getNetObject(luaState, -1); - LuaDLL.lua_settop(luaState, -2); - if (obj != null && paramType.IsAssignableFrom(obj.GetType())) + } + else if (typeof(Delegate).IsAssignableFrom(paramType) && luatype == LuaTypes.LUA_TFUNCTION) + { + return new ExtractValue(new DelegateGenerator(translator, paramType).extractGenerated); + } + else if (paramType.IsInterface && luatype == LuaTypes.LUA_TTABLE) + { + return new ExtractValue(new ClassGenerator(translator, paramType).extractGenerated); + } + else if ((paramType.IsInterface || paramType.IsClass) && luatype == LuaTypes.LUA_TNIL) + { + // kevinh - allow nil to be silently converted to null - extractNetObject will return null when the item ain't found + return extractNetObject; + } + else if (LuaDLL.lua_type(luaState, stackPos) == LuaTypes.LUA_TTABLE) + { + if (LuaDLL.luaL_getmetafield(luaState, stackPos, "__index")) + { + object obj = translator.getNetObject(luaState, -1); + LuaDLL.lua_settop(luaState, -2); + if (obj != null && paramType.IsAssignableFrom(obj.GetType())) return extractNetObject; - } - else + } + else return null; - } - else - { - object obj = translator.getNetObject(luaState, stackPos); - if (obj != null && paramType.IsAssignableFrom(obj.GetType())) + } + else + { + object obj = translator.getNetObject(luaState, stackPos); + if (obj != null && paramType.IsAssignableFrom(obj.GetType())) return extractNetObject; - } + } return null; } @@ -252,6 +257,29 @@ namespace LuaInterface if(retVal=="" && !LuaDLL.lua_isstring(luaState,stackPos)) return null; return retVal; } + private object getAsColor(IntPtr luaState, int stackPos) + { + try + { + if (LuaDLL.lua_isnumber(luaState, stackPos)) + { + Color retVal = Color.FromArgb((int)LuaDLL.lua_tonumber(luaState, stackPos)); + return retVal; + } + else if (LuaDLL.lua_isstring(luaState, stackPos)) + { + + Color retVal = Color.FromName(LuaDLL.lua_tostring(luaState, stackPos)); + return retVal; + } + + return null; + } + catch (Exception) + { + return null; + } + } private object getAsTable(IntPtr luaState,int stackPos) { return translator.getTable(luaState,stackPos); diff --git a/LuaInterface/LuaInterface/LuaInterface.csproj b/LuaInterface/LuaInterface/LuaInterface.csproj index dcb439a652..d047968e87 100644 --- a/LuaInterface/LuaInterface/LuaInterface.csproj +++ b/LuaInterface/LuaInterface/LuaInterface.csproj @@ -72,6 +72,7 @@ + diff --git a/output/dll/LuaInterface.dll b/output/dll/LuaInterface.dll index 72c55b614d0f095171bb6a6549daa1cb50eb936e..84767d8c2fdfdbac1ac3b3aa52e2b77be35dccef 100644 GIT binary patch literal 62464 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 z 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