imlua.h

Go to the documentation of this file.
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

Generated on Thu Oct 1 11:40:01 2009 for IM by  doxygen 1.6.1