diff options
Diffstat (limited to 'html/en/history.html')
-rw-r--r-- | html/en/history.html | 932 |
1 files changed, 932 insertions, 0 deletions
diff --git a/html/en/history.html b/html/en/history.html new file mode 100644 index 0000000..6042519 --- /dev/null +++ b/html/en/history.html @@ -0,0 +1,932 @@ +<html> + +<head> +<meta http-equiv="content-type" content> +<meta http-equiv="Content-Language" content="en-us"> +<title>History</title> +<link rel="stylesheet" type="text/css" href="../style.css"> +</head> + +<body> + +<h1>History of Changes</h1> +<h3>Version 5.1 (14/Oct/2008)</h3> +<ul> + <li><span style="color: #0000FF">New:</span> CD_DEBUG driver.</li> + <li><span style="color: #0000FF">New:</span> the "imlua_cd" library moved + from IM to CD under the name "cdluaim". Only the initialization function + name is changed.</li> + <li><span style="color: #0000FF">New:</span> cdluacontextplus library so the + "ContextPlus" base drivers (GDI+ and XRender) can be dinamically loaded + using require.</li> + <li><span style="color: #008000">Changed:</span> + <strong> + <span style="color: #FF0000">IMPORTANT</span></strong> - the "cdiup" and "cdluaiup" + libraries moved from CD to IUP under the name "iupcd" and "iupluacd". But + headers and documentation remains on the CD package. Function names were NOT + changed. This change eliminates a cross-dependency that IUP and CD had, now + only IUP depends on CD.</li> + <li><span style="color: #0000FF"><span style="color: #008000">Changed</span>:</span> + <strong> + <span style="color: #FF0000">IMPORTANT</span></strong> - renamed "cdgliplus" + and "cdxrender" libraries to "cdcontextplus".</li> + <li><span style="color: #0000FF"><span style="color: #008000">Changed</span>:</span> + <strong> + <span style="color: #FF0000">IMPORTANT</span></strong> - removed the FreeType + library files from the main library. They now are available as an additional + library that can be replaced by other FreeType distributions. This will + avoid conflicts when using CD and GTK.</li> + <li><span style="color: #0000FF"><span style="color: #008000">Changed</span>:</span> + <strong> + <span style="color: #FF0000">IMPORTANT</span></strong> - removed the PDFLib + library files from the cdpdf library. They now are available as an + additional library that can be replaced by other PDFLib distributions.</li> + <li><span style="color: #008000">Changed:</span> + Makefiles for UNIX now uses a compact version of Tecmake that does not need + any installation, just type "make".</li> + <li><span style="color: #008000">Changed:</span> All dll8 and dll9 DLLs now + have a Manifest file that specifies the correct MSVCR*.DLL.</li> + <li><span style="color: #008000">Changed:</span> improved CDLua parameter + checking and error report.</li> + <li><span style="color: #008000">Changed:</span> improved compatibility for + font names in X and Win32.</li> + <li><span style="color: #0000FF"><span style="color: #008000">Changed</span>:</span> + Copyright notice modified to reflect the registration at INPI (National + Institute of Intellectual Property in Brazil). License continues under the + same terms.</li> + <li><span style="color: #0000FF"><span style="color: #008000">Changed</span>:</span> + improved pattern and stipple resize in <strong>wdCanvasPattern</strong> and + <strong>wdCanvasStipple</strong>.</li> + <li><span style="color: #0000FF"><span style="color: #008000">Changed</span>:</span> + pattern creation in Win32 to a more faster method.</li> + <li><span style="color: #0000FF"><span style="color: #008000">Changed</span>:</span> + optimized font search in X-Windows base driver for size variations.</li> + <li><span style="color: #0000FF"><span style="color: #008000">Changed</span>:</span> + the number of bits per pixel returned by the CD_PRINTER driver when the + printer is a PDF Writer was 1, now we add a workaround to return 24.</li> + <li><span style="color: #0000FF"><span style="color: #008000">Changed</span>:</span> + improved the color convertion when drawing a RGB image in a CD_PRINTER + canvas with 1 bpp (usually a laser printer).</li> + <li><span style="color: #008000">Changed</span>: (UNDONE from 5.0) in Lua + canvases are NOT + garbage collected anymore. Since there can be different Lua canvases pointing + to the same canvas.</li> + <li><span style="color: #008000">Changed</span>: font map in simulation + driver is not case sensitive anymore.</li> + <li><span style="color: #008000">Changed</span>: premake files are used now + only internally and were removed from the distribution.</li> + <li><span style="color: #FF0000">Fixed:</span> added missing + CD_NO_OLD_INTERFACE definition on Linux makefiles.</li> + <li><span style="color: #FF0000">Fixed:</span> attributes not being + preserved after changing clipping or adding a new page in CD_PDF.</li> + <li><span style="color: #FF0000">Fixed:</span> polygon clipping in + CD_IMAGERGB driver when polygon is larger than the canvas.</li> + <li><span style="color: #FF0000">Fixed:</span> <strong>cdCanvasVertex</strong> + when adding two reference points with the same coordinates in a bezier.</li> + <li><span style="color: #FF0000">Fixed:</span> client image zoom in + CD_IMAGERGB driver.</li> + <li><span style="color: #FF0000">Fixed:</span> text draw position and + gettextsize in Xrender base driver.</li> + <li><span style="color: #FF0000">Fixed:</span> double buffer driver invalid + memory access when using the Xrender base driver.</li> +</ul> +<h3>Version 5.0 (26/Nov/2007)</h3> +<ul> + <li><span style="color: #0000FF">New:</span> attributes "OPAQUE", "PATTERN" + and "PDF" in the CD_PDF driver.</li> + <li><span style="color: #0000FF">New:</span> XRender base driver.</li> + <li><span style="color: #008000">Changed:</span> PDF Lite library updated to + version "7.0.2".</li> + <li><span style="color: #008000">Changed:</span> FreeType library updated to + version "2.3.5".</li> + <li><span style="color: #008000">Changed</span>: now using "(char*)CD_QUERY" + as the parameter in <b>cdCanvasNativeFont</b>, it returns the current selected font in + the common format definition.</li> + <li><span style="color: #008000">Changed</span>: avoid setting X-Windows color + background when calling <b>cdCanvasClear</b> for NativeWindow driver. Now all + X-Windows drivers will use only XFillRectangle.</li> + <li><span style="color: #008000">Changed</span>: in Lua canvases are now + garbage collected.</li> + <li><span style="color: #008000">Changed:</span> metatable names in Lua are + now the same as the C struct names.</li> + <li><span style="color: #FF0000">Fixed:</span> function cdlua_checkcanvas that + affects the creation of the cd.DBUFFER canvas. Thanks to Martin Saerbeck.</li> + <li><span style="color: #FF0000">Fixed:</span> vertical text alignment in PDF + and PS + drivers.</li> + <li><span style="color: #FF0000">Fixed:</span> ascent and descent font + dimensions in PDF driver.</li> + <li><span style="color: #FF0000">Fixed:</span> check for mark size and font + size when given size is 0.</li> +</ul> +<h3>Version 5.0 RC2 (09/Apr/2007)</h3> +<ul> + <li><span style="color: #0000FF">New:</span> function <b>cdCanvasInvertYAxis</b> that + will invert the given y coordinate even if the canvas is not internally + inverted.</li> + <li><span style="color: #008000">Changed:</span> PDF Lite library updated to + version "7.0.0p3".</li> + <li><span style="color: #008000">Changed:</span> FreeType library updated to + version "2.2.1".</li> + <li><span style="color: #008000">Changed:</span> In the new API <strong> + cdCanvasFont</strong> you can specify partial parameters using NULL, -1 and 0 + for typeface, style and size. When these parameters are specified the current + font parameter is used. For example, <b>cdCanvasFont(NULL, -1, 10)</b> will only + change the font size.</li> +</ul> +<h3>Version 5.0 RC1 (08/Mar/2007)</h3> +<ul> + <li><span style="color: #0000FF">New:</span> attribute HATCHBOXSIZE in CD_PDF + driver, to control the hatch spacing.</li> + <li><span style="color: #0000FF">New:</span> attribute ADDFONTMAP in + simulation base driver to accept a map between a font name and a font file + name.</li> + <li><span style="color: #0000FF">New:</span> Pango Font Description string is + now accepted in <strong>NativeFont</strong> and replace the previous CD format is most + drivers.<br> + <strong> + <span style="color: #FF0000">INCOMPATIBILITY</span> -</strong> + If style is not used, most drivers had a format compatible with the new + format. But please check your <strong>NativeFont</strong> usage. The IUP + format is still supported.</li> + <li><span style="color: #0000FF">New:</span> API using canvas as a parameter. + Old API still exists. Library is backward compatible with previous versions, + but the documentation shows only the new names. + The new functions add a "Canvas" to the function prefix, for ex: the <strong> + cdLine</strong> equivalent is <strong>cdCanvasLine</strong>. For these + functions <strong>cdActivate</strong> is not required. But <strong> + cdCanvasActivate</strong> exists for special cases where the canvas must be + updated if an external factor was changed, like a window resize. + To facilitate the migration to the new API use the definition CD_NO_OLD_INTERFACE + to exclude the old API definitions and check if you are using only the new + functions.</li> + <li><span style="color: #0000FF">New:</span> support for primitives using + "double" floating point precision and not related to WC functions.</li> + <li><span style="color: #0000FF">New:</span> "cd_canvas.hpp" header file which + defines a C++ class cdCanvasC that wraps the cdCanvas structure API.</li> + <li><span style="color: #0000FF">New:</span> ROTATE attribute in CD_PDF + driver.</li> + <li><span style="color: #0000FF">New:</span> binding Lua of the CD_PDF driver.</li> + <li><span style="color: #0000FF">New:</span> support for alpha channel in + CD_IMAGERGB driver. Also support for alpha in color coding in the CD_IMAGERGB + driver primitives.</li> + <li><span style="color: #0000FF">New:</span> attribute ANTIALIAS in the + CD_IMAGERGB driver. Text is always antialiased as before.</li> + <li><span style="color: #0000FF">New: </span>implemented <strong>Chord</strong> primitive in + simulation base + driver.</li> + <li><span style="color: #0000FF">New: </span>implemented CD_WINDING fill mode + in the simulation base driver.</li> + <li><span style="color: #0000FF">New: </span>implemented complex clipping + regions in CD_IMAGERGB driver. Fixed polygon clipping and other clipping + errors in the CD_IMAGERGB driver.</li> + <li><span style="color: #0000FF">New:</span> driver CD_DBUFFERRGB that uses + the CD_IMAGERGB driver for double buffer, and can be a double buffer for any + other driver (CD_DBUFFER works only for Window based drivers). </li> + <li><span style="color: #0000FF">New:</span> CD_PICTURE driver to store + primitives and attributes in memory that can be played and resized in any + other driver.</li> + <li><span style="color: #0000FF">New:</span> functions to set color foreground + and background without query support (cdCanvasSetForeground and + cdCanvasSetBackground). CD_QUERY conflicts with color RGBA=(255,255,255,255) + (full transparent white).</li> + <li><span style="color: #0000FF">New:</span> support for generic canvas + transformations using <strong>Transform</strong>, <strong>TransformTranslate</strong>, + <strong>TransformRotate</strong> and <strong>TransformScale</strong> functions.</li> + <li><span style="color: #0000FF">New:</span> attribute "GDI+" for all GDI+ + based drivers that returns "1". So it can be detected if the driver uses the + GDI+ base driver.</li> + <li><span style="color: #008000">Changed:</span> <strong> + <span style="color: #FF0000">INCOMPATIBILITY</span></strong> - removed + clipping simulation from the simulation base driver. It is not possible + anymore to simulate clipping, only primitives can be simulated.</li> + <li><span style="color: #008000">Changed:</span> canvas internal pointer allocation so it can be checked for valid canvas in + all external API function calls.</li> + <li><span style="color: #008000">Changed:</span> <strong>NativeFont</strong>("-d") to set also the foreground color from the color in the dialog, and + initialize the font in the dialog with the current selected font.</li> + <li><span style="color: #008000">Changed:</span> In the new API <strong> + cdCanvasFont</strong> changed the typeface parameter type from a small set of + integer values to a more flexible string.</li> + <li><span style="color: #008000">Changed:</span> all accented characters are + now available in the default vector text font.</li> + <li><span style="color: #008000">Changed:</span> all functions in the API now + use "const" when applicable.</li> + <li><span style="color: #008000">Changed:</span> server image defintion from + "void*" to "cdImage*". This will affect C++ applications that must update + their code.</li> + <li><span style="color: #008000">Changed:</span> removed <strong>cdGetClipPoly</strong> + and <strong>wdGetClipPoly</strong> functions.</li> + <li><span style="color: #008000">Changed:</span> <strong>UpdateYAxis</strong> + now also returns the changed value.</li> + <li><span style="color: #008000">Changed:</span> <strong> + <span style="color: #FF0000">INCOMPATIBILITY</span> - cdCallback</strong> + definition used in <strong>RegisterCallback</strong>, called from <strong>Play</strong>. Replaced the "cdContext*" by a "cdCanvas*". + If you do not use the pointer it can be simply ignored.</li> + <li><span style="color: #008000">Changed:</span> WC functions now are only + client functions of the CD API.</li> + <li><span style="color: #008000">Changed:</span> removed old support for + Windows 9x.</li> + <li><span style="color: #008000">Changed:</span> removed the <strong>cdInitGdiPlusIUP</strong> function and the "<strong>cdiupgdiplus</strong>" + library. They are not necessary anymore. Althougth the CD_IUP driver still + works with GDI+ support.</li> + <li><span style="color: #008000">Changed:</span> improved speed and precision + of the bezier polygon of the simulation base driver.</li> + <li><span style="color: #008000">Changed:</span> renamed distribution folder + name from "cd/data" to "cd/etc".</li> + <li><span style="color: #008000">Changed:</span> CD Lua for Lua 3 library name + changed to include "3" as a suffix.</li> + <li><span style="color: #FF0000">Fixed:</span> conversion from ANSI to ASCII + in vector text fonts. </li> + <li><span style="color: #FF0000">Fixed:</span> Sector primitive in simulation + base + driver.</li> + <li><span style="color: #FF0000">Fixed:</span> deactivation of internal canvas in Double Buffer driver over a Native Windows driver for Win32.</li> + <li><span style="color: #FF0000">Fixed:</span> EPS compatibility in PostScript driver.</li> + <li><span style="color: #FF0000">Fixed:</span> the default values in <strong>cdCreateCanvas</strong> for CD_DGN, CD_DXF and CD_CGM.</li> + <li><span style="color: #FF0000">Fixed:</span> <strong>Play</strong> for CD_EMF when data contains poly-polygons or poly-polylines.</li> + <li><span style="color: #FF0000">Fixed:</span> <strong>LineWidth</strong> in + WC when updating the + size in pixels.</li> + <li><span style="color: #FF0000">Fixed:</span> <strong>TextSize</strong> and + <strong>FontDim</strong> in driver DXF.</li> + <li><span style="color: #FF0000">Fixed:</span> <strong>Font</strong> in the + X-Windows base driver, size parameter was incorrectly passed to the X-Windows. + <span style="color: #FF0000"><strong>WARNING</strong></span>: the result font + will have a size different than previous CD versions in X-Windows. </li> + <li><span style="color: #FF0000">Fixed:</span> <strong>Flush</strong> in + CD_DBUFFER driver, it was affected by the write mode state of the + buffered canvas.</li> + <li><span style="color: #FF0000">Fixed:</span> WC tranformation update when + the Window is invalid. Thanks to Marian Trifon.</li> + <li><span style="color: #FF0000">Fixed:</span> polygon filling in simulation + base driver.</li> + <li><span style="color: #FF0000">Fixed:</span> invalid resample in <strong> + PutImageRect</strong>* in GDI+ base driver cause a band with a mix of the + background color appear on right and bottom when image is zoomed in (larger + than original size).</li> +</ul> +<h3>Version 4.4 (12/Dec/2005)</h3> +<ul> + <li><span style="color: #0000FF">New:</span> CDLua for Lua 5. The CDLua for Lua 3 is now also totally compatible with the "cd." name space used in the + CDLUA for Lua 5. So the documentation now reflects only the new nomenclature although the old CDLua 3 names are still + valid<font color="#FF0000">.</font></li> + <li><span style="color: #0000FF">New:</span> attribute <font face="Courier New">"WINDOWRGN"</font> for the Native Windows and IUP drivers to set the shape + of a window to the current complex clipping region.</li> + <li><span style="color: #0000FF">New:</span> <b><font face="Courier New">cdlua_close</font></b> function to release the memory allocated by the <b> + <font face="Courier New">cdlua_open</font></b>.</li> + <li><span style="color: #0000FF">New:</span> <font face="Courier New">"ROTATE"</font> attribute for PS driver, GDI+ base driver and GDI base driver.</li> + <li><span style="color: #0000FF">New:</span> <font face="Courier New">CD_FILLSPLINE</font> and <font face="Courier New">CD_SPLINE</font> parameters for + cdBegin in GDI+ base driver.</li> + <li><span style="color: #0000FF">New:</span> support for complex regions for clipping using: <b><font face="Courier New">cdBox</font></b>, <b> + <font face="Courier New">cdSector</font></b>, <b><font face="Courier New">Polygons</font></b> and <b> + <font face="Courier New">cdText</font></b>. New: parameter <font face="Courier New">CD_REGION</font> for <b> + <font face="Courier New">cdBegin</font></b> to create the region, new parameter <font face="Courier New">CD_CLIPREGION</font> + for <b><font face="Courier New">cdClip</font></b> to select the region for clipping. + New: funtions to control regions: + <b><font face="Courier New">cdPointInRegion</font></b>, <b><font face="Courier New">cdOffsetRegion</font></b>, <b> + <font face="Courier New">cdRegionBox</font></b> and <b><font face="Courier New">cdRegionCombineMode</font></b>. + Valid only for the Windows GDI, GDI+ and X-Windows base drivers and their derived drives.</li> + <li><span style="color: #0000FF">New:</span> mode for <b><font face="Courier New">cdBegin</font></b>, <font face="Courier New">CD_BEZIER</font>.</li> + <li><span style="color: #0000FF">New:</span> filled primitive <b><font face="Courier New">cdChord</font></b>.</li> + <li><span style="color: #0000FF">New:</span> polygon fill rule control using <b><font face="Courier New">cdFillMode</font></b> with + <font face="Courier New">CD_EVENODD</font> (the default) and <font face="Courier New">CD_WINDING</font> parameters.</li> + <li><span style="color: #0000FF">New:</span> line cap and line join styles using <b><font face="Courier New">cdLineCap</font></b> and <b> + <font face="Courier New">cdLineJoin</font></b>.</li> + <li><span style="color: #0000FF">New:</span> typeface <font face="Courier New">CD_NATIVE</font> to indicate that a native font has been selected.</li> + <li><span style="color: #0000FF">New:</span> custom line style using <b><font face="Courier New">cdLineStyleDashes</font></b> and <b> + <font face="Courier New">cdLineStyle</font></b>(<font face="Courier New">CD_CUSTOM</font>). This replaces the + attribute "<font face="Courier New">USERLINESTYLE</font>".<br> + (All New:, when not specified the divers, are valid for all the drivers, except DXF, DGN e CGM.)</li> + <li><span style="color: #0000FF">New:</span> text utility function <b><font face="Courier New">cdTextBounds</font></b> that returns the oriented bounding + rectangle<font color="#FF0000">.</font> </li> + <li><span style="color: #0000FF">New:</span> <font face="Courier New">"IMAGEFORMAT"</font> and <font face="Courier New">"IMAGEALPHA"</font> attributes for + the Windows base driver.</li> + <li><span style="color: #0000FF">New:</span> In GDI+, the <font face="Courier New">CD_CLIPBOARD</font> driver supports EMF and BMP formats.</li> + <li><span style="color: #0000FF">New:</span> function <b><font face="Courier New">cdReleaseState</font></b> to release the memory allocated by a state. + The <b><font face="Courier New">cdRestoreState</font></b> does not release the memory anymore so it can be used + several times for the same state.</li> + <li><span style="color: #FF0000">Fixed:</span> Invalid cdKillImage in X-Windows when active canvas is not the canvas where the image was created.</li> + <li><span style="color: #FF0000">Fixed:</span> Text clipping for <font face="Courier New">CD_IMAGERGB</font> driver.</li> + <li><span style="color: #FF0000">Fixed:</span> fixed size in milimeter of <b><font face="Courier New">cdGetScreenSize</font></b> in Win32.</li> + <li><span style="color: #FF0000">Fixed:</span> fixed size of the EMF picture.</li> + <li><span style="color: #FF0000">Fixed:</span> fixed the parse of filenames with spaces for all file based drivers. The filename must be inside + double quotes (") if it has spaces.</li> + <li><span style="color: #FF0000">Fixed:</span> <b><font face="Courier New">cdSetAttribute</font></b> in Lua now can set nil values.</li> + <li><span style="color: #FF0000">Fixed:</span> fixed <b><font face="Courier New">cdSector</font></b> when interior style is <font face="Courier New"> + CD_HOLLOW</font>, to include two lines connecting to the center point.</li> + <li><span style="color: #FF0000">Fixed:</span> In GDI+, the NATIVEWINDOW driver ignored other data pointer configurations in <b> + <font face="Courier New">cdCreateCanvas</font></b>.</li> + <li><span style="color: #FF0000">Fixed:</span> In GDI+, <b><font face="Courier New">cdStipple</font></b> was not updated when the foreground or + background colors where changed.</li> + <li><span style="color: #FF0000">Fixed:</span> In GDI+, <b><font face="Courier New">cdSector</font></b> and <b><font face="Courier New">cdArc</font></b> + have incorrect angles.</li> + <li><span style="color: #FF0000">Fixed:</span> "simple.c" and "simple.zip" were outdated. Now new makefiles were added.</li> + <li><span style="color: #FF0000">Fixed:</span> in Windows base driver small incompatibility in cdNativeFont with the IUP FONT attribute.</li> + <li><span style="color: #008000">Changed:</span> Optimization flags now are ON when building the library in all platforms.</li> + <li><span style="color: #008000">Changed:</span> Upgraded Freetype to version 2.1.10. The CD library file size increased because of this. But we gain + a better text rendering for images.</li> + <li><span style="color: #008000">Changed:</span> Better organization of the documentation.</li> + <li><span style="color: #008000">Changed:</span> In Windows the NATIVEWINDOW driver now accepts a NULL pointer to draw in the entire screen.</li> + <li><span style="color: #008000">Changed:</span> Optimized <b><font face="Courier New">cdPutImageRGBARect</font></b> in Windows base driver.</li> + <li><span style="color: #008000">Changed:</span> Now by default CD will not print X-Windows messages. To enable you must set the CD_XERROR environment + variable.</li> + <li><span style="color: #008000">Changed:</span> The default fill rule for polygons in CD_PS is now the Even-Odd rule. Matching the other drivers.</li> + <li><span style="color: #008000">Changed:</span> Line Styles in GDI+ was corrected again to match GDI line styles when line width is not 1.</li> + <li><span style="color: #008000">Changed:</span> The native WC support in GDI+ was removed because of alignment and size problems, simulation will be used.</li> + <li><span style="color: #008000">Changed:</span> the EMF drivers now ignore the resolution parameter. For EMFs, the resolution is always the screen + resolution.</li> + <li><span style="color: #008000">Changed:</span> the value of following attributes were changed to strings <font face="Courier New">"IMAGEMASK"</font>, + <font face="Courier New">"IMAGEPOINTS"</font>, <font face="Courier New">"ROTATE"</font>, <font face="Courier New"> + "GRADIENTCOLOR"</font>, <font face="Courier New">"IMAGETRANSP"</font> and <font face="Courier New">"IMAGEFORMAT"</font>. + </li> + <li><span style="color: #008000">Changed:</span> in GDI+ base driver, the <b><font face="Courier New">cdBegin</font></b> modes <font face="Courier New"> + CD_IMAGEWARP</font> and <font face="Courier New">CD_GRADIENT</font> were moved to attributes <font face="Courier New"> + "IMAGEPOINTS"</font> and <font face="Courier New">"LINEGRADIENT"</font>. Mode <font face="Courier New">CD_PATHGRADIENT</font> + was renamed to <font face="Courier New">CD_FILLGRADIENT</font>, and <font face="Courier New">"PATHGRADIENT"</font> + attribute was renamed to <font face="Courier New">"GRADIENTCOLOR"</font>. Their definition was also changed.</li> + <li><span style="color: #008000">Changed:</span> <b><font face="Courier New">cdImageEx</font></b> was renamed to <b><font face="Courier New">cdBitmap</font></b>, + and now supports only client images. This will cause a conflict with a macro definition in <font face="Courier New"> + "im_image.h"</font> header of the IM toolkit. Include this header before <font face="Courier New">"cd.h"</font> and + inbetween set <font face="Courier New">"#undef cdPutBitmap"</font>. The IM macro will be changed in the next IM + version.</li> + <li><span style="color: #008000">Changed:</span> <b><font face="Courier New">cdText</font></b> is not dependent on the <b><font face="Courier New"> + cdBackOpacity</font></b> anymore. Text now is always transparent. If you need a box under the text use <b> + <font face="Courier New">cdTextBox</font></b> to calculate the dimensions for <b><font face="Courier New">cdBox</font></b>.</li> +</ul> +<h3>Version 4.3.3 (25/Aug/2004)</h3> +<ul> + <li><span style="color: #0000FF">New:</span> "USERLINESTYLE" attribute for the base GDI and X11 drivers.</li> + <li><span style="color: #0000FF">New:</span> "GC" attribute for the base X11 driver.</li> + <li><span style="color: #008000">Changed:</span> in the Native Window driver for the Windows system, the creation using a HDC can have an addicional + parameter for the canvas size.</li> + <li><span style="color: #008000">Changed:</span> in cdTextSize for the GDI+ base driver we now compensates the height in -10% to match the GDI height.</li> + <li><span style="color: #008000">Changed:</span> The GDI+ printer driver now returns the HDC attribute.</li> + <li><span style="color: #FF0000">Fixed:</span> fixed a bug in <b><font face="Courier New">cdNativeFont</font></b> for the GDI+ base driver.</li> + <li><span style="color: #FF0000">Fixed:</span> again fixed a rounding error in <b><font face="Courier New">cdPutImage*</font></b> for big zooms.</li> +</ul> +<h3>Version 4.3.2 (14/Apr/2004)</h3> +<ul> + <li><span style="color: #FF0000">Fixed:</span> in the Win32 and X-Win drivers the <font face="Courier New"><b>cdPutImageRGB</b></font> and + <font face="Courier New"><b>cdPutImageMap</b></font> functions when zooming bigger then the canvas where incorrectly + positioning the image by some pixels because of round errors.</li> +</ul> +<h3>Version 4.3.1 (07/Nov/2003)</h3> +<ul> + <li><span style="color: #FF0000">Fixed:</span> in the Win32 driver the clipping of <font face="Courier New"><b>cdPutImage*</b></font> functions when + zooming was wrong. In the DoubleBuffer driver the main canvas <font face="Courier New"><b>cdOrigin</b></font> can be + used to move the image in the swap operation (<font face="Courier New"><b>cdFlush</b></font>). In the GDI+ + DoubleBuffer driver there was an error in the <font face="Courier New"><b>cdFlush</b></font> when some primitive used + world coordinates directly in the main canvas.</li> +</ul> +<h3>Version 4.3 (06/Mar/2003)</h3> +<ul> + <li><span style="color: #0000FF">New:</span> the function <font face="Courier New"><b>cdlua_getcanvas</b></font> retreives the pointer of a canvas created + in Lua.</li> + <li><span style="color: #0000FF">New:</span> in Win32 the function <font face="Courier New"><b>cdUseContextPlus</b></font> change the behavior of the + Windows drivers NativeWindow, IUP, Image, Printer, EMF and Double Buffer to make them use the GDI+ for drawing. GDI+ + does not have support for XOR Write Mode, but it has other resources like: transparency, anti-aliasing, gradient + filling, bezier lines and filled cardinal splines. WC functions are directly implemented in the base driver. Two new + functions were created to support transparency in the CD color coding: <font face="Courier New"><b>cdEncodeAlpha</b></font> + and <font face="Courier New"><b>cdDecodeAlpha.</b></font>Check the documentation for more information.</li> + <li><span style="color: #008000">Changed:</span> the Lua binding is now distributed in the same package. There is only one version number.</li> + <li><span style="color: #FF0000">Fixed:</span> the PS header had same flaws, the character ":" was missing in some DCS attributes.</li> + <li><span style="color: #FF0000">Fixed:</span> screen resolution was wrong in the Win32 driver, this afects the size of the canvas in milimeters.</li> + <li><span style="color: #FF0000">Fixed:</span> in the Win32 driver the creation of a polygon for clipping does not activate the clipping.</li> + <li><span style="color: #FF0000">Fixed:</span> in the Win32 driver the function <font face="Courier New"><b>cdNativeFont</b></font> using "-d" + parameter need some ajusts. Also the returned string does not contains all the used parameters.</li> + <li><span style="color: #FF0000">Fixed:</span> in the Win32 driver the function <font face="Courier New"><b>cdPutImageRectRGBA</b></font> had a + positioning error.</li> +</ul> +<h3>Version 4.2 (20/July/2001)</h3> +<ul> + <li><span style="color: #008000">Changed:</span> in driver Win32, <font face="Courier New"><b>cdNativeFont</b></font> accepts parameter + <font face="Courier New">"-d"</font> on the font name to show the font-selection dialog.</li> + <li><span style="color: #008000">Changed:</span> the whole code can now be compiled as C++.</li> + <li><span style="color: #008000">Changed:</span> functions <font face="Courier New"><b>wdPattern</b></font> and <b><font face="Courier New">wdStipple</font></b> + were changed to make pattern deformation more uniform.</li> + <li><span style="color: #FF0000">Fixed:</span> in the Clipboard driver on Win32, when parameter <font face="Courier New">"-b"</font> was used the + image was not correctly copied.</li> + <li><span style="color: #FF0000">Fixed:</span> in certain moments, color vectors were being allocated with size 4 and should be + <font face="Courier New">"sizeof(long)"</font>. This was done to improve the compatibility with 64-bit systems.</li> + <li><span style="color: #FF0000">Fixed:</span> <font face="Courier New"><b>cdPutImageRectRGB</b></font> in driver ImageRGB had a memory-invasion + error in some cases when the image was placed in a negative coordinate.</li> +</ul> +<h3>Version 4.1.10 (04/May/2000)</h3> +<ul> + <li><span style="color: #008000">Changed:</span> the driver Native Windows in Win32 now also accepts an already created HDC handle as a parameter.</li> + <li><span style="color: #008000">Changed:</span> in the <font face="Courier New"><strong>cdPutImageMap</strong></font>* functions, in case the color + vector is null, a vector with 256 gray shades in assumed.</li> + <li><span style="color: #FF0000">Fixed:</span> <font face="Courier New"><b>cdRegisterAttribute</b></font> was not verifying whether the attribute had + already been registered.</li> + <li><span style="color: #FF0000">Fixed:</span> function <font face="Courier New"><b>cdArc</b></font> in the simulation driver (includes <strong> + ImageRGB</strong>) was returning without drawing anything in an incorrect test.</li> + <li><span style="color: #FF0000">Fixed:</span> function <font face="Courier New"><b>cdTextBox</b></font> was returning incorrect values when the text + had an orientation different from the default one in some alignment instances.</li> + <li><span style="color: #FF0000">Fixed:</span> in function <font face="Courier New"><b>cdRGB2Map</b></font> there was a memory invasion.</li> + <li><span style="color: #FF0000">Fixed:</span> the vector text simulation was not freeing the memory used for fonts loaded from files.</li> + <li><span style="color: #FF0000">Fixed:</span> in the Doubled Buffer driver in X-Windows there was an invalid memory liberation.</li> + <li><span style="color: #FF0000">Fixed:</span> in the Lua binding, in several functions receiving or returning tables, the first index was being + considered as 0, but in Lua they must be 1. This correction includes <font face="Courier New"><strong> + cdVectorTextTransform</strong>, <strong>cdGetVectorTextBounds</strong>, <strong>wdGetVectorTextBounds</strong>, + <strong>cdGetClipPoly</strong> </font>and<font face="Courier New"> <strong>wdGetClipPoly</strong></font>.</li> + <li><span style="color: #FF0000">Fixed:</span> when the PS driver generated EPS, it did not correctly add the description of the bounding box (a line + break was missing).</li> + <li><span style="color: #FF0000">Fixed:</span> the vector text drawing functions did not take into account the fact that the default font and the GKS + fonts were in ASCII standard. Now a conversion from ANSI to ASCII is made before these fonts are used for drawing.</li> + <li><span style="color: #FF0000">Fixed:</span> in the X-Win driver, an error in the X-Vertex library caused the texts in 90/270 degrees to be drawn + incorrectly.</li> + <li><span style="color: #FF0000">Fixed:</span> in the X-Win driver, the <font face="Courier New"><strong>cdPutImageMap</strong></font> functions were + generating a memory invasion when the X was in 16 bits.</li> + <li><span style="color: #FF0000">Fixed:</span> in the Win32 driver, very large non-filled polygons were not being drawn in Windows 9x. To correct + that, they were divided into smaller polygons.</li> +</ul> +<h3>Version 4.1 (24/Nov/99)</h3> +<ul> + <li><span style="color: #0000FF">New:</span> new basic Windows driver attributes that allow controling the internal simulation of pattern/stipple, XOR + text, and filled polygon ("<font face="Courier New">SIMXORTEXT</font>", "<font face="Courier New">SIMPATTERN8X8</font>", + "<font face="Courier New">PENFILLPOLY</font>"). New: attribute for returning the HDC of the Windows canvas.</li> + <li><span style="color: #0000FF">New:</span> the PS driver accepts landscape orientation as a parameter. + New: "<font face="Courier New">POLYHOLE</font>" + attribute allows controling the number of holes in a closed polygon. New: "<font face="Courier New">-1</font>" + parameter forces a level 1 Postscript. New: "<font face="Courier New">-g</font>" parameter adds comments to the PS file + in order to better explain what is done. New: "<font face="Courier New">CMD</font>" attribute saves a string to the + file.</li> + <li><span style="color: #0000FF">New:</span> new environment variable, <font face="Courier New">CD_QUIET</font>, does not display in <em>stdout</em> the + library's version information.</li> + <li><span style="color: #0000FF">New:</span> two new exclusive functions for the Native Window driver: <font face="Courier New"><b>cdGetScreenColorPlanes</b></font> + and <font face="Courier New"><b>cdGetScreenSize</b></font>.</li> + <li><span style="color: #0000FF">New:</span> new CD_DBUFFER driver implements a <em>double buffer</em> using a server image.</li> + <li><span style="color: #0000FF">New:</span> new attributes in the ImageRGB driver: "<font face="Courier New">REDIMAGE</font>", "<font face="Courier New">GREENIMAGE</font>" + and "<font face="Courier New">BLUEIMAGE</font>".</li> + <li><span style="color: #0000FF">New:</span> new functions <font face="Courier New"><b>wdGetVectorTextBounds</b></font> and <font face="Courier New"><b> + cdGetVectorTextBounds</b></font> to obtain the bounding box of the vector text.</li> + <li><span style="color: #0000FF">New:</span> new <font face="Courier New"><b>wdGetFont</b></font> function. It is equivalent to <font face="Courier New"> + <strong>cdGetFont</strong></font>, but the returned size is in millimeters.</li> + <li><span style="color: #FF0000">Fixed:</span> the management of WD functions was incomplete for functions <font face="Courier New"><strong>cdPixel</strong>, + <strong>cdVertex</strong> </font>and<font face="Courier New"> <strong>cdPutImage</strong></font>*. This resulted in a + wrong or out of the canvas positioning. It only affects drivers PS and METAFILE.</li> + <li><span style="color: #FF0000">Fixed:</span> function <font face="Courier New"><b>cdActivate</b></font> in Lua was not returning the correct + values.</li> + <li><span style="color: #FF0000">Fixed:</span> when the image was partially out of the window, above or below, functions <font face="Courier New"> + <strong>cdPutImageMap</strong></font> and <font face="Courier New"><strong>RGB</strong></font> were drawing a wrong + portion of the image.</li> + <li><span style="color: #FF0000">Fixed:</span> in the CGM driver, after opening the file of the <font face="Courier New"><strong>cdPlay</strong></font> + function, the check to see if the opening had been successful was not being done.</li> + <li><span style="color: #FF0000">Fixed:</span> when the active canvas was already <font face="Courier New">NULL</font>, the activation of a + <font face="Courier New">NULL</font> canvas was generating a memory invasion.</li> + <li><span style="color: #FF0000">Fixed:</span> in the creation of EPS, the PS driver was adding a wrong call to <font face="Courier New"> + setpagedevice</font>. The <font face="Courier New"><strong>cdPutImageMap</strong></font> function was modifying the + wrong PS parameter in the file. The margin clipping was not saved when the drawing's clipping area was changed. The + clipping area, when drawing in WD, was being incorrectly modified.</li> + <li><span style="color: #FF0000">Fixed:</span> in the IMAGERGB driver, functions <font face="Courier New"><b>cdRedImage</b>, <b>cdBlueImage</b> + </font>and<font face="Courier New"> <b>cdGreenImage</b></font> were returning invalid pointers.</li> + <li><span style="color: #FF0000">Fixed:</span> when initializing text simulation functions, the opened font file was not being closed. This affected + all CD drivers, but was only apparent in the application that opened and closed many drivers.</li> + <li><span style="color: #FF0000">Fixed:</span> the approximate computation of the text size was not accepting sizes in pixels.</li> + <li><span style="color: #FF0000">Fixed:</span> the creation of the IMAGERGB driver in Lua was incorrect when the resolution parameter (which is + optional) was not specified.</li> + <li><span style="color: #FF0000">Fixed:</span> functions <font face="Courier New"><b>cdGetClipPoly</b></font> and <font face="Courier New"><b> + wdGetClipPoly</b></font> in Lua were causing memory invasion.</li> + <li><span style="color: #008000">Changed:</span> in the PS driver, when the Map image is actually a grayscale, function <font face="Courier New"> + <strong>cdPutImageMap</strong></font> uses an 8 bit image, thus saving memory. Level 2 Postscript functions + <font face="Courier New">rectfill, rectstroke</font> and <font face="Courier New">rectclip</font> are now used. The + comments in DCS were updated to DCS version 3 and were increased to improve the document's portability.</li> + <li><span style="color: #008000">Changed:</span> in driver X-Windows, the text drawing attribute was implemented with any orientation.</li> + <li><span style="color: #008000">Changed:</span> function <font face="Courier New"><b>cdVersion</b></font> in Lua now behaves just like in C. A global Lua + variable, <font face="Courier New"><b>CDLUA_VERSION</b></font>, was created containing the version of the Lua binding + library - for example: "CDLua 1.3.0".</li> + <li><span style="color: #008000">Changed:</span> function <font face="Courier New"><b>cdVectorTextTransform</b></font> now returns the previsous + transformation matrix.</li> +</ul> +<h3>Version 4.0.1 (05/Mar/99)</h3> +<ul> + <li><span style="color: #FF0000">Fixed:</span> in the Windows driver, the polygon simulation with pattern was corrected to polygons with repeated + points.</li> + <li><span style="color: #FF0000">Fixed:</span> in the Windows driver, function <font face="Courier New"><strong>cdNativeFont</strong></font> was + corrected for IUP fonts. It was affecting the Matrix's visualization.</li> + <li><span style="color: #FF0000">Fixed:</span> function <font face="Courier New"><strong>cdNativeFont</strong></font> was wrongly testing its input + parameter and always returning.</li> + <li><span style="color: #FF0000">Fixed:</span> in the drivers IUP and Native Window, the <font face="Courier New"><strong>cdGetCanvasSize</strong></font> + function was corrected. When the window size was changed, the values in millimeters were not updated to + <font face="Courier New"><strong>cdActivate</strong></font>.</li> + <li><span style="color: #FF0000">Fixed:</span> in the CGM driver, function <font face="Courier New"><strong>cdPlay</strong></font> was generating + problems in reading and displaying cell arrays. When the <font face="Courier New"><strong>cdCreateCanvas</strong></font> + function used the default values for dimensions and resolution, it generated files with errors.</li> + <li><span style="color: #008000">Changed:</span> in the X-Windows driver, function <font face="Courier New"><strong>cdPixel</strong></font> was + optimized. It now compares the color to the foreground color and reuses the value.</li> +</ul> +<h3>Version 4.0 (18/Feb/99)</h3> +<ul> + <li><b>Summary</b>: (necessary due to the great number of changes).<br> + - Update of the Lua binding.<br> + - Several changes in the internal structure (most bringing benefits only to the driver developer).<br> + - Countless corrections. <br> + - Small changes in the functions <font face="Courier New"><b>cdHatch</b>, <b>cdScrollImage</b>, <b>cdFont</b> </font> + and<font face="Courier New"> <b>cdPlay</b></font>. <br> + - Optimization of functions <font face="Courier New"><b>wdVectorFont</b></font> and <font face="Courier New"><b> + cdMark</b></font>. <br> + - New: functions: <br> + <font face="Courier New"><b>cdCreateCanvasf, cdGetContext,</b> <strong>cdContextCaps</strong>, <strong> + cdSaveState, cdRestoreState</strong>, <strong> cdSetAttribute, cdGetAttribute</strong><br> + <b> cdOrigin, cdRect, wdRect, cdGetFont,</b> <strong>cdGetStipple</strong>, <strong>cdGetPattern</strong>, <strong> + cdTextBox</strong><br> + <b> cdPutImageRectRGB</b>, <b>cdPutImageRectRGBA</b>, <b>cdPutImageRectMap,</b> <br> + <b> cdCreateImageEx</b>, <b>cdKillImageEx</b>, <b>cdPutImageEx</b>, <b>cdGetImageEx</b></font>. <br> + - New: WD functions: <font face="Courier New"><b>wdHardcopy, wdPattern, wdStipple, wdPixel, wdPutImageRect, + wdPutImageRectRGB</b>, <b>wdPutImageRectRGBA</b> </font>and<font face="Courier New"> <b>wdPutImageRectMap</b></font>. + <br> + - New: vector text functions: <font face="Courier New"><strong>cdVectorFont, cdVectorTextDirection, + cdVectorTextTransform, cdVectorTextSize, cdGetVectorTextSize, cdVectorCharSize, cdVectorText </strong></font>and<font face="Courier New"><strong> + cdMultiLineVectorText</strong></font>.<br> + - <font face="Courier New"><b>wdActivate</b></font> is no longer necessary. <br> + <b>-</b> Driver IMAGERGB complete.<br> + - Driver SIMULATE no longer exists; now function <font face="Courier New"><strong>cdSimulate</strong></font> must be + used. <br> + - New: driver DIRECTDRAW. <br> + - Policy change of <font face="Courier New"><b>cdPalette</b></font> in the X-Windows driver<br> + - IUP driver is now in a separate library.</li> +</ul> +<p>IMPORTANT NOTE: This version is not totally compatible to the previous one. The applications using the driver IUP +must be relinked, as this driver is now in a separate library, "<strong>cdiup</strong>". The Lua applications must also +be modified to include a call to function <font face="Courier New"><strong>cdluaiup_open</strong></font> after +<font face="Courier New"><strong>cdlua_open</strong></font>, and must be linked with the "<strong>cdluaiup</strong>" +library. The SIMULATE driver no longer exists, therefore the applications that used it must be modified to use the new +function, <font face="Courier New"><strong>cdSimulate</strong></font>, without the need for creating a new driver.</p> +<ul> + <li>Changed: the internal structure of the library was changed once again. One of the purposes is to make the + drivers become independent from the function table. With this change, adding a new function to the function table does + not imply editing the old drivers. We also allowed the drivers not to implement functions that do not make sense in + their context. Another modification simplifying the work in the drivers was to bring the attribute query mechanism to + the library's control part, freeing the drivers from this obligation. Taking the chance, we determined that a change + in an attribute to a value equal to the current one will not be effective, thus saving calls to the driver. Now, the + value of an attribute is changed even if the driver function is not implemented, as the driver can query this + attribute later on. The management of default values of the attributes is also done by the library's control part. All + these changes prepare the library to a new philosophy: before, if a driver did not contain a certain feature, it + simply did nothing. The new philosophy will be: if a driver does not contain a certain feature, then the simulation of + this feature will be activated.</li> + <li>Changed: when a canvas which is already active is activated again, an internal driver function is now called, + notifying an update instead of an activation.</li> + <li>Changed: the use of the CD canvas with a IUP canvas is better described in the manual, showing the various + ways of treating the canvas creation prooblem.</li> + <li>Changed: all functions in the control module now have <font face="Courier New">ASSERT</font> directives. Thus, + using the library with depuration information, one can better detect simple errors.</li> + <li>Changed: in order to use the IUP driver, it must be linked with the "<strong>cdiup</strong>" library, apart + from the "<strong>cd</strong>" library (<font face="Courier New">cdiup.lib</font> in Windows, <font face="Courier New"> + cdiuplib.a</font> in UNIX).</li> + <li>Changed: the IMAGERGB driver is now implemented using the simulation functions.</li> + <li>Changed: the <font face="Courier New"><b>cdMark</b></font> function is back to the function table, so that the + drivers in which the primitive can be implemented can profit from it.</li> + <li>Changed: in order to assure that the use of server images is done only between canvases of the same driver, or + of the same basic driver, an internal structure was defined for the server image containing the functions of the + driver from which the image was created. Thus, if the <font face="Courier New"><b>cdKillImage</b></font> function is + called with an active canvas of a different kind from that in which the image was created, the + <font face="Courier New"><b>KillImage</b></font> function of the correct driver will be called.</li> + <li>Changed: in the X-Windows driver, the XV code was used to optimize functions <font face="Courier New"><strong> + cdPutImageRectRGB</strong></font> and <font face="Courier New"><strong>cdPutImageRectMap</strong></font>.</li> + <li>Changed: the Lua binding was updated. Now the user guide contains Lua function together with C functions.</li> + <li>Changed: in the X-Windows driver, <font face="Courier New"><b>cdPalette</b></font>'s policy was changed to fulfill + the requirements of some applications, which wanted to force a palette. Please see the function's documentation in the + driver.</li> + <li>Changed: the CGM driver used to always store the <font face="Courier New"><strong>cdForeground</strong></font> + attribute before drawing a primitive; now it stores the attribute only when it is changed. The + <font face="Courier New"><strong>cdBackOpacity</strong></font> function was not implemented. The + <font face="Courier New"><strong>cdFlush</strong></font> function was not preserving the canvas attributes. Now when + the canvas size is not specified in the <font face="Courier New"><strong>cdCreateCanvas</strong></font> function, the + VDC Extension saved to the file is the figure's bounding rectangle. The patterns and/or stipples selected were being + stored in a way so that only the first one was valid.</li> + <li>Changed: the documentation of the old DOS driver was removed from the user guide.</li> + <li>Changed: the default resolution for drivers DGN, DXF, METAFILE, CGM and ImageRGB is no longer 1 but 3.8 points per + mm (96 DPI).</li> + <li>Changed: in the <font face="Courier New"><b>cdInteriorStyle</b></font> function, if stipple or pattern are not + defined, the state of the attribute is not modified. There is no longer a default 32x32 pattern or stipple.</li> + <li>Changed: in functions <font face="Courier New"><b>cdFontDim</b></font> and <font face="Courier New"><b>cdTextSize</b></font>, + if the driver does not support this kind of query, the values are estimated.</li> + <li>Changed: function <font face="Courier New"><b>cdHatch</b></font> now returns the previous value.</li> + <li>Changed: function <font face="Courier New"><b>cdScrollImage</b></font> is now called <font face="Courier New"><b> + cdScrollArea</b></font>, better reflecting its functionality, since it does not require any explicitly defined image + to be performed. The old function is maintained to assure compatibility with old applications.</li> + <li>Changed: the <font face="Courier New"><b>cdPlay</b></font> function now accepts all window parameters null. In this + case, the primitives in the file are interpreted without scaling.</li> + <li>Changed: <font face="Courier New"><b>cdFont</b></font>now accepts font sizes in pixels when negative values are + used as a parameter.</li> + <li>Changed: the WD functions were included in the library's function table, so that the drivers can use floating point + precision when storing primitives. Presently, only the drivers PS and METAFILE have this resource directly + implemented. With this change, the <font face="Courier New"><b>wdActivate</b></font> function became obsolete and is + no longer necessary. For purposes of compatibility with other applications, it was maintained only as a call to + function <font face="Courier New"><b>cdActivate</b></font>.</li> + <li>Changed: drivers EMF and WMF now accept the resolution as a parameter.</li> + <li>New: internal modification of the Windows driver to allow the creation of the DirectDraw driver.</li> + <li>New: DirectDraw driver to accelerate video access to high-performance applications.</li> + <li>New: function <font face="Courier New"><b>cdInteriorStyle</b></font> now accepts style <font face="Courier New"> + CD_HOLLOW</font>. When this style is defined, the <font face="Courier New"><b>cdBox</b></font> and + <font face="Courier New"><b>cdSector</b></font> functions behave like their equivalents <font face="Courier New"><b> + cdRect</b></font> and <font face="Courier New"><b>cdArc</b></font>, and the polygons with the <font face="Courier New"> + CD_FILL</font> style behave like <font face="Courier New">CD_CLOSED_LINES</font>.</li> + <li>New: new functions:<br> + - <font face="Courier New"><b>cdCreateCanvasf</b></font> accepts parameters equivalent to <font face="Courier New"><b> + sprintf</b></font>, helping in the creation of some canvases.<br> + - <font face="Courier New"><b>cdOrigin</b></font> allows translating the origin - for instance, to the center of the + canvas.<br> + - <font face="Courier New"><b>cdGetContext</b></font> returns the context of a given canvas; it can be compared with + predefined contexts, such as "<font face="Courier New">CD_PS</font>".<br> + - <strong><font face="Courier New">cdSaveState</font> </strong>and<strong> <font face="Courier New">cdRestoreState</font></strong> + allow saving and restoring the state of attributes of the active canvas.<br> + <strong>- <font face="Courier New">cdSetAttribute</font> </strong>and<strong> <font face="Courier New">cdGetAttribute</font></strong> + allow passing customized attributes to the driver, which are ignored if the driver does not have the attribute + defined.<br> + - <font face="Courier New"><strong>cdContextCaps</strong></font> returns a combination of several flags informing the + available resources of the canvas in that context.<br> + - Driver SIMULATE no longer exists. Now function <font face="Courier New"><strong>cdSimulate</strong></font> must be + used. The simulation can be activated and deactivated at any moment.<br> + - <font face="Courier New"><b>cdRect</b></font> and <font face="Courier New"><b>wdRect</b></font> allow drawing a box + with no filling.<br> + - <font face="Courier New"><b>cdGetFont</b></font> returns the values of the font modified by function + <font face="Courier New"><b>cdFont</b></font> and ignores those modified by <font face="Courier New"><b>cdNativeFont</b></font>.<br> + - <font face="Courier New"><strong>cdTextBox</strong></font> returns the horizontal bounding rectangle of the text + box, even if it is bended.<br> + - <font face="Courier New"><strong>cdGetStipple</strong></font> and <font face="Courier New"><strong>cdGetPattern</strong></font> + return current stipple and pattern. With these functions and with function <font face="Courier New"><strong>cdGetFont</strong></font>, + one can now totally change and restore the attributes of a given canvas.<br> + - <font face="Courier New"><b>wdPattern</b></font> and <font face="Courier New"><b>wdStipple</b></font> allow + specifying the style in world coordinates. The size of the image is modified to the specified size in millimeters.<br> + - functions <font face="Courier New"><b>cdPutImageRectRGB</b>, <b>cdPutImageRectRGBA</b> and <b> + cdPutImageRectMap</b></font> allow specifying a rectangle in the image to be used for the drawing instead of the whole + image.<br> + - <font face="Courier New"><b>wdPixel, wdPutImageRect</b>,<b> wdPutImageRectRGB</b>, <b>wdPutImageRectRGBA</b> </font> + and<font face="Courier New"> <b>wdPutImageRectMap</b></font> are equivalent to <font face="Courier New"><b>cdPixel</b>,<b> + cdPutImageRect</b>,<b> cdPutImageRectRGB</b>, <b>cdPutImageRectRGBA</b> </font>and<font face="Courier New"> <b> + cdPutImageRectMap</b></font>, respectively, but the target coordinates are specified in world coordinates.<br> + - New: vector text functions: <font face="Courier New"><strong>cdVectorFont</strong>,<strong> cdVectorTextDirection</strong>,<strong> + cdVectorTextTransform</strong>,<strong> cdVectorTextSize</strong>,<strong> cdGetVectorTextSize</strong>,<strong> + cdVectorCharSize</strong>,<strong> cdVectorText</strong>,<strong> cdMultiLineVectorText</strong></font>. The vector + text can now be used without the need of world coordinates. Functions <strong><font face="Courier New">wdVectorFont</font> + </strong>and<strong> <font face="Courier New">wdVectorTextTransform</font></strong> have become obsolete, though they + still exist for compatibility reasons.<br> + - <font face="Courier New"><strong>wdHarcopy</strong></font> helps drawing WD primitives in devices, adjusting Window + and Viewport.<br> + - Auxiliary functions were created to manipulate all sorts of images in a single way, being either client, RGB, RGBA, + MAP, or server images: <font face="Courier New"><b>cdCreateImageEx</b>, <b>cdKillImageEx</b>, <b>cdPutImageEx</b>, <b> + cdGetImageEx</b></font>, etc.</li> +</ul> +<ul> + <li>Fixed: the documentation of function <font face="Courier New"><b>cdFont</b></font> was confusing, causing + errors in the conversion from pixels to points.</li> + <li>Fixed: function <font face="Courier New"><b>wdFont</b></font> was making a wrong conversion of the font size + parameter from millimeters to points.</li> + <li>Fixed: functions <font face="Courier New"><b>wdVectorText</b></font> and <font face="Courier New"><b> + wdMultiLineVectorText</b></font> were generating an extra polygon when the text contained blank spaces in certain + positions.</li> + <li>Fixed: the PS driver was not prepared for marked texts. Function <font face="Courier New"><strong>cdFlush</strong></font> + did not preserve current attributes. The interior style was affecting line drawing. The text alignment now takes into + account an estimation for the baseline. Function <font face="Courier New"><strong>cdTextOrientation</strong></font> + was implemented. The world coordinate functions were implemented directly in the driver. Hatch and stipple interior + styles were implemented, but they are still only opaque.</li> + <li>Fixed: in the X-Windows driver, function <font face="Courier New"><b>cdGetColorPlanes</b></font> was + returning 8 bpp even if the canvas was 24 bbp when the default visualization was different from the canvas' + visualization in that X server. Text position on the screen was above the one entered. Function + <font face="Courier New"><b>cdFont</b></font> was looping in certain conditions. Function <font face="Courier New"><b> + cdEnd</b></font> in the X-Windows driver in the AIX system was generating an error and aborting the program if only + one point of the polygon was specified. Dashed lines were always opaque, ignoring the <font face="Courier New"> + <strong>cdBackOpacity</strong></font> attribute.</li> + <li>Fixed: in the Clipboard driver for X-Windows, a parameter was missing which prevented it from working + properly. Before the update, it used that of the IUP/Native Window active canvas.</li> + <li>Fixed: in the Windows driver, the text position on the screen was above the position provided. Filled + polygons had a one pixel error to the right and below due to the small <font face="Courier New">NULL</font> used. + Fillings with hatch, pattern and stipple still contain errors. The internal simulation of polygons filled with pattern + and stipple was also corrected; they had one additional pixel to the right and below. Text alignment treatment was + improved.</li> + <li>Fixed: driver WMF now has text alignment.</li> + <li>Fixed: in the PRINTER (Windows) driver, function<font face="Courier New"><strong> cdFlush</strong></font> was + not preserving current attributes.</li> + <li>Fixed: in the CGM driver, the text align interpretation was corrected. The <font face="Courier New"><strong> + cdMark</strong></font> function is implemented directly in the driver. Function <font face="Courier New"><strong> + cdBackOpacity</strong></font> was implemented. Mark interpretation was also corrected.</li> + <li>OPTIMIZATION: function <font face="Courier New"><b>wdVectorFont</b></font> only loads the new font if it is + different from the current one.</li> + <li>OPTIMIZATION: function <font face="Courier New"><b>cdMark</b></font> now modifies fill and line attributes only if + they are different from the one needed to draw the mark.</li> +</ul> +<h3>Version 3.6 (05/May/98)</h3> +<ul> + <li>Fixed: / Win32: every time the clipping region changed the old region was not deleted.</li> + <li>New: new function <font face="Courier New"><strong>cdRGB2Map</strong></font>, which converts an RGB image into a + 256 indexed-colors image. It is the same algorithm used in the IM library - in fact, it is the same code.</li> + <li>Changed: the <font face="Courier New"><strong>cdMark</strong></font> function now uses the <strong> + <font face="Courier New">cdPixel</font></strong> function when drawing a mark of 1 pixel size.</li> + <li>Changed: / Win32: the <font face="Courier New"><strong>cdPixel</strong></font> function now uses the <strong> + <font face="Courier New">SetPixelV</font></strong> function when not under Win32s. This function is faster than the + <strong><font face="Courier New">SetPixel</font></strong> function because it does not return the old value.</li> + <li>Changed: / Win32: the polygon used for clipping is now optimized to not include 3 points that are in the same + horizontal or vertical line.</li> + <li>Fixed: / WD: the <font face="Courier New"><strong>wdVectorText</strong></font> function was not drawing + correctly when extended characters (>128) were used.</li> + <li>Fixed: / X: the <font face="Courier New"><strong>cdPalette</strong></font> function and the color management + for canvases with only 256 colors were wrong. Each canvas had its own management, now all canvases in the same + aplication use the same management.</li> + <li>Fixed: / X: several resource and memory leaks were corrected.</li> + <li>Fixed: / IMAGERGB: functions <font face="Courier New"><strong>cdRedImage</strong></font>, + <font face="Courier New"><strong>cdGreenImage</strong></font> and <font face="Courier New"><strong>cdBlueImage</strong></font> + were not returning the correct pointer.</li> + <li>Fixed: / SunOS: drivers IMAGERGB, SIMULATE and NATIVEWINDOW use the "%p" format string, but in the SunOS + they use "%d" because of an internal bug of the run time library of this OS.</li> + <li>Changed: / IUP: driver IUP sets the <strong><font face="Courier New">cdCanvas</font></strong> function as an + attribute of the <strong><font face="Courier New">IupCanvas</font></strong> passed as a parameter using the name + "_CD_CANVAS".</li> + <li>MANUAL: the manual appearance was changed to match the new Tecgraf standard.</li> +</ul> +<h3>Version 3.5 (07/Jan/98)</h3> +<ul> + <li>New: the <font face="Courier New"><strong>cdTextDirection</strong></font> function allows raster text to be drawn + in any direction. Up to now it is implemented only in the basic Win32 driver.</li> + <li>Fixed: / X / NativeWindow: the canvas was not created if the screen was 0.</li> + <li>Fixed: / Win32 / NativeWindow: now the driver considers the existence of non owner-draw device contexts.</li> + <li>Fixed: / Win32: function <font face="Courier New"><strong>cdClipArea</strong></font> was not including + <font face="Courier New">xmax</font> and <font face="Courier New">xmin</font> in the clipping area.</li> + <li>Changed: the <font face="Courier New"><strong>cdCallback</strong></font> typedef was defined, being useful for + type casting when calling the <font face="Courier New"><strong>cdRegisterCallback</strong></font> function.</li> + <li>Fixed: / Win32: a compatibility problem with the <font face="Courier New"><strong>cdNativeFont</strong></font> + string and the <font face="Courier New">WINFONT IUP</font> attribute was corrected.</li> + <li>Changed: / Win32: the <font face="Courier New"><strong>cdPutImageRGB</strong></font> and + <font face="Courier New"><strong>cdPutImageMap</strong></font> functions use a cache memory for best performance.</li> + <li>Fixed: text size estimation for the CGM and PS drivers now uses Courier + New: as the "System" font. As it was, + it was causing a memory invasion.</li> +</ul> +<h3>Version 3.4 (12/Nov/97)</h3> +<ul> + <li>Changed: / X: memory use of the <font face="Courier New"><strong>cdPutImageRGB</strong></font>, + <font face="Courier New"><strong>cdPutImageRGBA</strong></font> and <font face="Courier New"><strong>cdPutImageMap</strong></font> + functions was optimized, as well as the performance of the <font face="Courier New"><strong>cdPutImageMap</strong></font> + function.</li> + <li>Changed: / X and Win32: when the canvas has bpp <= 8, function <strong><font face="Courier New">cdPutImageRGB</font> + </strong>converts the image into Map before displaying it.</li> + <li>Changed: / X and Win32: if a font's parameters are the same as the current parameters, the + <font face="Courier New"><strong>cdFont</strong></font> function does nothing.</li> + <li>DOC / PS: the "-d" parameter for the EPS option was not documented.</li> + <li>Fixed: / PS: parameters "-w" and "-h" were incorrectly interpreted.</li> + <li>Fixed: / X: the internal function names were generating an error in the VMS plataform.</li> + <li>Fixed: / X: the <font face="Courier New"><strong>cdKillCanvas</strong></font> function was freeing some + pointers of the active canvas.</li> + <li>Changed: / Win32: the <font face="Courier New"><strong>cdVertex</strong></font> function now ignores duplicate + points.</li> + <li>Changed: / Win32: the <font face="Courier New"><strong>cdNativeFont</strong></font> function also accepts the + font string of the <font face="Courier New">WINFONT IUP</font> attribute.</li> + <li>Fixed: / DXF: corrections in color conversion and in the <strong><font face="Courier New">cdArc</font></strong> + function for small radius were made, and an unnecessary identation was removed.</li> +</ul> +<h3>Version 3.3 (19/Sep/97)</h3> +<ul> + <li>Changed: / X: the <strong><font face="Courier New">cdFont</font></strong> function now has a better heuristic + to find a closer font if the requested font does not match an available one.</li> + <li>Changed: / X: the <strong><font face="Courier New">cdPattern</font></strong> and <strong> + <font face="Courier New">cdStipple</font></strong> functions now use a bitmap cache to store the <em>pixmap</em> and + do not recreate it if the size is not changed.</li> + <li>Fixed: / X and Win32: the <strong><font face="Courier New">cdPutImageRect</font></strong> function was placing + the bitmap in a wrong position.</li> + <li>Fixed: / Win32: the <strong><font face="Courier New">cdCreateImage</font></strong> function did not return + <font face="Courier New">NULL</font> when the creating failed.</li> + <li>Changed: / Win32: the <font face="Courier New"><strong>cdPutImageRGB</strong></font>, <font face="Courier New"> + <strong>cdPutImageRGBA</strong></font> and <font face="Courier New"><strong>cdPutImageMap</strong></font> functions + were largely optimized when the picture displayed is larger than the screen.</li> + <li>Changed: / WMF: using the <font face="Courier New"><strong>cdPlay</strong></font> function we discovered that + the size of the picture was incorrect in the header file, so we first had to calculate the bounding box and then + interpret the picture.</li> + <li>Changed: / PS and CGM: now the <font face="Courier New"><strong>cdFontDim</strong></font> and + <font face="Courier New"><strong>cdTextSize</strong></font> functions return approximate dimensions, instead of + nothing.</li> + <li>Fixed: / PS: the default font was not being set when the canvas was created.</li> + <li>Fixed: / PS: text alignment was incorrect in the vertical direction.</li> + <li>Fixed: / SIM: the clipping algorithm of the <font face="Courier New"><strong>cdPixel</strong></font> function + of the Simulation driver was corrected.</li> + <li>Fixed: / CD: now you can activate a <font face="Courier New">NULL</font> canvas. When you get the active + canvas and restore it, if it was <font face="Courier New">NULL</font> the <strong><font face="Courier New">cdActivate</font></strong> + function was accessing an invalid pointer.</li> + <li>MANUAL: several changes were made on the online manual structure, and were added to the CDLua page.</li> +</ul> +<h3>Version 3.2</h3> +<ul> + <li>A problem in the <font face="Courier New"><strong>cdFlush</strong></font> function in the Postscript driver was + corrected. It was not setting the scale.</li> + <li>Functions <font face="Courier New"><strong>wdFontDim</strong></font> and <font face="Courier New"><strong> + wdTextSize</strong></font> now check if the return pointers are not <font face="Courier New">NULL</font>.</li> + <li>An internal function in the DGN driver was drawing an ellipse with two times the axis size.</li> + <li>The <font face="Courier New"><strong>cdFont</strong></font> function was corrected to store the font names in the + CGM driver.</li> +</ul> +<h3>Version 3.1</h3> +<ul> + <li>Several minor bugs in the Win32 Printer driver and in the Postscript driver were corrected. The EPS mode of the PS + driver now generates a "showpage" PS function so it can be printed.</li> + <li>The Clipboard driver was implemented in Motif. The <font face="Courier New"><strong>cdPlay</strong></font> + function was implemented in the Motif and Win32 Clipboard drivers.</li> + <li>The <font face="Courier New"><strong>cdRegisterCallback</strong></font> function was added to allow the + customization of the <font face="Courier New"><strong>cdPlay</strong></font> function's behavior.</li> + <li>The <font face="Courier New"><strong>wdVectorTextTransform</strong></font> function allows a 2D transformation + applied to any vector text.</li> + <li>Now the Simulation driver has several levels of simulation, and the simulation was improved with pattern and + clipping simulation.</li> +</ul> +<h3>Version 3.0</h3> +<ul> + <li>The library's architecture underwent several changes. The function tables are no longer public, only the drivers + know its structure. This means that we have eliminated the need to recompile applications that use the dynamic library + when we change something in the function table. There are some other benefits, like the fact that the Windows DLL can + now be implemented and that it is more simple to explain the library to new users, so they will not be confused by the + <font face="Courier New">cdprivat.h</font> header.</li> + <li>Corrections to the text alignment of the <font face="Courier New"><strong>wdVectortext</strong></font> function + were made.</li> + <li>Memory allocation of the <font face="Courier New"><strong>cdPattern</strong></font> and <font face="Courier New"> + <strong>cdStipple</strong></font> functions in the basic Windows driver was corrected.</li> + <li>Memory release of the <font face="Courier New"><strong>cdKillCanvas</strong></font> function in the basic Windows + driver was corrected.</li> + <li>The <font face="Courier New"><strong>cdPattern</strong></font> function was implemented in the Postscript driver, + and the <font face="Courier New"><strong>cdPutImageRGB</strong></font> and <font face="Courier New"><strong> + cdPutImageMap</strong></font> functions now write color images.</li> + <li>The <font face="Courier New"><strong>cdPattern</strong></font> function was corrected in the basic X-Windows + driver for use with clipping.</li> + <li>The compiler directive <font face="Courier New">#include<<strong>malloc.h</strong>></font> was changed to + <font face="Courier New">#include<<strong>stdlib.h</strong>></font> in several modules for better compatibility with + other compilers.</li> + <li>The <font face="Courier New"><strong>cdPlay</strong></font> function now accepts the viewport rectangle where the + drawing will be rendered.</li> + <li>Several navigation changes were made to the user guide pages.</li> + <li>A <strong>new</strong> CD_SIMULATE driver was created. Use it to replace some primitives and to handle attributes + of another driver. It can be used with any other driver. Basically, it substitutes the interior style of dependent + primitives: box, sector and filled polygons. It also substitutes the clipping methods of these primitives.</li> + <li>The Windows DLL version of the library was created.</li> +</ul> +<h3>Version 2.2.1</h3> +<ul> + <li>Interrnal macros that affect <font face="Courier New"><strong>wdArc</strong></font> and <font face="Courier New"> + <strong>wdSector</strong></font> were corrected.</li> + <li>The CGM driver now supports some client image functions.</li> + <li>Hatch styles in the Image RGB driver were corrected.</li> +</ul> +<h3>Version 2.2.0</h3> + + <p><strong>New: Functions:</strong></p> + + <p><font face="Courier New"><strong>cdVersion</strong></font> - returns the current library version.<br> + <font face="Courier New"><strong>cdNativeFont</strong></font> - sets a native font.<br> + <font face="Courier New"><strong>cdPutImageRect</strong></font> - same as <strong><font face="Courier New"> + cdPutImage</font></strong> but you may specify a part of the image.<br> + <font face="Courier New"><strong>cdPutImageRGBA</strong></font> - <strong><font face="Courier New">cdPutImageRGB</font></strong> + with transparency.<br> + <font face="Courier New"><strong>wdFont</strong></font> - <strong><font face="Courier New">cdFont</font></strong> + for the WD client, the size parameter is in millimeters.</p> + + <p><strong>New: Drivers:</strong></p> + + <p><strong>NativeWindow</strong> - now the library can work with other Interface libraries.<br> + <strong>DGN</strong> - MicroStation Design File.<br> + <strong>EMF</strong> - Windows Enhanced Metafile.<br> + <strong>CD Metafile</strong> - our own metafile.<br> + <strong>Client Image RGB</strong> - now you can write in an RGB image.</p> + + +<ul> + <li><strong>DGN</strong>, <strong>CGM</strong> and <strong>DXF</strong> file-based drivers now have a default size in + pixels (<strong>INT_MAX</strong> = 2.147.483.647) and are optional. In fact the size is irrelevant in these file + formats. The <font face="Courier New"><strong>cdCreateCanvas</strong></font> data string may contain the size in + millimeters and the resolution in pixels per millimeters. Both are real values. The default resolution is 1.</li> + <li>The <font face="Courier New"><strong>cdPlay</strong></font> function now works on the CGM and on the CD Metafile + drivers.</li> + <li>The interior style attributes were implemented in the <strong>CGM</strong> driver.</li> + <li>On the Clipboard driver: limitations are considered if creating a WMF under Win32s.</li> + <li>Now the Printer Driver shows the Printer's Dialog Box (Win32 & Mac) if the parameter "-d" is specified.</li> + <li>On the PS driver: all the dimensions in the Data parameter string are now in millimeters.</li> + <li>On the WMF driver: several functions were disabled because of WMF limitations. Picture size was corrected.</li> + <li>On the basic X-Windows driver: <font face="Courier New"><strong>cdLineWidth</strong>(1)</font> uses + <font face="Courier New">width 0</font> for better performance. Stipple was being incorrectly interpreted. + <font face="Courier New"><strong>cdGetImageRGB</strong></font> was swapping red and blue channels on true color + canvas.</li> + <li>The clipping region now can be a polygon on some systems/drivers (Win32, Mac, X-Win and PS). Use + <font face="Courier New"><strong>cdClip</strong>(CD_CLIPPOLYGON)</font> to use the polygon defined by a + <font face="Courier New"><strong>cdBegin</strong>(CD_CLIP)</font>,<font face="Courier New"> <strong>cdVertex</strong>(...)</font>,<font face="Courier New"> + <strong>cdEnd</strong>()</font> sequence.</li> + <li>The functions <strong><font face="Courier New">wdMM2Pixel</font></strong> and <strong><font face="Courier New"> + wdPixel2MM</font></strong> became <font face="Courier New"><strong>cdMM2Pixel</strong></font> and + <font face="Courier New"><strong>cdPixel2MM</strong></font>, respectively.</li> + <li>Minor bugs in the <font face="Courier New"><strong>wdFontDim</strong></font>, <font face="Courier New"><strong> + wdLineWidth</strong></font> and <font face="Courier New"><strong>wdMarkSize</strong></font> functions were corrected.</li> + <li><font face="Courier New"><strong>wdVectorCharSize</strong></font> now returns the previous value.</li> +</ul> +<h3>Up to Version 2.1</h3> +<ul> + <li>The <font face="Courier New"><strong>cdActiveCanvas</strong></font>, <font face="Courier New"><strong>cdPlay</strong></font> + and the <font face="Courier New"><strong>wdVectorFont</strong></font> functions were added, and the + <font face="Courier New"><strong>cdKillCanvas</strong></font> function was corrected when destroying the current + canvas.</li> + <li>The <font face="Courier New"><strong>cdMark</strong></font> function no longer depends on line style, line width + and interior style attributes, and it is the same for all drivers because it is implemented only with CD functions.</li> + <li>The <font face="Courier New"><strong>wdLineWidth</strong></font> and <font face="Courier New"><strong>wdMarkSize</strong></font> + functions now use millimeters.</li> + <li>The functions <font face="Courier New"><strong>cdEncodeColor</strong></font> and <font face="Courier New"><strong> + cdDecodeColor</strong></font> now can be called without an active canvas. The DXF driver was added.</li> + <li>WD can now access files with vector font definitions.</li> + <li>Minor bugs in the <font face="Courier New"><strong>wdTextSize</strong></font> function were corrected.</li> +</ul> + +</body> + +</html>
\ No newline at end of file |