summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--html/en/drv/cairo.html31
-rw-r--r--html/en/drv/clipbd.html19
-rw-r--r--html/en/drv/dbuf.html21
-rw-r--r--html/en/drv/emf.html32
-rw-r--r--html/en/drv/gdiplus.html9
-rw-r--r--html/en/drv/gl.html4
-rw-r--r--html/en/drv/image.html19
-rw-r--r--html/en/drv/iup.html22
-rw-r--r--html/en/drv/native.html36
-rw-r--r--html/en/drv/pdf.html2
-rw-r--r--html/en/drv/printer.html27
-rw-r--r--html/en/drv/win32.html2
-rw-r--r--html/en/drv/xrender.html9
-rw-r--r--html/en/history.html9
-rw-r--r--html/wb/wb_usr.lua2
-rw-r--r--html/wb_tree.html2
-rw-r--r--src/lua5/cdlua5ctx.c16
17 files changed, 153 insertions, 109 deletions
diff --git a/html/en/drv/cairo.html b/html/en/drv/cairo.html
index 04cb3e9..eea6f75 100644
--- a/html/en/drv/cairo.html
+++ b/html/en/drv/cairo.html
@@ -1,5 +1,5 @@
<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
+<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
<head>
<meta http-equiv="Content-Language" content="en-us">
@@ -22,19 +22,22 @@
<p>This driver represents a basic driver for all system-dependent drivers
implemented in the X-Windows and MS-Windows systems. The implementation uses the
- <a href="http://library.gnome.org/devel/pango/">Cairo</a> and Pango functions. This driver can be
+ <a href="http://cairographics.org/">Cairo</a> and
+ <a href="http://library.gnome.org/devel/pango/">Pango</a> functions. This driver can be
compiled and used in all systems Cairo is supported. The drivers <b>Native Window</b>,
<b>Image</b>, <b>EMF</b>, <b>Printer</b> and <b>Double Buffer</b> were implemented.</p>
+<p>It can be used as the context plus driver of the GDI, GDK and X-Win based
+drivers. But its primary focus is the GDK base driver.</p>
<p>The main motivation for the use of Cairo was transparency for all the
primitives. Beyond that we got other features like anti-aliasing, gradient
filling, transformations and other back-ends (support to rendering: PDF, PS, SVG and
IMAGERGB surfaces).</p>
-<p>This driver still does not completely replace the X-Windows and GDI Windows
+<p>This driver still does not completely replace the X-Windows, GDK and GDI Windows
base drivers, because Cairo does not have support for bitwise XOR operations and
for complex clipping regions.</p>
<p>So we let the programmer to choose what to use. We created the function <font face="Courier"><strong>
- cdUseContextPlus</strong></font> that allows to activate or to deactivate the use of
- Cairo for the available GDK, Win32 or X-Windows based drivers.
+ <a href="../func/init.html#cdUseContextPlus">cdUseContextPlus</a></strong></font> that allows to activate or to deactivate the use of
+ Cairo for the available GDK, Win32 or X-Win based drivers.
This function affects only the <font face="Courier"><strong>cdCreateCanvas</strong></font> function call, once created
the canvas will be always a Cairo canvas. In fact the function affects primary the definitions
<font face="Courier"><strong>CD_NATIVEWINDOW</strong></font>,
@@ -50,13 +53,17 @@ for complex clipping regions.</p>
<p>Using Cairo it is allowed to create more that one canvas at the same time for the same Window. And they can co-exist
with a standard GDK, Win32 or X-Windows canvas.</p>
<p>To enable the use of Cairo based drivers you must call the initialization function <font face="Courier"><strong>
- cdInitContextPlus()</strong></font> once and link to the libraries &quot;<strong>cdcairo</strong>&quot; and &quot;<strong>cairo</strong>&quot;. Also the Cairo library must be installed in your system.
- When using the GDK base driver you do not need to link with the &quot;<strong>cdcairo</strong>&quot;
- library. </p>
- <p>In CDLua it is not necessary any additional initialization, and <strong>require&quot;cdluacairo&quot;</strong> can be used when
- using dynamic libraries. But when using require there are some restrictions,
- in Win32 the GDK base driver can NOT be used, in Linux the X11 base driver
- can NOT be used, and in other UNICES the GDK base driver can NOT be used.</p>
+ <a href="../func/init.html#cdInitContextPlus">cdInitContextPlus</a></strong></font> once, and
+ do not need to link with any additional library when using the GDK base
+ driver. But when using with the GDI and X-Win base drivers you need to link to the libraries &quot;<strong>cdcairo</strong>&quot; and &quot;<strong>cairo</strong>&quot;.</p>
+<p>Also the Cairo library must be installed in your system.</p>
+ <p>In CDLua it is not necessary any additional initialization, and <strong>require&quot;cdluacontextplus&quot;</strong> can be used when
+ using dynamic libraries. But it is available only in Linux and only for the
+ GDK base driver.</p>
+<p>As an alternative you can use <strong>require</strong>&quot;<strong>cdluacairo&quot;</strong>,
+but there are some restrictions:
+ in Windows only the GDI base driver can be used; in Linux only the X-Win base driver
+ can be used.</p>
<h3>Extra Drivers (cdcairo.h)</h3>
<p>Only available in Lua when <strong>require&quot;cdluacairo&quot;</strong> is
diff --git a/html/en/drv/clipbd.html b/html/en/drv/clipbd.html
index 888198c..a5f068e 100644
--- a/html/en/drv/clipbd.html
+++ b/html/en/drv/clipbd.html
@@ -51,18 +51,19 @@
Display where the metafile will be obtained. The <strong>cdRegisterCallback</strong>
must be called for the driver that will interpret the file, except for bitmaps
that the <strong>CD_CLIPBOARD</strong> driver must be used.</p>
-<p>To use this driver in Windows using GDI+ is necessary to call
-<font face="Courier"><strong>
- cdUseContextPlus</strong></font><strong><font face="Courier">(1)</font></strong>
-before creating the canvas.</p>
<h3>Behavior of Functions</h3>
- <p>This driver is greatly platform-dependent. For further detail, see the <b>
- Behavior of Functions</b> in each platform: <a href="win32.html">Microsoft
- Windows (GDI)</a>, <a href="xwin.html">X-Windows (XLIB)</a>. However, it
- should be noted that some functions behave differently from the basic
- functions of each platform.</p>
+ <p>This driver is very platform-dependent. </p>
+
+ <p>For further detail, see the <b>
+ Behavior of Functions</b> in each base driver: <a href="win32.html">GDI</a>,
+ <a href="gdk.html">GDK</a> and <a href="xwin.html">X-Win</a>. To use this driver
+ with a context plus base driver is necessary to call
+ <font face="Courier"><strong>
+ cdUseContextPlus</strong></font><strong><font face="Courier">(1)</font></strong>
+ before creating the canvas, see the <a href="../drv/gdiplus.html">GDI+</a>,&nbsp;<a href="../drv/cairo.html">Cairo</a>
+and <a href="../drv/xrender.html">XRender</a> base drivers.</p>
</body>
diff --git a/html/en/drv/dbuf.html b/html/en/drv/dbuf.html
index 0393d10..59dff49 100644
--- a/html/en/drv/dbuf.html
+++ b/html/en/drv/dbuf.html
@@ -45,18 +45,21 @@
cdCanvasActivate</a></b></font>.</p>
<p>We suggest you to implement rubber bands using XOR directly on the front
buffer.</p>
-<p>To use this driver in Windows using GDI+ is necessary to call
-<font face="Courier"><strong>
- cdUseContextPlus</strong></font><strong><font face="Courier">(1)</font></strong>
-before creating the canvas.</p>
<h3>Behavior of Functions</h3>
- <p>This driver is greatly platform-dependent. For further detail, see the <b>
- Behavior of Functions</b> in each platform: <a href="win32.html">Microsoft
- Windows (GDI)</a>, <a href="gdiplus.html">Windows Using GDI+</a>,
- <a href="xwin.html">X-Windows (XLIB)</a>, <a href="gdk.html">GDK</a>. However, it should be noted that
- some functions behave differently from the basic functions of each platform.</p>
+ <p>This driver is very platform-dependent. </p>
+
+ <p>For further detail, see the <b>
+ Behavior of Functions</b> in each base driver: <a href="win32.html">GDI</a>,
+ <a href="gdk.html">GDK</a> and <a href="xwin.html">X-Win</a>. To use this driver
+ with a context plus base driver is necessary to call
+ <font face="Courier"><strong>
+ cdUseContextPlus</strong></font><strong><font face="Courier">(1)</font></strong>
+ before creating the canvas, see the <a href="../drv/gdiplus.html">GDI+</a>,&nbsp;<a href="../drv/cairo.html">Cairo</a>
+and <a href="../drv/xrender.html">XRender</a> base drivers.</p>
+<p>However, it should be noted that some functions behave differently from the
+basic functions of each platform.</p>
<h4>Control</h4>
<ul>
<li><a href="../func/control.html#cdFlush"><font face="Courier"><strong>Flush</strong></font></a>:
diff --git a/html/en/drv/emf.html b/html/en/drv/emf.html
index bed1461..a6facf2 100644
--- a/html/en/drv/emf.html
+++ b/html/en/drv/emf.html
@@ -15,7 +15,7 @@
<p>This driver allows generating a Microsoft Windows Enhanced Metafile, the
format used by 32-bit Windows systems to store graphics primitives. Usually,
the filename has an extension &quot;*.emf&quot;.</p>
- <p>The driver works only in the Microsoft Windows platform, but you can use it
+ <p>The driver works only with the GDI, GDI+ and Cairo base drivers, but you can use it
in other platforms without the risk of compilation error. If you attempt to
create a canvas in another platform, function <font face="Courier"><strong>
cdCreateCanvas</strong></font> will return NULL.</p>
@@ -41,23 +41,31 @@
<a href="../func/init.html#cdKillCanvas">
<font face="Courier"><strong>cdKillCanvas</strong></font></a> is required to
<b>close</b> the file properly.</p>
-<p>To use this driver in Windows using GDI+ is necessary to call
-<font face="Courier"><strong>
+
+<h3>Behavior of Functions</h3>
+
+ <p>This driver is very platform-dependent. </p>
+
+ <p>For further detail, see the <b>
+ Behavior of Functions</b> in each base driver: <a href="win32.html">GDI</a>. To use this driver
+ with a context plus base driver is necessary to call
+ <font face="Courier"><strong>
cdUseContextPlus</strong></font><strong><font face="Courier">(1)</font></strong>
-before creating the canvas. If you intend to use <strong>cdCanvasPlay</strong>
+ before creating the canvas, see the <a href="../drv/gdiplus.html">GDI+</a> and
+ <a href="../drv/cairo.html">Cairo</a> base drivers.</p>
+<p>However, it should be noted that some functions behave differently from the
+basic functions of each platform.</p>
+
+<p>It has
+ been noticed that EMFs, when saved in the Windows 9x environment, is not
+ totally compatible with EMFs saved in the Windows NT environment.</p>
+
+<p>If you intend to use <strong>cdCanvasPlay</strong>
to interpret the EMF, then do not use GDI+ to generate the metafile. GDI+
extensively use internal transformations that will affect the <strong>
cdCanvasPlay</strong> interpretation. Also some interior style will not be
correctly interpreted.</p>
-<h3>Behavior of Functions</h3>
-
- <p>This driver is greatly platform-dependent. For further detail, see the <b>
- Behavior of Functions</b> of the <a href="win32.html">Microsoft Windows (GDI)</a>
- or <a href="gdiplus.html">Windows Using GDI+</a> platform base drivers. It has
- been noticed that EMF, when saved in the Windows 95 environment, is not
- totally compatible with EMF saved in the Windows NT environment.</p>
-
<h4>Control Functions</h4>
<ul>
<li><a href="../func/other.html#cdPlay">
diff --git a/html/en/drv/gdiplus.html b/html/en/drv/gdiplus.html
index 027fda8..73dec9a 100644
--- a/html/en/drv/gdiplus.html
+++ b/html/en/drv/gdiplus.html
@@ -9,20 +9,21 @@
<body>
-<h2>Microsoft Windows Base <em style="font-style: normal">Driver</em> Using GDI+</h2>
+<h2>GDI+ Base <em style="font-style: normal">Driver</em></h2>
<p>This driver represents a base driver for all system-dependent drivers implemented in the Microsoft Windows system,
but uses a new API called GDI+. The drivers <b>Clipboard, Native Window</b>, <b>IUP</b>, <b>Image</b>, <b>Printer</b>,
<b>EMF</b> and <b>Double Buffer</b> were implemented. The driver <b>WMF</b>, and the function <font face="Courier">
<strong>cdPlay</strong></font> of the <b>Clipboard</b> and <b>EMF</b> drivers were not implemented using GDI+.</p>
+<p>It can be used only as the context plus driver of the GDI based drivers.</p>
<p>The main motivation for the use of GDI+ was transparency for all the primitives. Beyond that we got other features
like anti-aliasing, gradient filling, bezier lines and filled cardinal splines.</p>
<p>This driver still does not completely replace the GDI Windows base driver, because GDI+ does not have support for
XOR. Also the applications need to adapt the rendering of text that is slightly different from GDI. It is know that
GDI+ can be slower than GDI in some cases and faster in other cases, Microsoft does not make this clear.</p>
<p>So we let the programmer to choose what to use. We created the function <font face="Courier"><strong>
- cdUseContextPlus</strong></font> that allows to activate or to deactivate the use of GDI+ for the available
- Windows based drivers.
+ <a href="../func/init.html#cdUseContextPlus">cdUseContextPlus</a> </strong></font> that allows to activate or to deactivate the use of GDI+ for the
+ GDI based drivers.
This function affects only the <font face="Courier"><strong>cdCreateCanvas</strong></font> function call, once created
the canvas will be always a GDI+ canvas. In fact the function affects primary the definitions
<font face="Courier"><strong>CD_NATIVEWINDOW</strong></font>,
@@ -35,7 +36,7 @@
<p>Using GDI+ it is allowed to create more that one canvas at the same time for the same Window. And they can co-exist
with a standard GDI canvas.</p>
<p>To enable the use of GDI+ based drivers you must call the initialization function <font face="Courier"><strong>
- cdInitContextPlus()</strong></font> once and link to the libraries &quot;<strong>cdcontextplus.lib</strong>&quot; and &quot;<strong>gdiplus.lib</strong>&quot;.
+ <a href="../func/init.html#cdInitContextPlus">cdInitContextPlus</a></strong></font> once and link to the libraries &quot;<strong>cdcontextplus.lib</strong>&quot; and &quot;<strong>gdiplus.lib</strong>&quot;.
Also the file &quot;<strong>gdiplus.dll</strong>&quot; must be available in your system. These files already came with Visual
C++ 7 and Windows XP. For other compilers or systems you will need to copy the &quot;.lib&quot; file for you libraries area, and
you will need to copy the DLL for the Windows\System (Win98/Me) or Windows\System32 (Win2000/NT4-SP6) folder. The
diff --git a/html/en/drv/gl.html b/html/en/drv/gl.html
index ffe3d65..8b78ca5 100644
--- a/html/en/drv/gl.html
+++ b/html/en/drv/gl.html
@@ -28,7 +28,7 @@
API functions, which it was written against the
<a href="http://www.freetype.org/">Free Type</a> library.</p>
<p>The driver is not dependent of system functions. It uses only the OpenGL
-portable funtions. So if the window canvas changes its size the attribute &quot;SIZE&quot;
+portable functions. So if the window canvas changes its size the attribute &quot;SIZE&quot;
must be set with the new size or cdCanvasGetSize will return an incorrect value.</p>
<h3>Use</h3>
@@ -50,7 +50,7 @@ must be set with the new size or cdCanvasGetSize will return an incorrect value.
and the OpenGL library. The FTGL library is dependent also on the GLU
library. In UNIX <strong>cdgl</strong> is also dependent on <strong>iconv</strong>.</p>
<p>In Lua, it is necessary to call function <font face="Courier"> <strong>cdluagl_open() </strong> </font>after a call
- to function <strong><font face="Courier">cdlua_open()</font></strong>, apart from linkediting with the &quot;<strong><font face="Courier">cdluagl</font></strong>&quot;
+ to function <strong><font face="Courier">cdlua_open()</font></strong>, apart from linking with the &quot;<strong><font face="Courier">cdluagl</font></strong>&quot;
library. This is not necessary if you do require&quot;cdluagl&quot;.&nbsp;</p>
<h3>Behavior of Functions</h3>
diff --git a/html/en/drv/image.html b/html/en/drv/image.html
index 54718eb..572f6df 100644
--- a/html/en/drv/image.html
+++ b/html/en/drv/image.html
@@ -38,18 +38,19 @@
<p>For use with CDLUA, the Server Image passed as parameter must have been
created with function <strong><font face="Courier">cd.CreateImage</font></strong>
in Lua.</p>
-<p>To use this driver in Windows using GDI+ is necessary to call
-<font face="Courier"><strong>
- cdUseContextPlus</strong></font><strong><font face="Courier">(1)</font></strong>
-before creating the canvas.</p>
<h3>Behavior of Functions</h3>
- <p>This driver is greatly platform-dependent. For further detail, see the <b>
- Behavior of Functions</b> in each platform: <a href="win32.html">Microsoft
- Windows (GDI)</a>, <a href="gdiplus.html">Windows Using GDI+</a>,
- <a href="xwin.html">X-Windows (XLIB)</a>, <a href="gdk.html">GDK</a>. However, it should be noted that
- some functions behave differently from the basic functions of each platform.</p>
+ <p>This driver is very platform-dependent. </p>
+
+ <p>For further detail, see the <b>
+ Behavior of Functions</b> in each base driver: <a href="win32.html">GDI</a>,
+ <a href="gdk.html">GDK</a> and <a href="xwin.html">X-Win</a>. To use this driver
+ with a context plus base driver is necessary to call
+ <font face="Courier"><strong>
+ cdUseContextPlus</strong></font><strong><font face="Courier">(1)</font></strong>
+ before creating the canvas, see the <a href="../drv/gdiplus.html">GDI+</a>,&nbsp;<a href="../drv/cairo.html">Cairo</a>
+and <a href="../drv/xrender.html">XRender</a> base drivers.</p>
</body>
diff --git a/html/en/drv/iup.html b/html/en/drv/iup.html
index b2644e0..2d7dda6 100644
--- a/html/en/drv/iup.html
+++ b/html/en/drv/iup.html
@@ -36,18 +36,22 @@
IUP distribution. </p>
<p>In Lua, it is necessary to call function <strong><font face="Courier">cdluaiup_open() </font></strong>after a call
to function <strong><font face="Courier">cdlua_open()</font></strong>, apart from linking with the &quot;<strong><font face="Courier">iupluacd</font></strong>&quot;
- library. To use with require must be require&quot;iupluacd&quot; or require&quot;iupluacd51&quot;.</p>
- <p>To use this driver in Windows using GDI+ is necessary to call
- <font face="Courier"><strong>
- cdUseContextPlus</strong></font><strong><font face="Courier">(1)</font></strong>
- before creating the canvas.</p>
+ library. This is not necessary if you do require&quot;iupluacd&quot;.</p>
<h3>Behavior of Functions</h3>
- <p>This driver is greatly platform-dependent, but little dependent on the IUP library. For further detail, see the <b>
- Behavior of Functions</b> in each platform: <a href="win32.html">Microsoft Windows (GDI)</a>, <a href="gdiplus.html">
- Windows Using GDI+</a>, <a href="xwin.html">X-Windows (XLIB)</a>. However, it should be noted that some functions
- behave differently from the basic functions of each platform.</p>
+ <p>This driver is very platform-dependent, although little dependent on the IUP library.</p>
+
+ <p>For further detail, see the <b>
+ Behavior of Functions</b> in each base driver: <a href="win32.html">GDI</a>,
+ <a href="gdk.html">GDK</a> and <a href="xwin.html">X-Win</a>. To use this driver
+ with a context plus base driver is necessary to call
+ <font face="Courier"><strong>
+ cdUseContextPlus</strong></font><strong><font face="Courier">(1)</font></strong>
+ before creating the canvas, see the <a href="../drv/gdiplus.html">GDI+</a>,&nbsp;<a href="../drv/cairo.html">Cairo</a>
+and <a href="../drv/xrender.html">XRender</a> base drivers.</p>
+<p>However, it should be noted that some functions behave differently from the
+basic functions of each platform.</p>
<h4>Control&nbsp;</h4>
<ul>
diff --git a/html/en/drv/native.html b/html/en/drv/native.html
index 4bdeb90..43988a9 100644
--- a/html/en/drv/native.html
+++ b/html/en/drv/native.html
@@ -1,5 +1,5 @@
<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
+<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
<head>
<meta http-equiv="Content-Language" content="en-us">
@@ -23,24 +23,24 @@
canvas based on an existing system canvas. The parameter <font face="Courier">Data</font> is a pointer to a handle of
the canvas. It is system-dependent, having a different meaning in each platform:</p>
- <p><strong>Microsoft Windows</strong>: can be the handle of the Windows window (<font face="Courier">HWND</font>),
+ <p><strong>GDI and GDI+</strong>: can be the handle of the Windows window (<font face="Courier">HWND</font>),
or the handle of a previously created Device Context (<font face="Courier">HDC</font>), or can be a string in the
format &quot;<font face="Courier">hdc width height</font>&quot; or, in C, &quot;<font face="Courier">%p %d %d</font>&quot;.
To get the entire screen use a NULL data.<br>
- <strong>X-Windows</strong>: It is a string in the format &quot;<font face="Courier">display window</font>&quot; or, in C, &quot;<font face="Courier"><tt>%p
- %lu</tt></font>&quot; (uses the default screen).</p>
+ <strong>X-Windows</strong>: is a string in the format &quot;<font face="Courier">display window</font>&quot; or, in C, &quot;<font face="Courier"><tt>%p
+ %lu</tt></font>&quot; (uses the default screen).<br>
+ <strong>GDK and Cairo</strong>: is a <font SIZE="3">GdkDrawable* handle.</p>
+</font>
- <p>The given parameters must exists until <font face="Courier"><strong>cdKillCanvas</strong></font> is called. The
+ <p>The given parameters must exists until <font face="Courier"><strong>cdKillCanvas</strong></font> is called.
+ In Windows, the
<font face="Courier">HDC</font> is released only if created inside <font face="Courier"><strong>cdCreateCanvas</strong></font>
from an <font face="Courier">HWND</font> or when data is NULL.</p>
<p>Any amount of such canvases may exist simultaneously, but they should not use the same window, except if you are
using a GDI canvas and a GDI+ canvas at the same time for the same window.</p>
- <p>In CDLUA, the creation parameter must be a string in X-Windows and a userdata in Microsoft Windows.</p>
-<p>To use this driver in Windows using GDI+ is necessary to call
-<font face="Courier"><strong>
- cdUseContextPlus</strong></font><strong><font face="Courier">(1)</font></strong>
-before creating the canvas.</p>
+ <p>In CDLUA, the creation parameter must be a string in X-Windows and a userdata in
+ others.</p>
<h3>Exclusive Functions</h3>
<h4><font face="Courier">void cdGetScreenSize(int *width, int *height, double *width_mm, double *height_mm); [in C]<br>
@@ -60,10 +60,18 @@ before creating the canvas.</p>
<h3>Behavior of Functions</h3>
- <p>This driver is greatly platform-dependent. For further detail, see the <b>Behavior of Functions</b> in each
- platform: <a href="win32.html">Microsoft Windows (GDI)</a>, <a href="gdiplus.html">Windows Using GDI+</a>,
- <a href="xwin.html">X-Windows (XLIB)</a>, <a href="gdk.html">GDK</a>. However, it should be noted that some functions behave differently from the
- basic functions of each platform.</p>
+ <p>This driver is very platform-dependent. </p>
+
+ <p>For further detail, see the <b>
+ Behavior of Functions</b> in each base driver: <a href="win32.html">GDI</a>,
+ <a href="gdk.html">GDK</a> and <a href="xwin.html">X-Win</a>. To use this driver
+ with a context plus base driver is necessary to call
+ <font face="Courier"><strong>
+ cdUseContextPlus</strong></font><strong><font face="Courier">(1)</font></strong>
+ before creating the canvas, see the <a href="../drv/gdiplus.html">GDI+</a>,&nbsp;<a href="../drv/cairo.html">Cairo</a>
+and <a href="../drv/xrender.html">XRender</a> base drivers.</p>
+<p>However, it should be noted that some functions behave differently from the
+basic functions of each platform.</p>
<h4>Control</h4>
<ul>
diff --git a/html/en/drv/pdf.html b/html/en/drv/pdf.html
index c161eeb..00e18d1 100644
--- a/html/en/drv/pdf.html
+++ b/html/en/drv/pdf.html
@@ -47,7 +47,7 @@ or in C<em>
<p>To use this driver, the application must be linked with the &quot;<strong>cdpdf</strong>&quot;
and &quot;<strong>pdflib</strong>&quot; libraries. </p>
<p>In Lua, it is necessary to call function <font face="Courier"> <strong>cdluapdf_open() </strong> </font>after a call
- to function <strong><font face="Courier">cdlua_open()</font></strong>, apart from linkediting with the &quot;<strong><font face="Courier">cdluapdf</font></strong>&quot;
+ to function <strong><font face="Courier">cdlua_open()</font></strong>, apart from linking with the &quot;<strong><font face="Courier">cdluapdf</font></strong>&quot;
library. This is not necessary if you do require&quot;cdluapdf&quot;.</p>
<p><b>Paper Size - </b>The default paper size is A4. It is possible to change it by using one of the predefined sizes
diff --git a/html/en/drv/printer.html b/html/en/drv/printer.html
index f712821..49d8719 100644
--- a/html/en/drv/printer.html
+++ b/html/en/drv/printer.html
@@ -13,7 +13,7 @@
<h2 style="text-align: left">CD_PRINTER - Printer Driver (cdprint.h)</h2>
<p>This driver provides access to a System Default Printer. </p>
- <p>Currently, it works only in Microsoft Windows platforms, but it is possible
+ <p>The driver works only with the GDI, GDI+ and Cairo base drivers, but it is possible
to use it in other platforms without the risk of compilation error. If you
attempt to create a canvas in another platform, the function
<a href="../func/init.html#cdCreateCanvas">
@@ -32,7 +32,7 @@
<p><font face="Courier">name</font> is an optional document name that will
appear in the printer queue. Optionally, <font face="Courier">-d</font>
- displays the System Printer dialogue box before starting to print, allowing
+ displays the system pre-defined printer dialog before starting to print, allowing
you to configure the printer's parameters. When using this parameter and the
return canvas is NULL, one must assume that the print was canceled by the
user.</p>
@@ -45,20 +45,21 @@
<a href="../func/control.html#cdFlush">
<font face="Courier"><strong>Flush</strong></font></a> to change to a new
page. You can draw first on page 1, then on page 2 and so forth.</p>
-<p>To use this driver in Windows using GDI+ is necessary to call
-<font face="Courier"><strong>
- cdUseContextPlus</strong></font><strong><font face="Courier">(1)</font></strong>
-before creating the canvas.</p>
<h3>Behavior of Functions</h3>
- <p>This driver is greatly platform-dependent. For further detail, see the <b>
- Behavior of Functions</b> in each platform: <a href="win32.html">Microsoft
- Windows (GDI)</a>, <a href="gdiplus.html">Windows Using GDI+</a>,
- and <a href="cairo.html">Cairo</a> (over GDK). However, it should be noted that
- some functions behave differently from the basic functions of each platform.</p>
- <p>A printer created in Win32s has the same limitations as the
- <a href="wmf.html">WMF driver</a>. In Windows 95 or NT, it has the same
+ <p>This driver is very platform-dependent.</p>
+
+ <p>For further detail, see the <b>
+ Behavior of Functions</b> in each base driver: <a href="win32.html">GDI</a>. To use this driver
+ with a context plus base driver is necessary to call
+ <font face="Courier"><strong>
+ cdUseContextPlus</strong></font><strong><font face="Courier">(1)</font></strong>
+ before creating the canvas, see the <a href="../drv/gdiplus.html">GDI+</a> and
+ <a href="../drv/cairo.html">Cairo</a> base drivers.</p>
+<p>However, it should be noted that some functions behave differently from the
+basic functions of each platform.</p>
+<p>A printer created in Windows has the same
limitations as the <a href="emf.html">EMF driver</a>.</p>
<h4>Control</h4>
diff --git a/html/en/drv/win32.html b/html/en/drv/win32.html
index df0d902..b8781dd 100644
--- a/html/en/drv/win32.html
+++ b/html/en/drv/win32.html
@@ -10,7 +10,7 @@
<body>
-<h2>Microsoft Windows Base Driver</h2>
+<h2>GDI Base Driver</h2>
<p>This driver represents a base driver for all system-dependent drivers implemented in the Microsoft Windows system.
The implementation uses Win32 API graphics functions, the GDI. The driver works better in Windows NT, but it may also
diff --git a/html/en/drv/xrender.html b/html/en/drv/xrender.html
index 202ec34..11bdc1b 100644
--- a/html/en/drv/xrender.html
+++ b/html/en/drv/xrender.html
@@ -15,14 +15,15 @@
<p>This driver represents a basic driver for all system-dependent drivers
implemented in the X-Windows system using the XRender extension. The implementation uses the
XRender and Xft API functions.</p>
+<p>It can be used only as the context plus driver of the X-Win based drivers.</p>
<p>The main motivation for the use of XRender was transparency for all the primitives. Beyond that we got other features
like anti-aliasing, gradient filling and transformations.</p>
<p>This driver still does not completely replace the X-Windows base driver, because
XRender does not have support for
XOR and for line styles.</p>
<p>So we let the programmer to choose what to use. We created the function <font face="Courier"><strong>
- cdUseContextPlus</strong></font> that allows to activate or to deactivate the use of
- X-Render for the available X-Windows based drivers.
+ <a href="../func/init.html#cdUseContextPlus">cdUseContextPlus</a> </strong></font> that allows to activate or to deactivate the use of
+ X-Render for the available X-Win based drivers.
This function affects only the <font face="Courier"><strong>cdCreateCanvas</strong></font> function call, once created
the canvas will be always a XRender canvas. In fact the function affects primary the definitions
<font face="Courier"><strong>CD_NATIVEWINDOW</strong></font>,
@@ -32,7 +33,7 @@
<p>Using XRender it is allowed to create more that one canvas at the same time for the same Window. And they can co-exist
with a standard X-Windows canvas.</p>
<p>To enable the use of XRender based drivers you must call the initialization function <font face="Courier"><strong>
- cdInitContextPlus()</strong></font> once and link to the libraries &quot;<strong>cdcontextplus</strong>&quot;, &quot;<strong>Xrender</strong>&quot and &quot;<strong>Xft</strong>&quot;.
+ <a href="../func/init.html#cdInitContextPlus">cdInitContextPlus</a></strong></font> once and link to the libraries &quot;<strong>cdcontextplus</strong>&quot;, &quot;<strong>Xrender</strong>&quot and &quot;<strong>Xft</strong>&quot;.
Also the libraries &quot;<strong>Xrender</strong>&quot and &quot;<strong>Xft</strong>&quot;
must be installed in your system. The XRender extension must be available in
the X-Windows server for the driver to work.</p>
@@ -42,7 +43,7 @@ IRIX.</p>
<p>In CDLua it is not necessary any additional initialization, but the
application must still be linked with the <strong>cdcontextplus.lib</strong>
library or a <strong>require&quot;cdluacontextplus&quot;</strong> can be used when
- using dynamic libraries.</p>
+ using dynamic libraries. When using require, it is NOT available in Linux.</p>
<h3>Behavior of Functions</h3>
<h4>Control&nbsp; </h4>
diff --git a/html/en/history.html b/html/en/history.html
index e5f073f..87d714e 100644
--- a/html/en/history.html
+++ b/html/en/history.html
@@ -29,6 +29,15 @@
<h2>History of Changes</h2>
<h3>CVS (05/Aug/2010)</h3>
<ul>
+ <li><strong><span style="color: #FF0000">IMPORTANT:</span></strong> since the previous
+ version CDLua dynamic libraries in Linux are dependent on GDK, because they
+ depend on the main library, that now contains the GDK base drivers. i.e. the
+ X-Win base drivers can NOT be used anymore in dynamic libraries when using
+ Lua in Linux.</li>
+ <li>
+ <span class="hist_changed">Changed:</span> the Cairo context plus driver
+ in Lua is now the default library when using &quot;cdluacontextplus&quot; in
+ Linux.</li>
<li>
<span class="hist_fixed">Fixed:</span> CD_GL static library for Visual
C++ compilers were incorrectly using FTGL as dynamic library.</li>
diff --git a/html/wb/wb_usr.lua b/html/wb/wb_usr.lua
index feb35b5..939dde3 100644
--- a/html/wb/wb_usr.lua
+++ b/html/wb/wb_usr.lua
@@ -1068,7 +1068,7 @@ wb_usr.tree =
link= "drv/gdk.html"
},
{
- name= {nl= "Win32"},
+ name= {nl= "GDI"},
link= "drv/win32.html"
},
{
diff --git a/html/wb_tree.html b/html/wb_tree.html
index 338b439..a068f84 100644
--- a/html/wb_tree.html
+++ b/html/wb_tree.html
@@ -546,7 +546,7 @@
<p><img src="wb_img/blank.png"><img name="imgfolder.6.5" src="wb_img/plusnode.png" onclick="toggleFolder('folder.6.5')"> Base Drivers</p>
<div id="folder.6.5">
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link210folder.6.5" href="en/drv/gdk.html">GDK</a></p>
- <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link211folder.6.5" href="en/drv/win32.html">Win32</a></p>
+ <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link211folder.6.5" href="en/drv/win32.html">GDI</a></p>
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link212folder.6.5" href="en/drv/xwin.html">X-Win</a></p>
<p class="sep"><img src="wb_img/sepblank.png"><img src="wb_img/sepvertline.png"><img src="wb_img/sepnode.png"></p>
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link213folder.6.5" href="en/drv/sim.html">Simulation</a></p>
diff --git a/src/lua5/cdlua5ctx.c b/src/lua5/cdlua5ctx.c
index 71f090d..e6812ff 100644
--- a/src/lua5/cdlua5ctx.c
+++ b/src/lua5/cdlua5ctx.c
@@ -1,5 +1,5 @@
/***************************************************************************\
-* $Id: cdlua5ctx.c,v 1.4 2010/06/11 17:28:56 scuri Exp $
+* $Id: cdlua5ctx.c,v 1.5 2010/10/13 19:19:05 scuri Exp $
* *
\***************************************************************************/
@@ -835,14 +835,14 @@ static int clipboard_sizecb(cdCanvas *canvas, int w, int h, double mm_w, double
\***************************************************************************/
static void *cdnativewindow_checkdata(lua_State *L, int param)
{
-#ifdef WIN32
- if (!lua_isnil(L,param) && !lua_isuserdata(L,param))
- luaL_argerror(L, param, "data should be of type userdata");
+ if (!lua_isnil(L,param) &&
+ (!lua_isuserdata(L,param) || !lua_isstring(L, param)))
+ luaL_argerror(L, param, "data should be of type userdata or a string");
- return lua_touserdata(L,param);
-#else
- return (void *)luaL_checkstring(L,param);
-#endif
+ if (lua_isuserdata(L,param))
+ return lua_touserdata(L,param);
+ else
+ return (void *)luaL_checkstring(L,param);
}
static cdluaContext cdluanativewindowctx =