diff options
author | scuri <scuri> | 2008-10-17 06:10:33 +0000 |
---|---|---|
committer | scuri <scuri> | 2008-10-17 06:10:33 +0000 |
commit | 7b52cc13af4e85f1ca2deb6b6c77de9c95ea0dcf (patch) | |
tree | d0857278bde2eff784227c57dcaf930346ceb7ac /html/en/drv/xrender.html |
First commit - moving from LuaForge to SourceForge
Diffstat (limited to 'html/en/drv/xrender.html')
-rw-r--r-- | html/en/drv/xrender.html | 152 |
1 files changed, 152 insertions, 0 deletions
diff --git a/html/en/drv/xrender.html b/html/en/drv/xrender.html new file mode 100644 index 0000000..6970e29 --- /dev/null +++ b/html/en/drv/xrender.html @@ -0,0 +1,152 @@ +<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN"> +<html> + +<head> +<meta http-equiv="Content-Language" content="en-us"> +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> +<title>X-Windows</title> +<link rel="stylesheet" type="text/css" href="../../style.css"> +</head> + +<body> + +<h2>XRender Base Driver</h2> + + <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>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. + 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>, + <strong><span style="font-family: Courier">CD_IMAGE</span></strong> and <strong> + <span style="font-family: Courier">CD_DBUFFER</span></strong>, because they are + function calls and not static defines.</p> + <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 "<strong>cdcontextplus</strong>", "<strong>Xrender</strong>" and "<strong>Xft</strong>". + Also the libraries "<strong>Xrender</strong>" and "<strong>Xft</strong>" + must be installed in your system. The XRender extension must be available in + the X-Windows server for the driver to work.</p> +<p>Currently, pre-compiled binaries are available for Linux, Darwin +and FreeBSD54. It is not available for the systems we have with AIX, SunOS and +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"cdluacontextplus"</strong> can be used when + using dynamic libraries.</p> + +<h3>Behavior of Functions</h3> +<h4>Control </h4> +<ul> + <li><a href="../func/other.html#cdPlay"> + <font face="Courier"><strong>Play</strong></font></a>: does nothing, returns + <font face="Courier">CD_ERROR</font>. </li> +</ul> +<h4>Coordinate System and Clipping </h4> +<ul> + <li> + <a href="../func/coordinates.html#cdUpdateYAxis"> + <font face="Courier"><strong>UpdateYAxis</strong></font></a>: the + orientation of axis Y is the opposite to its orientation in the CD library. + Except when using transformations.</li> +</ul> +<h4>Primitives</h4> +<ul> + <li><font face="Courier"><a href="../func/lines.html#cdLine"><b>Line</b></a></font>: + simulated using the client's <strong>Poly</strong>.</li> + <li><a href="../func/text.html#cdText"><font face="Courier"><strong>Text</strong></font></a>: + Generic transformation + matrix affects only the position of the text. Complex clipping regions can not + contain text regions.</li> + <li><a href="../func/lines.html#cdBegin"> + <font face="Courier"><strong>Begin</strong></font></a>: <strong><tt> + CD_BEZIER</tt></strong> is simulated with lines.</li> + <li><font face="Courier"><strong><a href="../func/lines.html#cdRect">Rect</a></strong></font>: + simulated using the client's <strong>Line</strong>.</li> + <li><font face="Courier"><a href="../func/lines.html#cdArc"><b>Arc</b></a></font>: + simulated using the client's <strong>Line</strong>. </li> + <li><font face="Courier"><a href="../func/filled.html#cdSector"><b>Sector</b></a></font>: + simulated using the client's <strong>Poly</strong>. </li> + <li><font face="Courier"><b><a href="../func/filled.html#cdChord">Chord</a></b></font>: + simulated using the client's <strong>Poly</strong></li> + <li><font face="Courier"><a href="../func/filled.html#cdBox"><b>Box</b></a></font>: + simulated using the client's <strong>Poly</strong>. </li> +</ul> +<h4>Attributes </h4> +<ul> + <li> + <a href="../func/lines.html#cdLineWidth"> + <font face="Courier"><strong>LineWidth</strong></font></a>: the driver will + use a polygon that fits to the line extents, even when linewidth==1.</li> + <li> + <a href="../func/lines.html#cdLineStyle"> + <font face="Courier"><strong>LineStyle</strong></font></a>: NOT supported.</li> + <li><a href="../func/filled.html#cdPattern"><font face="Courier"><strong> + Pattern</strong></font></a>: each pixel can contain transparency information.</li> + <li> + <a href="../func/text.html#cdNativeFont"> + <font face="Courier"><strong>NativeFont</strong></font></a>: also accepts the + X-Windows font string format. You can use program <strong>xfontsel</strong> to select a font and obtain the string. + For ex: "-*-times-bold-r-*-*-24-*-*-*-*-*-*-*" (equivalent of <strong>Font</strong>("Times", + CD_BOLD, -24).</li> + <li><a href="../func/text.html#cdFont"> + <font face="Courier"><strong>Font</strong></font></a>: font support is + implemented using the Xft library. Internally the Xft library uses the + Freetype library.</li> +</ul> +<h4>Colors </h4> +<ul> + <li> + Use the X-Windows base driver support for colors.</li> +</ul> +<h4>Client and Server Images</h4> +<ul> + <li> + All functions use the X-Windows base driver functions.</li> +</ul> +<h4>Exclusive Attributes</h4> +<ul> + <li>"<b><font face="Courier">GC</font></b>": returns the X11 graphics + context (get only). In Lua is returned as a user data.</li> +</ul> + +<ul> + <li>"<b><font face="Courier">ROTATE</font></b>": allows the usage of 1 + angle and 1 coordinate (x, y), that define a global rotation transformation + centered in the specified coordinate. Use 1 real and 2 integer values inside a + string ("%g %d %d" = angle x y). In this driver will change the + current transformation matrix, if removed will reset the current + transformation matrix.</li> +</ul> + +<ul> + <li>"<b><font face="Courier">ANTIALIAS</font></b>": controls the use of anti-aliasing + for the text, image zoom and line + drawing primitives. Assumes values "1" (active) and "0" (inactive). Default value: "1". </li> +</ul> + +<ul> + <li><b><font face="Courier">"LINEGRADIENT": </font></b>defines a filled interior style that uses a line gradient + between two colors. It uses 2 points ("%d %d %d %d" = x1 y1 x2 y2), one for the starting point using (using the + foreground color), and another one for the end point (using the background color). + (available only if Xrender version >= 0.10)</li> +</ul> + +<ul> + <li><b><font face="Courier">"XRENDERVERSION": </font></b>returns a + string with the XRender version number. It is empty if the XRender extension + is not available in the X-Windows server.</li> +</ul> + +</body> + +</html> |