From 2b70507615b2611fce4294c65bec7264644e2665 Mon Sep 17 00:00:00 2001 From: scuri Date: Fri, 16 Oct 2009 20:20:07 +0000 Subject: *** empty log message *** --- html/en/cdlua.html | 76 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 42 insertions(+), 34 deletions(-) diff --git a/html/en/cdlua.html b/html/en/cdlua.html index 750081b..e3409c0 100644 --- a/html/en/cdlua.html +++ b/html/en/cdlua.html @@ -1,8 +1,9 @@ - + Lua Binding + @@ -13,52 +14,59 @@

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)
wdXxx  -> cd.wXxx (for WD functions)
CD_XXX -> cd.XXX (for definitions)
cdCanvasXXX(canvas,... => canvas:XXX(... (for methods)
+ 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)
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.

Initialization

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