From 2fb345fc972465ade03cc1d527ad3c8db3438ac5 Mon Sep 17 00:00:00 2001
From: scuri This driver represents a basic driver for all system-dependent drivers
implemented in the X-Windows and MS-Windows systems. The implementation uses the
- Cairo API
- functions and Pango functions to support Unicode text. This driver can be
+ Cairo and Pango functions. This driver can be
compiled and used in all systems Cairo is supported. The drivers Native Window,
Image, Printer and Double Buffer were implemented. The main motivation for the use of Cairo was transparency for all the
@@ -40,15 +42,49 @@ for complex clipping regions.
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 GD, Win32 or X-Windows canvas.
+ with a standard GDK, Win32 or X-Windows canvas.To enable the use of Cairo based drivers you must call the initialization function - cdInitContextPlus() once and link to the libraries "cdcairo" and "cairo". - When using the GDK base driver you do not need to link with the "cdcairo" - library. Also the Cairo library must be installed in your system.
-In CDLua it is not necessary any additional initialization, but the - application must still be linked with the cdcontextplus.lib - library or a require"cdluacontextplus" can be used when - using dynamic libraries.
+ cdInitContextPlus() once and link to the libraries "cdcairo" and "cairo". Also the Cairo library must be installed in your system. + When using the GDK base driver you do not need to link with the "cdcairo" + library. +In CDLua it is not necessary any additional initialization, and require"cdluacairo" 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.
+ +Only available in Lua when require"cdluacairo" is +used.
+ +Similar to CD_PS, uses the same creation parameters. + But margins are not supported and Postscript level can be 2 (parameter -2) + or 3 (parameter -3).
+ +Similar to CD_PDF, uses the same creation + parameters. The driver also does not depends on the PDFLib. The additional + attributes "OPACITY", "PATTERN", "PDF", "PDFLIBVERSION" and the description + strings, are not supported.
+Similar to CD_SVG, uses the same creation + parameters. The additional attributes "OPACITY" and "CMD" are not supported.
+ +Similar to CD_IMAGERGB, uses + almost the same creation parameters. The main difference is that the + data pointers are packed in RGBARGBARGBA... format. So it is used only 1 + pointer for data, instead of 3. Also the attributes "REDIMAGE", + "GREENIMAGE", "BLUEIMAGE" and "ALPHAIMAGE are not supported and replaced by + the "RGBDATA" attribute. There are also two new attributes, "STRIDE" that + returns the line size in bytes, when data is specified during creation then + stride is always width*32. Even when there is not alpha channel, data is + stored in 32 bits per pixel. Image data is also organized in top-bottom + orientation, it means the data pointer points to the top-left corner.
This is included in the main library in Linux and BSD. To use it in other +Unices and in Win32 you must link with the cdgdk library +instead of the cd main library.
This driver allows the generation of a SVG file, a modularized language for describing two-dimensional vector and mixed vector/raster graphics in XML. The diff --git a/html/en/drv/xwin.html b/html/en/drv/xwin.html index 3049da9..86d57ed 100644 --- a/html/en/drv/xwin.html +++ b/html/en/drv/xwin.html @@ -21,6 +21,10 @@ implemented in the X-Windows system. The implementation uses the XLIB API functions. It was developed using X11R4, but works in more recent versions, such as X11R6.
+This is included in the main library in AIX, SunOS and IRIX. To use it in +Linux and BSD you must link with the cdx11 library instead of +the cd main library.
+Note: The coordinates internally implemented by the video driver use 16-bit integers. Therefore, if a coordinate with less than -32k or more than 32k is defined, it will be interpreted incorrectly.
diff --git a/html/en/guide.html b/html/en/guide.html index d52c633..b09e2a3 100644 --- a/html/en/guide.html +++ b/html/en/guide.html @@ -91,23 +91,29 @@ the makefiles and projects expect the following directory tree: im\ lua5.1\cd -> gdi32 user32 comdlg32 (system - Windows) - -> X11 (system - UNIX) - -> FreeType (included as separate library) -cdgdk -> gdk-win32-2.0(system - Windows) - -> gdk-x11-2.0 (system - UNIX) - -> cairo-2 (system - Windows/UNIX) -cdgdiplus -> cd ++cd -> FreeType (included as separate library) + cdwin* -> gdi32 user32 comdlg32 (system - Windows) + cdx11* -> X11 (system - UNIX) + cdgdk* -> gdk-win32-2.0 pangowin32-1.0(system - Windows) + -> gdk-x11-2.0 pangox-1.0 (system - UNIX) + -> cairo-2 gdk_pixbuf-2.0 pango-1.0 gobject-2.0 gmodule-2.0 glib-2.0 (system - Windows/UNIX) +cdgdiplus* -> cd -> gdiplus (system - Windows) -cdxrender -> cd +cdxrender* -> cd -> Xrender Xft (system - UNIX) +cdcairo* -> cairo-2 (system - Windows/UNIX) cdpdf -> pdflib (included as separate library) cdlua51 -> cd -> lua5.1 cdluaim51 -> cdlua51 -> imlua51 cdluapdf51 -> cdlua51 - -> cdpdf+ -> cdpdf + +(*) In Windows, "cdwin" is called "cd". + In Linux and BSD "cdgdk" is called "cd". + In IRIX, AIX and SunOS "cdx11" is called "cd".
As a general rule (excluding system dependencies and included third party libraries): CD has NO external dependencies, and CDLua depends on Lua and IMLua. Just notice that not all CDLua libraries depend on IMLua.
@@ -121,7 +127,8 @@ LUALIB and LUABINDIR definitions before using Tecmake or Tecmake Compact.libx11-dev libxpm-dev libxmu-dev -libxft-dev+libxft-dev (for the XRender driver) +libgtk2.0-dev (for the GDK driver)