From 2b70507615b2611fce4294c65bec7264644e2665 Mon Sep 17 00:00:00 2001
From: scuri
All the CD functions are available in Lua, with a few exceptions. We call it
- CDLua. To use them the
- general application will do require"cdlua", and require"cdluaxxxx" to all other
- secondary libraries that are needed. The functions and definitions will be available
- under the table "cd" using the following name rules:cdXxx -> cd.Xxx (for functions)
+ CDLua. To use them the general application will do
+ require"cdlua", and require"cdluaxxxx" to all other secondary libraries that
+ are needed. The functions and definitions will be available under the table
+ "cd" using the following name rules:
wdXxx -> cd.wXxx (for WD functions)
CD_XXX -> cd.XXX (for definitions)
cdCanvasXXX(canvas,... => canvas:XXX(... (for methods)
cdXxx -> cd.Xxx (for functions)
wdXxx -> cd.wXxx (for WD functions)
CD_XXX -> cd.XXX (for definitions)
cdCanvasXXX(canvas,... => canvas:XXX(... (for methods)
New functions (without equivalents in C) were implemented to create and - destroy objects that do not exist in C. For instance functions were developed - to create and destroy images, pattern, stipple and palette. All the - metatables have the "tostring" metamethod implemented to help debuging. Some functions were modified to receive those objects as parameters.
+ destroy objects that do not exist in C. For instance functions were + developed to create and destroy images, pattern, stipple and + palette. All the metatables have the "tostring" metamethod implemented + to help debuging. Some functions were modified to receive those objects + as parameters.- Also the functions which receive values by reference in C were modified. Generally, the values of - parameters that would have their values modified are now returned by the function in the same order.
+ Also the functions which receive values by reference in C were modified. + Generally, the values of parameters that would have their values + modified are now returned by the function in the same order.- Notice that, as opposed to C, - in which enumeration flags are combined with the bitwise operator OR, in Lua the flags are added arithmetically.
+ Notice that, as opposed to C, in which enumeration flags are + combined with the bitwise operator OR, in Lua the flags are added + arithmetically.- In Lua all parameters are checked and a Lua error is emitted when the check fails.
+ In Lua all parameters are checked and a Lua error is emitted when the + check fails.- All the objects are garbage collected by the Lua garbage collector, except - the canvas because there can be different Lua canvases pointing to the same - C canvas. The "tostring" - metamethod of the Lua canvas will print both values, Lua - and C. The equal method will compare the C canvas value.
+ All the objects are garbage collected by the Lua garbage collector, + except the canvas because there can be different Lua canvases pointing + to the same C canvas. The "tostring" metamethod of the Lua canvas will + print both values, Lua and C. The equal method will compare the C canvas + value.Lua 5.1 "require" can be used for all the -CDLua -libraries. You can use require"cdlua" and so on, but the LUA_CPATH -must also contains the following: + CDLua + libraries. You can use require"cdlua" and so on, but the + LUA_CPATH must also contains the following:
-"./lib?51.so;" [in UNIX] +"./lib?51.so;" [in UNIX] -".\\?51.dll;" [in Windows] +".\\?51.dll;" [in Windows]-The LuaBinaries distribution already includes these modifications on the -default search path.
-The simplest form require"cd" -and so on, can not be used because there are CD dynamic libraries with names -that will conflict with the names used by require during search.
+The LuaBinaries distribution +already includes these modifications on the default search path.
+The simplest form require"cd" and so on, can not be used +because there are CD dynamic libraries with names that will conflict with the +names used by require during search.
- Additionally you can statically link the CDLua libraries, but you must call the initialization functions manually. The - cdlua_open function is declared in the header file cdlua.h, - see the example below:
+ Additionally you can statically link the CDLua + libraries, but you must call the initialization functions manually. The + cdlua_open function is declared in + the header file cdlua.h, + see the example below:@@ -91,8 +99,8 @@ that will conflict with the names used by require during search. Exchanging Values between C and Lua
-Because of some applications that interchange the use of CD canvases in Lua and C, we build a - few C functions that are available in "cdlua.h":
+Because of some applications that interchange the use of CD canvases in Lua + and C, we build a few C functions that are available in "cdlua.h":
cdCanvas* cdlua_checkcanvas(lua_State* L, int pos); void cdlua_pushcanvas(lua_State* L, cdCanvas* canvas);-- cgit v1.2.3