00001
00006 #if !defined(INC_OSKI_LUA_H)
00007
00008 #define INC_OSKI_LUA_H
00009
00010 #include <oski/common.h>
00011 #include <oski/mangle.h>
00012 #include <oski/matcommon.h>
00013
00014 #if defined(DO_NAME_MANGLING)
00015
00017 #define oski_matlua_t MANGLE_(oski_matlua_t)
00018 #define oski_PushEmptyLuaMat MANGLE_(oski_PushEmptyLuaMat)
00019 #define oski_GetStackLuaMat MANGLE_(oski_GetStackLuaMat)
00020
00021 #endif
00022
00033 typedef struct
00034 {
00035 const oski_matcommon_t *props;
00036 oski_matspecific_t mat;
00038 char *mattype_name;
00039 oski_id_t ind_type;
00040 oski_id_t val_type;
00041 }
00042 oski_matlua_t;
00043
00045 #define OLUA_NEWUSERDATA(L, typ) (typ *)lua_newuserdata(L, sizeof(typ))
00046
00048 #define OLUA_MATTAB "OskiLua.Mat"
00049
00051 #define OLUA_MAT "Mat"
00052
00054 #define OLUA_INMAT "InputMat"
00055
00056
00057 typedef struct lua_State lua_State;
00058
00063 oski_matlua_t *oski_PushEmptyLuaMat (lua_State * L);
00064
00070 oski_matlua_t *oski_GetStackLuaMat (lua_State * L, int stack_pos);
00071
00072 #endif
00073
00074