00001 /** \file 00002 * \brief IM Lua 5 Binding 00003 * 00004 * See Copyright Notice in im_lib.h 00005 */ 00006 00007 #ifndef __IMLUA_H 00008 #define __IMLUA_H 00009 00010 #ifdef __cplusplus 00011 extern "C" { 00012 #endif 00013 00014 /** \defgroup imlua IM Lua 5 Binding 00015 * \par 00016 * Binding for the Lua 5 scripting language. \n 00017 * Lua 5.1 Copyright (C) 1994-2005 Lua.org, PUC-Rio \n 00018 * R. Ierusalimschy, L. H. de Figueiredo & W. Celes \n 00019 * http://www.lua.org 00020 * \par 00021 * The name of the functions were changed because of the namespace "im" and because of the object orientation. \n 00022 * As a general rule use: 00023 \verbatim 00024 imXxx -> im.Xxx 00025 IM_XXX -> im.XXX 00026 imFileXXX(ifile,... -> ifile:XXX(... 00027 imImageXXX(image,... -> image:XXX(... 00028 \endverbatim 00029 * All the objects are garbage collected by the Lua garbage collector. 00030 * \par 00031 * See \ref imlua.h 00032 * \ingroup util */ 00033 00034 #ifdef LUA_NOOBJECT /* Lua 3 */ 00035 void imlua_open(void); 00036 #endif 00037 00038 #ifdef LUA_TNONE /* Lua 5 */ 00039 00040 /** Initializes the Lua binding of the main IM library. \n 00041 * Returns 1 (leaves the "im" table on the top of the stack). 00042 * You must link the application with the "imlua51" library. 00043 * \ingroup imlua */ 00044 int imlua_open(lua_State *L); 00045 int luaopen_imlua(lua_State *L); 00046 00047 /** Pushes an image as a metatable on the stack. 00048 * \ingroup imlua */ 00049 void imlua_pushimage(lua_State *L, imImage* image); 00050 00051 /** Gets an image as a metatable from the stack, checks for correct type. 00052 * \ingroup imlua */ 00053 imImage* imlua_checkimage(lua_State *L, int param); 00054 00055 /** Initializes the Lua binding of the capture library. \n 00056 * Returns 1 (leaves the "im" table on the top of the stack). 00057 * You must link the application with the "imlua_capture51" library. 00058 * \ingroup imlua */ 00059 int imlua_open_capture(lua_State *L); 00060 int luaopen_imlua_capture(lua_State *L); 00061 00062 /** Initializes the Lua binding of the process library. \n 00063 * Returns 1 (leaves the "im" table on the top of the stack). 00064 * You must link the application with the "imlua_process51" library. 00065 * \ingroup imlua */ 00066 int imlua_open_process(lua_State *L); 00067 int luaopen_imlua_process(lua_State *L); 00068 00069 /** Initializes the Lua binding of the fourier transform library. \n 00070 * Returns 1 (leaves the "im" table on the top of the stack). 00071 * You must link the application with the "imlua_fftw51" library. 00072 * \ingroup imlua */ 00073 int imlua_open_fftw(lua_State *L); 00074 int luaopen_imlua_fftw(lua_State *L); 00075 00076 00077 #endif 00078 00079 #ifdef __cplusplus 00080 } 00081 #endif 00082 00083 #endif