LPCGame
A Simple 2d Game Engine
 All Classes Namespaces Functions Variables Enumerations Enumerator Pages
luacvector2f.h
1 #ifndef LUACVECTOR2F_H
2 #define LUACVECTOR2F_H
3 
4 #include <string>
5 #include <lua.hpp>
6 #include "luacudata.h"
7 #include "core/vectors.h"
8 
10 
14 namespace LuaC {
16  const std::string vector2fMeta = "LPC.Vector2f";
18  const std::string vector2fClass = "Vector2f";
20  template<>
21  const std::string UdataLib<Vector2f>::mMetaTable = vector2fMeta;
25  class Vector2fLib : public UdataLib<Vector2f> {
26  public:
28  static int luaopen_vector2f(lua_State *l);
29 
30  private:
31  //The Lua Functions
33  static const luaL_reg luaVector2fLib[];
35  static int newVector2f(lua_State *l);
37  static int getX(lua_State *l);
38  static int getY(lua_State *l);
40  static int newIndex(lua_State *l);
42  static int set(lua_State *l);
43  static int setX(lua_State *l);
44  static int setY(lua_State *l);
46  static int equality(lua_State *l);
47  static int addition(lua_State *l);
48  static int subtraction(lua_State *l);
49  static int multiplication(lua_State *l);
56  static void multWithFloat(lua_State *l, int vIdx, int fIdx);
57  static int division(lua_State *l);
58  static int toString(lua_State *l);
59  static int concat(lua_State *l);
66  static void concatWithString(lua_State *l, int vIdx, int sIdx);
67  };
68 }
69 
70 #endif