A few bug fixes were applied to the Windows and Linux distributions of Dislin:
- A reported bug in the Fortran wrapper routine for SURISO is corrected. The bug could cause an access violation or a corrupted isosurface, when unequal dimensions were passed to SURISO. Thanks to Dr. Tian Lu for the hint.
- Diagonal lines were plotted with a wrong direction in image files if the option LINMOD ('ON', 'SMOOTH') was used before. Thanks to Thomas Bank Lauridsen for the report.
- The utility gclhlp could not find it's online help files on Linux. Thanks to Jens Bischoff for the hint.
A new printed manual of Dislin describing the current version 11 is available from the author, or from the publisher.
The Data Plotting Software DISLIN - Version 11by Helmut Michels (Author)
Paperback : 353 pages
The book can be ordered from:
- the author. (free shipping: Germany, shipping costs: Europe 5,00 Euro, World 7,00 Euro)
- Shaker Media GmbH
Dislin version 11.0 is released as a stable summarize of the 10.6.x upgrades with a few changes.
- The i386 and i386_64 distributions of Dislin for very old Linux systems are removed from the server. These Linux systems are no longer supported.
- The pre-compiled Perl modules in the Dislin distributions for Linux are updated to the Perl versions 5.18.2, 5.20.2 and 5.22.1 compiled on Ubuntu 14.04, 15.10 and 16.04.
- A new Dislin book for version 11 is in preparation and will be available in a few weeks (hopefully).
Upgrade 10.6.2 is available with the following changes and bug fixes:
- FITSHDU is a new routine that defines the FITS HDU for following FITS operations.
- The keywords 'LSEA', 'ISEA' and 'HSEA' are added to SHDMAP for sea shading with GSHHS map coordinates.
- A bug in the routine NEGLOG in the Fortran code of Dislin is fixed. The routine NEGLOG had no effect before.
- SHDEUR produced wrong colors in the Java distributions of Dislin. The bug is corrected.
- Possible horizontal lines caused by clipping in conical conformal projections are eliminated. Thanks to Winfried Seitz for the last two bug reports.
- The routine GETWIN has not returned the correct position of the Dislin graphics window for the Salford Fortran compiler. Thanks to Johannes Adam for the hint.
- The axis scaling produced by automatic scaling could be different for the X- and Y-axes if vertical labels are plotted at the Y-axis, even if the data range and axis lengths were equal. Thanks to Philippe Bourdin for the bug report.
- The Dislin utility dismov was not working on Linux caused by an older software change. The bug is fixed.
The Dislin upgrade 10.6.1 is available with the following changes:
- The routines FITSOPN, FITSCLS, FITSIMG, FITSVAL, FITSTYP, FITSSTR and FITSFLT are added to Dislin for reading simple FITS files.
- The routine AUTRES for defining the size of points plotted by CRVMAT can now be called in level 1, 2 and 3, and accepts negativ values for logarithmic scalings and aquidistant data grids.
- Support for the programming language Julia is added to the Linux distribution of Dislin for i586 (32- and 64-bit).
- A 16-bit dependency is removed from the Dislin TIFF format, so that the width and height of TIFF images is no longer restricted to 16-bit values.
New Dislin distributions are available for the programming language Julia in the file dl_10_jl.zip. The 32- and 64-bit versions of Julia are supported. A PDF manual for using Dislin from Julia can also be downloaded from this site.
The Dislin version 10.6 is released. The new version is mostly a summary of the minor upgrades since version 10.5 with some new features and last bug fixes:
- The Dislin widget routines on X11 systems based on OpenMotif support now Unicode characters. An X11 Unicode font must be loaded and Unicode characters must be passed as UTF8 strings to a Dislin widget routine for getting this feature. (10.6)
- Thick lines in image formats such as PNG, TIFF, etc. are plotted with raster operations to increase the quality of image output. The vector operations used before could lead to some rounding effects. (10.6)
- The routine WINJUS sets a character option for positioning the graphics window on the screen. (10.5.3)
- A graphics window without any decorations such as frames and title bars is created after the option WINTYP ('POPUP'). The default value is WINTYP ('STANDARD'). (10.5.3)
- The icon in the title bar of a graphics window can be replaced by an icon loaded with the routine WINICO (only Windows). (10.5.3)
- A graphics window can be made unvisible and visible again with the new routine HIDWIN. (10.5.3)
- The new routine AXSERS erases the contents of an axis system. (10.5.1)
- The option SWGOPT ('FULL', 'MAIN') defines a fullscreen modus for the main widget created by WGINI. (10.5.1)
- A hidden password can be entered in a text widget if the option SWGTYP ('PASSWORD', 'TEXT') is set before. (10.5.1)
- Minimize and maximize buttons in the system menu of the main widget can be disabled with the new options SWGATT (ID, 'OFF', 'MINI') and SWGATT (ID, 'OFF', 'MAXI'). The complete system menu is disabled with the option SWGATT (ID, 'OFF', 'MENU'), where ID should be the widget ID of the main widget. (10.5.1)
The Windows distributions of Dislin are upgraded to version 10.5.4. The reason for the upgrade was the incompatibility of some Dislin libraries with Visual Studio 2015. The problems should be fixed.
The Dislin upgrade 10.5.3 is released with the following changes:
- The routine WINJUS sets a character option for positioning the graphics window on the screen.
- A graphics window without any decorations such as frames and title bars is created after the option WINTYP ('POPUP'). The default value is WINTYP ('STANDARD').
- The icon in the title bar of a graphics window can be replaced by an icon loaded with the routine WINICO (only Windows).
- A graphics window can be made unvisible and visible again with the new routine HIDWIN.
- The routine WINDOW for positioning the graphics window on the screen was not full compatible for X11 and Windows. For Windows, the upper left corner of the client area was used for the position, for X11, the upper left corner of the window. This is changed, so that the Windows version of WINDOW uses also the upper left corner as position for the graphics window.
- The Dislin distribution for Mingw and Windows 32-bit supports now the GFortran compiler by containing link scripts and pre-compiled module files for GFortran. The extra distribution for GFortran in the file dl_10_gf.zip is no longer needed and removed from the Dislin website.
- An additional library for g++ programming is also added to the Dislin distribution for Mingw and Windows 32-bit, that supports the newer GNU g++ versions 4.9 and 5.1. Th name of the library is discpp51.a.
- The Python distributions for Windows 32- and 64-bit contain additional pre-compiled modules for Python versions 3.3.x and 3.4.x.
- The Perl distributions for Windows 32- and 64-bit support now the Perl versions 5.16.x, 5.18.x, 5.20.x and 5.22.x from ActiveState.
New Dislin distributions for the programming language R and Windows 32- and 64-bit bit are available in the file dl_10_r.zip.
A new Dislin distribution for FreeBASIC and Windows 32-bit is available in the file dl_10_fb.zip.
The Dislin upgrade 10.5.2 is released with some small new features and bug fixes:
- Two additional arrow forms are added to VECTOR. The new options should also work for all routines, where an array option can be specified.
- 'XEXP' is a new keyword for the routine LABELS, which has the same meaning as 'EXP', except that a times symbol is used as an operator instead of an asterisk. Thanks to Malcolm Field for the last both suggestions.
- The Dislin distribution for Cygwin 32-bit supports now gfortran. A linking script and pre-compiled modules for gfortran are added. The libraries were already compatible to gfortran before.
- A bug in WGPBAR for the Dislin C libraries on Windows is corrected. The progress bar was corrupted for the default mode 'NOSMOOTH', where the problem was introduced with Dislin version 10.3.6. Thanks to Karim Elrayes for the hint.
- A problem in the PDF bookmarks created by Dislin with the routine PDFMRK is solved. Thanks to David Kubal for the report.
- James Sanovale reported a crash in the routine INCFIL for the native Fortran libraries of Dislin on Windows. The bug is fixed.
The Dislin upgrade 10.5.1 is released with the following new features and bug fixes:
- The new routine AXSERS erases the contents of an axis system.
- Multiple graphics windows can be used with the OpenGL driver.
- The OpenGL driver in Dislin supports also now X11 fonts on Linux and Unix systems. TrueType fonts on Windows systems were already possible in older Dislin versions.
- The option SWGOPT ('FULL', 'MAIN') defines a fullscreen modus for the main widget created by WGINI.
- A hidden password can be entered in a text widget if the option SWGTYP ('PASSWORD', 'TEXT') is set before.
- Minimize and maximize buttons in the system menu of the main widget can be disabled with the new options SWGATT (ID, 'OFF', 'MINI') and SWGATT (ID, 'OFF', 'MAXI'). The complete system menu is disabled with the option SWGATT (ID, 'OFF', 'MENU'), where ID should be the widget ID of the main widget.
- SWGATT (ID, CFIL, 'ICON') replaces the icon in the system menu of the main widget by the icon in the file CFIL. CFIL must be in the Windows .ico format.
- The option SWGIOP (ID, 'ICON') defines an icon ID for the system menu and for the routines WGICON and WGPICON. The icon is taken from the program resources in the executable file. The file parameter in WGICON and WGPICON will be ignored for that case (only Windows).
- A reported bug for SURISO is corrected. In seldom cases the sign of some gradients could be wrong for a unsymmetric scaling of the Z-axis, so that light calculations and backface culling failed.
- For LITOP3 (ID, XR, XG, XB, 'DIFFUSE') the parameters XG and XB were interchanged in the Fortran code of Dislin.
- Nested main widgets created by WGINI could not have different titles and help entries. The bug is fixed.
The Dislin version 10.5 is released.
The new version is mostly a summary of the minor upgrades since version 10.4 with the last bug fixes:
- The routine DELGLB frees allocated space for global parameters in Dislin. It can be called if Dislin routines are no longer needed in a program. (10.5)
- The new routine GWGGUI informs about the used GUI in a Dislin library. (10.5)
- The new routine FILTYP returns the type of an image or plotfile. (10.4.3)
- GETSCM informs if automatic scaling is enabled in an axis system routine. (10.4.3)
- ITMNCNT is a replacement of ITMCNT with an additional length parameter to avoid buffer overflows. ITMCNT is left in the library to provide compatibility. (10.4.3)
- The new routine FREEPTR deallocates space that is allocated is Dislin before. This routine is for example necessary if the space was allocated in an DLL. (10.4.3)
- SHDMAP accepts the additional options 'GSHL', 'GSHI' and 'GSHH' for using GSHHS map coordinates for shading continents. (10.4.1)
- The routine WGPICON was missing in the Fortran wrapper libraries of Dislin. Thanks to William Podgorski for the hint.
- A WMF file created by Dislin could be corrupted if it was created after a graphical output to the screen. Thanks to Ziguo Zuo for the report.
- Not all parts of list and table widgets were invisible after the option 'INVISIBLE' in SWGATT for X11. The bug is corrected.
Dislin is upgraded to version 10.4.3 with the following changes:
- The new routine FILTYP returns the type of an image or plotfile.
- GETSCM informs if automatic scaling is used in an axis system routine.
- ITMNCNT is a replacement of ITMCNT with an additional length parameter to avoid buffer overflows. ITMCNT is left in the library to provide compatibility.
- The new routine FREEPTR deallocates space that is allocated is Dislin before. This routine is for example necessary if the space was allocated in an DLL.
- The routine TICMOD was missing in some wrapper libraries of Dislin. Thanks to Patrick Daly for the hint.
- The attribute 'INACTIVE' was no longer working for push button widgets since push buttons were replaced by ownerdrawn buttons in version 10.4.0. Thanks to Markku Pirttijärvi for the hint.
- Markku reported also a problem with the Z-scaling in GRAF3 after automatic scaling for the X-axis, which was caused in very seldom cases by a uninitialized variable in SETSCL in the Dislin C code.
- If automatic scaling is enabled, the axis system routines (GRAF, GRAF3, ...) does return for Fortran caluclated scaling parameters in the parameter list. This was not working for wrapper libraries (C libraries with wrapper routines for Fortran), but it's fixed now.
- WPIXLS and RPIXLS gave link errors for Dislin and the Portland Fortran compiler on Windows. The bug is fixed. Thanks to Te-Pu Chiang for the report.
Dislin is upgraded to version 10.4.2 with some bug fixes:
- A uninitialized variable in the PDF driver has caused corrupted PDF files in very seldom cases. The bug is fixed.
- The routine GWGTBL for requesting the value of a table cell has given a wrong value after a call to SENDOK.
- Some constants for line types were not defined correctly in the files dislin.h, dislin.f90 and discpp.h. Thanks to Armin Rauthe-Schöch for the hint.
- The new utilities dispng and disbmp are added for displaying PNG and BMP files.
A new Dislin distribution is available for .NET 64-bit.
The Dislin upgrade 10.4.1 contains bug fixes and a new feature for SHDMAP:
- SHDMAP accepts the additional options 'GSHL', 'GSHI' and 'GSHH' for using GSHHS map coordinates for shading continents.
- The Dislin distribution for .NET contains now a library for passing double parameters to Dislin.
- A program crash happened when the routine SENDOK was used in a callback routine for dropping list widgets (only Windows). Thanks to Charles Thorsness for the hint.
- A uninitialized variable has caused another crash in a Perl script for graphical output to a draw widget. Thanks to Michael Okuntsov for the report.
- Johannes Adam has reported some problems for using transparency and Z-buffer. The problems should be solved.
- A special GIF file could not be displayed by the routine INCFIL. The bug is fixed.
Dislin version 10.4 is released.
The new version 10.4 is mostly a summary of the minor upgrades since version 10.3 with a few new features and bug fixes:
- The routine SWGBGD changes the background colour of widgets.
- SWGFGD can change the foreground colour of widgets.
- The push buttons created with routines such as WGPBUT, WGOK and WGQUIT are replaced by OWNERDRAW buttons for Windows, so that the background colour of the buttons can now be modified. The appearance of the buttons should be the same.
- The new routines WGICON and WGPICON of version 10.3.6 are ported to X11 systems.
- The option SWGTYP ('NOSIZE', 'MAIN') was no longer working since a software change in version 10.3.6. The bug is fixed. Thanks to Dr. Guntram Buchheim for the hint.
- Separator widgets created by WGSEP were not displayed correctly in nested widget trees for Windows. The bug is fixed. Thanks to Alessandro Vicini for the report.
- A possible overflow in the widget routine WGBOX was reported by Clive Jones if more than 100 list entries were passed to WGBOX. Thanks to Clive for the hint. The problem is solved.
The new features above are described in the online and HTML documentation of Dislin. A description of all features since Dislin version 10.0, which are not covered by the Dislin book, is also available in the PDF document dislin_new.pdf.
There is a new web design for the Dislin pages that corresponds to the new web design of the Max Planck Society.
A new Dislin distribution for Cygwin 64-bit and Windows is available in the file dl_10_gc.zip. The distribution is created with gcc 4.8.2 and supports the languages C/C++, Fortran, Perl and Python.
A new Dislin upgrade with the version 10.3.6 is available. The following changes are applied:
- The routine LDIMG loads PNG, BMP, GIF and TIFF images into an array. RapidEye satellite TIFF files are also supported by LDIMG.
- The routines WGICON and WGPICON create label and push button widgets with icons as labels. Thanks to Clive Jones for the suggestion. This feature is only supported on Windows systems at the moment.
- The routines WGIMG and WGPIMG create label and push button widgets with images as labels.
- The Dislin main widget can now have scroll bars with the option SWGTYP ('SCROLL', 'MAIN').
- The option 'GREEK' is added to the routine SWGOPT for the keyword 'CODING' for passing greek coded characters (ISO-8859-7) to widget routines.
- The buttons of box widgets can be ordered in form of a matrix with the new option SWGTYP ('GRID', 'BOX').
- The routine SWGTXT can now modify the labels of push button widgets including the labels of WGQUIT and WGOK.
- Undefined values (NaN) are handled in curves if the option NANCRV ('ON') is used. NaNs are then plotted as gaps and reported in the Dislin protocol. If a compiler doesn't support NaN values, the routine NANCRV gives a warning.
- 'MAPNDG' is a new keyword in LABELS for plotting geographic labels without degree symbols.
Dislin is upgraded to version 10.3.5 with the following changes:
- The new routine LEGSEL sets a selection of legend lines plotted by LEGEND.
- The routine FILSIZ returns the size of an image file, where the image file can have the formats PNG, GIF, TIFF and BMP.
- SGWSCL accepts now the widget ID of a draw widget and can modify the value of scrollbars in draw widgets.
- GWGSCL is extended to request the values of scrollbars in draw widgets.
A new Dislin distribution is available for Linux on Raspberry Pi. The distribution supports programming with gcc, g++, gfortran, Perl, Python, Java, Ruby and TCL. The Raspberry Pi is a small and cheap single-board computer with an ARM processor.
Dislin is upgraded to version 10.3.4 with the following changes:
- The routine SWGCB3 sets callback routines for mouse wheel events in draw widgets. Thanks to Miguel Hermanns for the suggestion.
- The new routine FILWIN defines a rectangle of an image that can be included with the routine INCFIL instead of the full image.
- A reported bug in the cursor routines for scrolled draw widgets is corrected. The position of the cursor was not returned correctly. Thanks to Juan Garbayo de Pablo for the hint.
- A new version of the IDL wrappers for calling Dislin from IDL is available in the download section. Thanks to Philippe Bourdin for the new version.
- My production system for the Dislin Windows libraries and distributions is moved from Windows XP to Windows 7 64-bit. I hope that everything is working as before.
The most Dislin distributions are upgraded to version 10.3.3. The Mac OSX distributions will follow in a few days. The following changes are applied:
- The new routine PROJ3D defines a perspective or orthographic 3D projection. A perspective view is used by default.
- For an orthographic projection the projected plot can be scaled by a factor defined with VSCL3D.
- The option 'RUSSIAN' is added to the routine SWGOPT for the keyword 'CODING' for passing cyrillic coded characters (ISO-8859-5) to widget routines.
- The symbol number -1 is allowed in the routine MARKER for suppressing the plotting of symbols in routines such as CURVE and ERRBAR.
- The plotting extensions for Java are now created from the double precision libraries of Dislin. Dislin routines that expect Floatingpoint arrays are overloaded, so that float or double arrays can be passed to Dislin.
- The plotting extensions for Python are also created from the double precision libraries of Dislin, so that all plotting extensions (Perl, Python, Java, Ruby, TCL) use now the double precision libraries of Dislin.
- A new Dislin distribution for Perl 5.16.3 and Windows 64-bit is available.
Some small changes are applied to the new Dislin version 10.3.2:
- The distance of scan lines is reduced for shaded characters of vector fonts for getting a better shading in high-resolution image files. Thanks to Dr. Armin Rauthe-Schöch for the hint.
- The new routine SHDFAC sets a scaling factor for the distance of scan lines in shading patterns. The default value is 1.
- Not all points in an axis system were converted to map coordinates by the routine PT2POS for some projections. The bug is fixed.
- A bug for the keywords 'LAND' and 'SEA' in the routine SHDMAP is corrected. Some shadings were wrong for special projections.
- The routine WINDBR for plotting wind barbs can now plot wind flags on the opposite side of symbols if the symbol length is specified as a negative number. Thanks to Prof. Mark Sinclair for the suggestion and for the last two bug reports.
Dislin is upgraded to version 10.3.1 with the following changes:
- The new routine EXPIMG copies the contents of the Dislin graphics window to a PostScript or PDF file. It can also replace routines such as RPNG, RGIF, RTIFF, RBMP and RPPM for copying the contents of the graphics window to image files.
- The keywords 'SEA' and 'LAND' are added to SHDMAP for sea and land shading.
- PT2POS is an inverse routine to POS2PT for converting plot coordinates to map coordinates.
- A clipping bug in SHDMAP for conical projections is corrected. Thanks to Mark Sinclair for the hint.
- Shaded contours plotted by CONSHD could contain some not shaded thin lines for PostScript and PDF output. The bug is fixed. Thanks to Joachim Eichhorn for the report.
- The keyword 'ON' was not working in FILOPT. Thanks to Armin Rauthe-Schoech for the hint.
Dislin version 10.3 is released.
Here is a brief summary of the new Dislin features since version 10.2. The most of the features were already added by minor patch releases.
- SURSHC plots a shaded surface, where an extra matrix can be specified for calculating surface colours (10.3).
- WGPOPB and WGAPPB are new widget routines for plotting icons instead of strings in widget menus (10.3).
- The keywords 'TOP', 'MIDDLE' and 'BOTTOM' are added to the routine TXTJUS for vertical alignment of text and numbers (10.2.7).
- A background box for text and numbers can be plotted if the routine TXTBGD is called before (10.2.7).
- New keywords 'GRAY' and 'HALF' can be used with the routine COLOR (10.2.7).
- Different colours can be defined for the pen-downs in line styles with the new routine LINCLR (10.2.7).
- GAPSIZ is an entension of the routine GAPCRV for allowing gaps in curves for X- and Y-coordinates (10.2.7).
- The routines PLYINI and PLYFIN allow the output of 3D polygones created by Dislin to a .PLY file (10.2.7).
- The routine INCFIL supports now the additional image formats PNG and TIFF for importing images (10.2.6).
- Unicode characters coded in UTF8 can be used in the Dislin widget routines if the new option SGWOPT ('UTF8', 'CODING') is used. The default coding is 'ANSI'. At the moment, this feature is only available for Windows systems, but not for X11 systems (10.2.6).
- The new options SWGIOP (N, 'HMARGIN') and SWGIOP (N, 'VMARGIN') change the horizontal and vertical text margins in text and push button widgets (only X11) (10.2.6).
- Image files included with the routine INCFIL can now be scaled to a region on the screen after the option FILOPT ('ON', 'SCALE'). By default images are included without a scaling (10.2.5).
- The slider value at scrollbars can be suppressed with the new option SWGOPT ('NOVALUE', 'SLIDER') (10.2.5).
- The ZLIB routines in Dislin used for compression in PNG and PDF formats are updated to the current ZLIB version 1.2.7 (10.2.5).
- The new routine TTFONT reads a TrueType font file, so that the characters of the font can be displayed in Dislin plots. The intention of the routine was to make Unicode characters available for all output formats (i.e. by using 'arialuni.ttf'). By default, only the outlines of the characters are plotted. After a call to SHDCHA characters will be shaded (10.2.4).
- The new routines FRMBAR, SPCBAR, JUSBAR and POSBAR modify the appearance of colour bars in 3D colour plots. FRMBAR defines the thickness of frames around colour bars, SPCBAR sets the space between colour bars and axis systems, and JUSBAR defines the alignment of colour bars. The routine POSBAR sets the position of colour bars, where colour bars can now be plotted near the left and right X-axes, or near the lower and upper Y-axes (10.2.4).
- The new routine LEGBGD (NCLR) defines a background colour for legends. The default value NCLR = -1 means, that the background is not plotted (10.2.2).
- CSRLIN is a similar cursor routine to CSRREC and returns the endpoints of a line constructed with the mouse.
- The Dislin C++ libraries contain additional overloaded methods for passing float arrays, so that you can either pass double or float arrays to Dislin methods (10.2.2).
- A new XML output format with the keyword 'IPE' is added to METAFL. The output format can be interpreted by the graphics editor Ipe (10.2.1).
- Anti-aliased lines can be enabled in image formats such as PNG, TIFF and BMP with the option LINMOD ('ON', 'SMOOTH'). RGB mode of the output format is required for this option (see IMGFMT) (10.2.1).
- The width of the dropping list in a dropping list widget can be modified with the option SWGIOP (N, 'DLIST'), where N contains the number of pixels (if negative), or the number of characters (if positive). The default value N = 0 means that the dropping list has the same width as the widget (10.2.1).
- Some Dislin distributions (Linux i586, Visual C++ and MinGW) contain additional C++ libraries for using Dislin from C++. At the moment all Dislin routines are implemented as methods of the class Dislin, so that the description of the routines in the Dislin manual is also valid for C++ (10.2.1).
The new features above are described in the online and HTML documentation of Dislin. A description of all features since Dislin version 10.0, which are not covered by the Dislin book, is also available in the PDF document dislin_new.pdf.