Pioneer
LuaColor.h
Go to the documentation of this file.
1 #ifndef LUACOLOR_H
2 #define LUACOLOR_H
3 
4 #include "Color.h"
5 
6 struct lua_State;
7 
8 namespace LuaColor {
9  extern const char LibName[];
10  extern const char TypeName[];
11 
12  void Register(lua_State *L);
13  Color4ub *PushNewToLua(lua_State *L);
14  inline void PushToLua(lua_State *L, const Color4ub &v) { *PushNewToLua(L) = v; }
15  const Color4ub *GetFromLua(lua_State *L, int idx);
16  Color4ub *CheckFromLua(lua_State *L, int idx);
17 
18 } // namespace LuaColor
19 
20 inline void pi_lua_generic_push(lua_State *l, const Color4ub &value) { LuaColor::PushToLua(l, value); }
21 
22 inline void pi_lua_generic_pull(lua_State *l, int index, Color4ub &out)
23 {
24  out = *LuaColor::CheckFromLua(l, index);
25 }
26 
27 inline bool pi_lua_strict_pull(lua_State *l, int index, Color4ub &out)
28 {
29  const Color4ub *tmp = LuaColor::GetFromLua(l, index);
30  if (tmp) {
31  out = *tmp;
32  return true;
33  }
34  return false;
35 }
36 
37 #endif // LUACOLOR_H
void pi_lua_generic_push(lua_State *l, const Color4ub &value)
Definition: LuaColor.h:20
void pi_lua_generic_pull(lua_State *l, int index, Color4ub &out)
Definition: LuaColor.h:22
bool pi_lua_strict_pull(lua_State *l, int index, Color4ub &out)
Definition: LuaColor.h:27
Definition: LuaColor.h:8
const char TypeName[]
Definition: LuaColor.cpp:251
const Color4ub * GetFromLua(lua_State *L, int idx)
Definition: LuaColor.cpp:290
void PushToLua(lua_State *L, const Color4ub &v)
Definition: LuaColor.h:14
Color4ub * PushNewToLua(lua_State *L)
Definition: LuaColor.cpp:282
const char LibName[]
Definition: LuaColor.cpp:250
Color4ub * CheckFromLua(lua_State *L, int idx)
Definition: LuaColor.cpp:295
void Register(lua_State *L)
Definition: LuaColor.cpp:253
Definition: Color.h:66