NAME

Lua Dislin - Lua wrapper for the DISLIN plotting & widgets library (ldislin)


OVERVIEW

Lua Dislin provides a Lua interface for the DISLIN plotting & widgets library available from the Max Planck Institute for Solar System Research: http://www.dislin.de/

Lua Dislin has examples & over 500 functions for scientific plots, business graphs, and widget based GUIs.

DISLIN is free for non-commercial use. See the DISLIN site for details.

This version of Lua Dislin was developed and tested with DISLIN 9.1.


DOWNLOAD

Lua Dislin wrapper source code can be downloaded from its LuaForge (http://luaforge.net/projects/ldislin/files) page.


INSTALLATION

A Makefile is provided. You will need to obtain DISLIN from its site http://www.dislin.de/, and modify the Makefile to indicate where it is installed on your system.

The file processh.lua is included, and was used to generate much of the C source code for the wrapper. For a new version of DISLIN you may wish to run processh.lua again, and merge the generated code into ldislin.c.


USAGE

There are several examples in the examples directory.

It is instructive to compare these examples to the Python examples from the DISLIN site at http://www.dislin.de/.

Here is a complete program to create a bar chart:

    require "ldislin"
    dislin.metafl "XWIN"
    dislin.disini ()
    dislin.qplbar ({0.5,1,2,4,8,16,8,4,2,1,0.5}, 11)

Note that Lua Dislin may only be used in a single threaded manner. This is a limitation of DISLIN in the context of Lua coroutines. The functions dislin.thrini and dislin.thrfin may be used to support multiple Lua interpreters in separate OS threads using Lua Dislin simultaneously, but this has not be tested.


REFERENCE

All of the functions provided are thin wrappers over the DISLIN functions. Characters and strings are provided to and returned from the library functions as Lua strings, integers and floats as Lua numbers, arrays and matrices as Lua tables, and functions as Lua functions.

Only a few things complicate matters:

In general, Lua Dislin returns values in this order: the value returned by the function, if any, followed by any values returned by reference in the order of the corresponding C reference arguments. If a C reference argument is in/out, then the value must be supplied by the caller of the Lua wrapper. Otherwise, the library will construct a table to return the result array.

Note that functions that take in/out array parameters always return new tables, and never modify their table arguments.

The function reference is divided into sections for:

The documentation for the Functions With No Special Handling is generated from the DISLIN C header file directly. Please refer to the DISLIN documentation at http://www.dislin.de/ for a complete description of the functions' operation.


Functions With Special Handling

legend_buffer

There is one userdata type created and used by Lua Dislin; this is the legend_buffer. A legend_buffer is created with dislin.legini and used by dislin.piegrf dislin.legend dislin.leglin dislin.nxlegn and dislin.nylegn

When translating DISLIN examples from other languages such as Python, typically you would replace sequences such as:

    cbuf = '         '
    dislin.legini (cbuf, n, w)

with

    cbuf = dislin.legini (n, w)

and then use cbuf as the modifiable string buffer argument to the functions using this legend_buffer.

dislin.bars

  dislin.bars (xray, y1ray, y2ray, n [, ret])

Normally there are no return values from dislin.bars. However, bars can return values calculated by DISLIN if a special option is set with dislin.barpos. So, the optional argument ret, if true, will cause the calculated arrays, xray, y1ray, y2ray to be returned from dislin.bars.

dislin.bezier

  dislin.bezier (xray, yray, n, np)

Returns arrays xpray and ypray.

dislin.colray

  dislin.colray (zray, n)

Returns integer array nray.

dislin.conpts

  dislin.conpts (xray, n, yray, m, zmat, zlev, maxpts, maxray)

Returns xpts, ypts, nray.

dislin.getlab

  dislin.getlab ()

Returns three strings, cx, cy, cz.

dislin.getmat

  dislin.getmat (xray, yray, zray, n, nx, ny, zval [, ret])

Returns zmat. If ret is true, also returns imat.

dislin.gwgfil

  dislin.gwgfil (id)

Returns cfile.

dislin.gwgtxt

  dislin.gwgtxt (id)

Returns ctext.

dislin.histog

  dislin.histog (xray, n)

Returns xhray, yhray, and m.

dislin.legend

  dislin.legend (cbuf, ncor)
  cbuf:legend (ncor)

Note that the cbuf argument is a legend_buffer.

dislin.legini

  dislin.legini (nlin, nmaxln)

Returns a newly created legend_buffer cbuf.

dislin.leglin

  dislin.leglin (cbuf, cstr, ilin)
  cbuf:leglin (cstr, ilin)

Note that the cbuf argument is a legend_buffer.

dislin.nxlegn

  dislin.nxlegn (cbuf)
  cbuf:nxlegn ()

Returns integer nxlegn.

Note that the cbuf argument is a legend_buffer.

dislin.nylegn

  dislin.nylegn (cbuf)
  cbuf:nylegn ()

Returns integer nylegn.

Note that the cbuf argument is a legend_buffer.

dislin.pdfbuf

  dislin.pdfbuf (nmax)

Returns string cbuf and integer n the actual buffer size. If cbuf is nil then n is the required size > nmax.

dislin.piegrf

  dislin.piegrf (cbuf, nlin, xray, nseg)
  cbuf:piegrf (nlin, xray, nseg)

Note that the cbuf argument is a legend_buffer.

dislin.rbfpng

  dislin.rbfpng (nmax)

Returns string cbuf and integer n the actual buffer size. If cbuf is nil then n is the required size > nmax.

dislin.setcbk

  dislin.setcbk (fun, copt)

Note that fun is a Lua function.

dislin.sortr1

  dislin.sortr1 (xray, n, copt)

Returns xray (truncated to length n) sorted as specified.

dislin.sortr2

  dislin.sortr2 (xray, yray, n, copt)

Returns xray and yray (both truncated to length n) sorted as specified.

dislin.spline

  dislin.spline (xray, yray, n)

Returns xsray and ysray.

dislin.surfcp

  dislin.surfcp (fun, amin, amax, astp, bmin, bmax, bstp)

Note that fun is a Lua function.

dislin.surfun

  dislin.surfun (fun, ixpts, xdel, iypts, ydel)

Note that fun is a Lua function.

dislin.swgcbk

  dislin.swgcbk (id, fun)

Note that fun is a Lua function.

dislin.trfco1

  dislin.trfco1 (xray, n, cfrom, cto)

Returns xray (truncated to length n) converted as specified.

dislin.trfco2

  dislin.trfco2 (xray, yray, n, cfrom, cto)

Returns xray and yray (both truncated to length n) converted as specified.

dislin.trfco3

  dislin.trfco3 (xray, yray, zray, n, cfrom, cto)

Returns xray yray and aray (all truncated to length n) converted as specified.

dislin.trfmat

  dislin.trfmat (zmat, nx, ny, nx2, ny2)

Returns zmat converted by bilinear interpolation.

dislin.trfrel

  dislin.trfrel (xray, yray, n)

Returns xray and yray (both truncated to length n) converted to plot coordinates.

dislin.triang

  dislin.triang (xray, yray, n)

Returns i1ray, i2ray, i3ray, and integer ntri, the number of triangles.

dislin.tripts

  dislin.tripts (xray, yray, zray, n, i1ray, i2ray, i3ray, ntri, zlev, maxpts, maxray)

Returns xpts, ypts, nptray.

dislin.unit

  dislin.unit (zero)

The argument to dislin.unit must be zero; this function is provided for (literal translation of) legacy code where dislin.unit (0) is used as an idiom to suppress error messages. New code should use the newer routines dislin.errmod dislin.errdev and dislin.errfil


Functions Returning Multiple Scalars

dislin.abs3pt

  dislin.abs3pt (x, y, z)

Returns the absolute 3-D argument point converted to plot coordinates, xp, yp.

dislin.circ3p

  dislin.circ3p (x1, y1, x2, y2, x3, y3)

Calculates a circle specified by three points.

Returns xm, ym, r which are the location of the center of the circle and the circle's radius.

dislin.csrpt1

  dislin.csrpt1 ()

Returns nx, ny, the position of the cursor when the mouse button 1 is pressed.

dislin.getclp

  dislin.getclp ()

Returns the upper left corner and the size of the current clipping window, nx, ny, nw, nh. See dislin.clpwin.

dislin.getdig

  dislin.getdig ()

Returns the number of decimal places that are displayed in axis labels, nxdig, nydig, nzdig. See dislin.labdig.

dislin.getgrf

  dislin.getgrf (cax)

Returns the current scaling of an axis system for axis cax, 'X', 'Y', or 'Z'. The returned values are xa, xe, xor, xstp, which are the lower and upper limits of the axis, the first axis label, and the step between labels.

dislin.getlen

  dislin.getlen ()

Returns the length of the X-, Y- and Z-axes, nxl, nyl, nzl. See dislin.axslen, dislin.axlen.

dislin.getor

  dislin.getor ()

Returns the coordinates of the origin, nx0, ny0. See dislin.origin.

dislin.getpag

  dislin.getpag ()

Returns the page size, nxpag, nypag. See dislin.setpag, dislin.page.

dislin.getpos

  dislin.getpos ()

Returns the position of the lower left corner of an axis system in plot coordinates, nxa, nya. See dislin.axspos.

dislin.getran

  dislin.getran ()

Returns the color range of color bars, nca, nce. See dislin.colran.

dislin.getres

  dislin.getres ()

Returns the width and height of rectangles plotted in 3-D colour graphics, npb, nph. See dislin.setres, dislin.autres.

dislin.getrgb

  dislin.getrgb ()

Returns the RGB coordinates of the current color, xr, xg, xb.

dislin.getscl

  dislin.getscl ()

Returns the type of axis scaling used for each axis: nxlog, <nylog, <nzlog. For linear scaling, the value 0 is returned and for logarithmic scaling, the value 1 is returned. See dislin.axsscl.

dislin.getscr

  dislin.getscr ()

Returns the width and height of the screen in pixels, nwpix, nhpix.

dislin.getsp1

  dislin.getsp1 ()

Returns the distance between axis ticks and labels, nxdis, nydis, nzdis. See dislin.labdis.

dislin.getsp2

  dislin.getsp2 ()

Returns the distance between axis labels and names, nxdis, nydis, nzdis. See dislin.namdis.

dislin.getsym

  dislin.getsym ()

Returns the current symbol number and height of symbols, nsym, nhsymb.

dislin.gettcl

  dislin.gettcl ()

Returns tick lengths, nmaj, nmin.

dislin.gettic

  dislin.gettic ()

Returns the number of ticks that are plotted between axis labels, nxtic, nytic, nztic. See dislin.ticks.

dislin.getvk

  dislin.getvk ()

Returns the lengths used for shifting titles and color bars, nytit, nxbar, nybar. See dislin.vkytit, dislin.vkxbar, dislin.vkybar.

dislin.getwin

  dislin.getwin ()

Returns the upper left corner and the size of the graphics window, nx, ny, nw, nh. See dislin.window, dislin.winsiz.

dislin.gmxalf

  dislin.gmxalf (calph)

Returns shift characters used for shifting between the base and an alternate alphabet for the alphabet calph: n, c1, c2, where n is the returned index of the alphabet between 0 and 6. If n = 0, no shift characters are defined for the alphabet calph. c1 and c2 are character strings that contain the returned shift characters. See dislin.smxalf.

dislin.hsvrgb

  dislin.hsvrgb (xh, xs, xv)

Returns xr, xg, xb, RGB values in the range 0 to 1 corresponding to the HSV argument.

dislin.pos2pt

  dislin.pos2pt (xlong, ylat)

Returns plot coordinates xp, yp, corresponding to map (longitude and latitude) coordinate argument.

dislin.pos3pt

  dislin.pos3pt (x, y, z)

Returns the absolute 3-D coordinates, xp, yp, zp, converted from user coordinates.

dislin.rel3pt

  dislin.rel3pt (x, y, z)

Returns the plot coordinates, xp, yp, converted from user coordinates.

dislin.rgbhsv

  dislin.rgbhsv (xr, xg, xb)

Returns xh, xs, xv, HSV values corresponding to the RGB argument.

dislin.rpixel

  dislin.rpixel (ix, iy)

Returns the value of one pixel iclr from memory at the specified position in screen coordinates. iclr is the returned color value of the pixel. If the parameter ’RGB’ had been used with the routine dislin.imgmod, iclr is an explicit RGB value, otherwise an entry of the color table.

dislin.trfdat

  dislin.trfdat (n)

Returns the date, iday, imonth, iyear, occuring n days after the base date. See dislin.basdat.


Functions With No Special Handling

dislin.addlab

  dislin.addlab (cstr, v, itic, cax)

dislin.angle

  dislin.angle (ngrad)

dislin.arcell

  dislin.arcell (nx, ny, na, nb, a, b, t)

dislin.areaf

  dislin.areaf (nxray, nyray, n)

dislin.autres

  dislin.autres (ixdim, iydim)

dislin.ax2grf

  dislin.ax2grf ()

dislin.ax3len

  dislin.ax3len (nxl, nyl, nzl)

dislin.axclrs

  dislin.axclrs (nclr, copt, cax)

dislin.axends

  dislin.axends (cstr, cax)

dislin.axgit

  dislin.axgit ()

dislin.axis3d

  dislin.axis3d (x3, y3, z3)

dislin.axsbgd

  dislin.axsbgd (nclr)

dislin.axslen

  dislin.axslen (nxl, nyl)

dislin.axsorg

  dislin.axsorg (nxa, nya)

dislin.axspos

  dislin.axspos (nxa, nya)

dislin.axsscl

  dislin.axsscl (cscl, cax)

dislin.axstyp

  dislin.axstyp (copt)

dislin.barbor

  dislin.barbor (iclr)

dislin.barclr

  dislin.barclr (ic1, ic2, ic3)

dislin.bargrp

  dislin.bargrp (ngrp, gap)

dislin.barmod

  dislin.barmod (cmod, copt)

dislin.baropt

  dislin.baropt (xf, a)

dislin.barpos

  dislin.barpos (copt)

dislin.bars3d

  dislin.bars3d (xray, yray, z1ray, z2ray, xwray, ywray, icray, n)

dislin.bartyp

  dislin.bartyp (ctyp)

dislin.barwth

  dislin.barwth (factor)

dislin.basalf

  dislin.basalf (calph)

dislin.basdat

  dislin.basdat (id, im, iy)

dislin.bitsi2

  dislin.bitsi2 (nbits, mher, iher, mhin, ihin)

Returns integer bitsi2.

dislin.bitsi4

  dislin.bitsi4 (nbits, mher, iher, mhin, ihin)

Returns integer bitsi4.

dislin.bmpfnt

  dislin.bmpfnt (copt)

dislin.box2d

  dislin.box2d ()

dislin.box3d

  dislin.box3d ()

dislin.center

  dislin.center ()

dislin.cgmbgd

  dislin.cgmbgd (xr, xg, xb)

dislin.cgmpic

  dislin.cgmpic (cstr)

dislin.cgmver

  dislin.cgmver (nclr)

dislin.chaang

  dislin.chaang (angle)

dislin.chacod

  dislin.chacod (copt)

dislin.chaspc

  dislin.chaspc (xspc)

dislin.chawth

  dislin.chawth (xwth)

dislin.chnatt

  dislin.chnatt ()

dislin.chnbar

  dislin.chnbar (copt)

dislin.chncrv

  dislin.chncrv (copt)

dislin.chndot

  dislin.chndot ()

dislin.chndsh

  dislin.chndsh ()

dislin.chnpie

  dislin.chnpie (copt)

dislin.circle

  dislin.circle (nx, ny, nr)

dislin.circsp

  dislin.circsp (nspc)

dislin.clip3d

  dislin.clip3d (ctyp)

dislin.clpbor

  dislin.clpbor (copt)

dislin.clpmod

  dislin.clpmod (copt)

dislin.clpwin

  dislin.clpwin (nx, ny, nw, nh)

dislin.clrcyc

  dislin.clrcyc (index, iclr)

dislin.clrmod

  dislin.clrmod (cmode)

dislin.clswin

  dislin.clswin (id)

dislin.color

  dislin.color (col)

dislin.colran

  dislin.colran (nca, nce)

dislin.complx

  dislin.complx ()

dislin.conclr

  dislin.conclr (nray, n)

dislin.concrv

  dislin.concrv (xray, yray, n, zlev)

dislin.confll

  dislin.confll (xray, yray, zray, n, i1ray, i2ray, i3ray, ntri, zlev, nlev)

dislin.congap

  dislin.congap (xfac)

dislin.conlab

  dislin.conlab (clab)

dislin.conmat

  dislin.conmat (zmat, n, m, zlev)

dislin.conmod

  dislin.conmod (xfac, xquot)

dislin.conn3d

  dislin.conn3d (x, y, z)

dislin.connpt

  dislin.connpt (x, y)

dislin.conshd

  dislin.conshd (xray, n, yray, m, zmat, zlev, nlev)

dislin.contri

  dislin.contri (xray, yray, zray, n, i1ray, i2ray, i3ray, ntri, zlev)

dislin.contur

  dislin.contur (xray, n, yray, m, zmat, zlev)

dislin.cross

  dislin.cross ()

dislin.crvmat

  dislin.crvmat (zmat, n, m, ixpts, iypts)

dislin.crvtri

  dislin.crvtri (xray, yray, zray, n, i1ray, i2ray, i3ray, ntri)

dislin.csrmod

  dislin.csrmod (cmod, ckey)

dislin.csrtyp

  dislin.csrtyp (copt)

dislin.csruni

  dislin.csruni (copt)

dislin.curv3d

  dislin.curv3d (xray, yray, zray, n)

dislin.curve

  dislin.curve (xray, yray, n)

dislin.curve3

  dislin.curve3 (xray, yray, zray, n)

dislin.curvmp

  dislin.curvmp (xray, yray, n)

dislin.curvx3

  dislin.curvx3 (xray, y, zray, n)

dislin.curvy3

  dislin.curvy3 (x, yray, zray, n)

dislin.dash

  dislin.dash ()

dislin.dashl

  dislin.dashl ()

dislin.dashm

  dislin.dashm ()

dislin.delglb

  dislin.delglb ()

dislin.disalf

  dislin.disalf ()

dislin.disfin

  dislin.disfin ()

dislin.disini

  dislin.disini ()

dislin.dot

  dislin.dot ()

dislin.dotl

  dislin.dotl ()

dislin.duplx

  dislin.duplx ()

dislin.dwgbut

  dislin.dwgbut (cstr, ival)

Returns integer dwgbut.

dislin.dwgfil

  dislin.dwgfil (clab, cstr, cmask)

Returns string dwgfil.

dislin.dwglis

  dislin.dwglis (clab, clis, ilis)

Returns integer dwglis.

dislin.dwgmsg

  dislin.dwgmsg (cstr)

dislin.dwgtxt

  dislin.dwgtxt (clab, cstr)

Returns string dwgtxt.

dislin.ellips

  dislin.ellips (nx, ny, na, nb)

dislin.endgrf

  dislin.endgrf ()

dislin.erase

  dislin.erase ()

dislin.errbar

  dislin.errbar (x, y, err1, err2, n)

dislin.errdev

  dislin.errdev (cdev)

dislin.errfil

  dislin.errfil (cfil)

dislin.errmod

  dislin.errmod (cstr, copt)

dislin.eushft

  dislin.eushft (cnat, cshf)

dislin.expzlb

  dislin.expzlb (cstr)

dislin.field

  dislin.field (xray, yray, uray, vray, n, ivec)

dislin.filbox

  dislin.filbox (nx, ny, nw, nh)

dislin.filclr

  dislin.filclr (copt)

dislin.filmod

  dislin.filmod (cmod)

dislin.fixspc

  dislin.fixspc (xfac)

dislin.flab3d

  dislin.flab3d ()

dislin.flen

  dislin.flen (x, ndig)

Returns integer flen.

dislin.frame

  dislin.frame (nfrm)

dislin.frmclr

  dislin.frmclr (nclr)

dislin.frmess

  dislin.frmess (nfrm)

dislin.gapcrv

  dislin.gapcrv (xgap)

dislin.getalf

  dislin.getalf ()

Returns string getalf.

dislin.getang

  dislin.getang ()

Returns integer getang.

dislin.getbpp

  dislin.getbpp ()

Returns integer getbpp.

dislin.getclr

  dislin.getclr ()

Returns integer getclr.

dislin.getdsp

  dislin.getdsp ()

Returns string getdsp.

dislin.getfil

  dislin.getfil ()

Returns string getfil.

dislin.gethgt

  dislin.gethgt ()

Returns integer gethgt.

dislin.gethnm

  dislin.gethnm ()

Returns integer gethnm.

dislin.getlev

  dislin.getlev ()

Returns integer getlev.

dislin.getlin

  dislin.getlin ()

Returns integer getlin.

dislin.getlit

  dislin.getlit (xp, yp, zp, xn, yn, zn)

Returns integer getlit.

dislin.getmfl

  dislin.getmfl ()

Returns string getmfl.

dislin.getmix

  dislin.getmix (copt)

Returns string getmix.

dislin.getpat

  dislin.getpat ()

Returns integer getpat.

dislin.getplv

  dislin.getplv ()

Returns integer getplv.

dislin.getshf

  dislin.getshf (copt)

Returns string getshf.

dislin.gettyp

  dislin.gettyp ()

Returns integer gettyp.

dislin.getver

  dislin.getver ()

Returns number getver.

dislin.getvlt

  dislin.getvlt ()

Returns string getvlt.

dislin.getwid

  dislin.getwid ()

Returns integer getwid.

dislin.getxid

  dislin.getxid (copt)

Returns integer getxid.

dislin.gifmod

  dislin.gifmod (cmod, ckey)

dislin.gothic

  dislin.gothic ()

dislin.grace

  dislin.grace (ngrace)

dislin.graf

  dislin.graf (xa, xe, xorg, xstp, ya, ye, yorg, ystp)

dislin.graf3

  dislin.graf3 (xa, xe, xorg, xstp, ya, ye, yorg, ystp, za, ze, zorg, zstp)

dislin.graf3d

  dislin.graf3d (xa, xe, xorg, xstp, ya, ye, yorg, ystp, za, ze, zorg, zstp)

dislin.grafmp

  dislin.grafmp (xa, xe, xorg, xstp, ya, ye, yorg, ystp)

dislin.grdpol

  dislin.grdpol (ixgrid, iygrid)

dislin.grffin

  dislin.grffin ()

dislin.grfini

  dislin.grfini (x1, y1, z1, x2, y2, z2, x3, y3, z3)

dislin.grid

  dislin.grid (ixgrid, iygrid)

dislin.grid3d

  dislin.grid3d (ixgrid, iygrid, copt)

dislin.gridmp

  dislin.gridmp (ixgrid, iygrid)

dislin.gwgatt

  dislin.gwgatt (id, copt)

Returns integer gwgatt.

dislin.gwgbox

  dislin.gwgbox (id)

Returns integer gwgbox.

dislin.gwgbut

  dislin.gwgbut (id)

Returns integer gwgbut.

dislin.gwglis

  dislin.gwglis (id)

Returns integer gwglis.

dislin.gwgscl

  dislin.gwgscl (id)

Returns number gwgscl.

dislin.gwgxid

  dislin.gwgxid (id)

Returns integer gwgxid.

dislin.height

  dislin.height (nhchar)

dislin.helve

  dislin.helve ()

dislin.helves

  dislin.helves ()

dislin.hname

  dislin.hname (nhchar)

dislin.hsymbl

  dislin.hsymbl (nhsym)

dislin.htitle

  dislin.htitle (nhtit)

dislin.hwfont

  dislin.hwfont ()

dislin.hworig

  dislin.hworig (nx, ny)

dislin.hwpage

  dislin.hwpage (nw, nh)

dislin.imgbox

  dislin.imgbox (nx, ny, nw, nh)

dislin.imgclp

  dislin.imgclp (nx, ny, nw, nh)

dislin.imgfin

  dislin.imgfin ()

dislin.imgfmt

  dislin.imgfmt (copt)

dislin.imgini

  dislin.imgini ()

dislin.imgmod

  dislin.imgmod (copt)

dislin.imgsiz

  dislin.imgsiz (nw, nh)

dislin.inccrv

  dislin.inccrv (ncrv)

dislin.incdat

  dislin.incdat (id, im, iy)

Returns integer incdat.

dislin.incfil

  dislin.incfil (cfil)

dislin.incmrk

  dislin.incmrk (nmrk)

dislin.indrgb

  dislin.indrgb (xr, xg, xb)

Returns integer indrgb.

dislin.intax

  dislin.intax ()

dislin.intlen

  dislin.intlen (nx)

Returns integer intlen.

dislin.intrgb

  dislin.intrgb (xr, xg, xb)

Returns integer intrgb.

dislin.itmcnt

  dislin.itmcnt (clis)

Returns integer itmcnt.

dislin.itmstr

  dislin.itmstr (clis, nlis)

Returns string itmstr.

dislin.labclr

  dislin.labclr (iclr, copt)

dislin.labdig

  dislin.labdig (ndig, cax)

dislin.labdis

  dislin.labdis (ndis, cax)

dislin.labels

  dislin.labels (clab, cax)

dislin.labjus

  dislin.labjus (copt, cax)

dislin.labl3d

  dislin.labl3d (copt)

dislin.labmod

  dislin.labmod (ckey, cval, cax)

dislin.labpos

  dislin.labpos (cpos, cax)

dislin.labtyp

  dislin.labtyp (ctyp, cax)

dislin.legclr

  dislin.legclr ()

dislin.legopt

  dislin.legopt (x1, x2, x3)

dislin.legpat

  dislin.legpat (ityp, ithk, isym, iclr, ipat, ilin)

dislin.legpos

  dislin.legpos (nx, ny)

dislin.legtit

  dislin.legtit (cstr)

dislin.lfttit

  dislin.lfttit ()

dislin.light

  dislin.light (copt)

dislin.lincyc

  dislin.lincyc (index, ityp)

dislin.line

  dislin.line (nx, ny, nu, nv)

dislin.linesp

  dislin.linesp (xfac)

dislin.lintyp

  dislin.lintyp (ntyp)

dislin.linwid

  dislin.linwid (i)

dislin.litmod

  dislin.litmod (id, copt)

dislin.litop3

  dislin.litop3 (id, xr, xg, xb, copt)

dislin.litopt

  dislin.litopt (id, xval, copt)

dislin.litpos

  dislin.litpos (id, x, y, z, copt)

dislin.lncap

  dislin.lncap (copt)

dislin.lnjoin

  dislin.lnjoin (copt)

dislin.lnmlt

  dislin.lnmlt (x)

dislin.logtic

  dislin.logtic (cmod)

dislin.mapbas

  dislin.mapbas (cmod)

dislin.mapfil

  dislin.mapfil (cfil, copt)

dislin.maplev

  dislin.maplev (cmod)

dislin.mapmod

  dislin.mapmod (cmod)

dislin.mappol

  dislin.mappol (xpol, ypol)

dislin.mapref

  dislin.mapref (ylower, yupper)

dislin.mapsph

  dislin.mapsph (xrad)

dislin.marker

  dislin.marker (nsym)

dislin.matop3

  dislin.matop3 (xr, xg, xb, copt)

dislin.matopt

  dislin.matopt (xval, copt)

dislin.mdfmat

  dislin.mdfmat (nx, ny, weight)

dislin.messag

  dislin.messag (cstr, nx, ny)

dislin.metafl

  dislin.metafl (cstr)

dislin.mixalf

  dislin.mixalf ()

dislin.mixleg

  dislin.mixleg ()

dislin.mpaepl

  dislin.mpaepl (i)

dislin.mplang

  dislin.mplang (x)

dislin.mplclr

  dislin.mplclr (nbg, nfg)

dislin.mplpos

  dislin.mplpos (nx, ny)

dislin.mplsiz

  dislin.mplsiz (nsize)

dislin.mpslogo

  dislin.mpslogo (nx, ny, nsize, copt)

dislin.msgbox

  dislin.msgbox (cstr)

dislin.mshclr

  dislin.mshclr (ic)

dislin.mylab

  dislin.mylab (cstr, itick, cax)

dislin.myline

  dislin.myline (nray, n)

dislin.mypat

  dislin.mypat (iang, itype, idens, icross)

dislin.mysymb

  dislin.mysymb (xray, yray, n, isym, iflag)

dislin.myvlt

  dislin.myvlt (xr, xg, xb, n)

dislin.namdis

  dislin.namdis (ndis, cax)

dislin.name

  dislin.name (cstr, cax)

dislin.namjus

  dislin.namjus (copt, cax)

dislin.neglog

  dislin.neglog (eps)

dislin.newmix

  dislin.newmix ()

dislin.newpag

  dislin.newpag ()

dislin.nlmess

  dislin.nlmess (cstr)

Returns integer nlmess.

dislin.nlnumb

  dislin.nlnumb (x, ndig)

Returns integer nlnumb.

dislin.noarln

  dislin.noarln ()

dislin.nobar

  dislin.nobar ()

dislin.nobgd

  dislin.nobgd ()

dislin.nochek

  dislin.nochek ()

dislin.noclip

  dislin.noclip ()

dislin.nofill

  dislin.nofill ()

dislin.nograf

  dislin.nograf ()

dislin.nohide

  dislin.nohide ()

dislin.noline

  dislin.noline (cax)

dislin.number

  dislin.number (x, ndig, nx, ny)

dislin.numfmt

  dislin.numfmt (copt)

dislin.numode

  dislin.numode (cdec, cgrp, cpos, cfix)

dislin.nwkday

  dislin.nwkday (id, im, iy)

Returns integer nwkday.

dislin.nxposn

  dislin.nxposn (x)

Returns integer nxposn.

dislin.nyposn

  dislin.nyposn (y)

Returns integer nyposn.

dislin.nzposn

  dislin.nzposn (z)

Returns integer nzposn.

dislin.opnwin

  dislin.opnwin (id)

dislin.origin

  dislin.origin (nx0, ny0)

dislin.page

  dislin.page (nw, nh)

dislin.pagera

  dislin.pagera ()

dislin.pagfll

  dislin.pagfll (nclr)

dislin.paghdr

  dislin.paghdr (cstr1, cstr2, iopt, idir)

dislin.pagmod

  dislin.pagmod (cmod)

dislin.pagorg

  dislin.pagorg (cpos)

dislin.patcyc

  dislin.patcyc (index, ipat)

dislin.pdfmod

  dislin.pdfmod (cmod, ckey)

dislin.pdfmrk

  dislin.pdfmrk (cstr, copt)

dislin.penwid

  dislin.penwid (x)

dislin.pie

  dislin.pie (nxm, nym, nr, a, b)

dislin.piebor

  dislin.piebor (iclr)

dislin.pieclr

  dislin.pieclr (ic1, ic2, n)

dislin.pieexp

  dislin.pieexp ()

dislin.pielab

  dislin.pielab (clab, cpos)

dislin.pieopt

  dislin.pieopt (xf, a)

dislin.pietyp

  dislin.pietyp (ctyp)

dislin.pievec

  dislin.pievec (ivec, copt)

dislin.pngmod

  dislin.pngmod (cmod, ckey)

dislin.point

  dislin.point (nx, ny, nb, nh, ncol)

dislin.polar

  dislin.polar (xe, xorg, xstp, yorg, ystp)

dislin.polcrv

  dislin.polcrv (cpol)

dislin.polmod

  dislin.polmod (cpos, cdir)

dislin.projct

  dislin.projct (cproj)

dislin.psfont

  dislin.psfont (cfont)

dislin.psmode

  dislin.psmode (cmod)

dislin.qplbar

  dislin.qplbar (yray, n)

dislin.qplclr

  dislin.qplclr (zmat, n, m)

dislin.qplcon

  dislin.qplcon (zmat, n, m, nlv)

dislin.qplot

  dislin.qplot (xray, yray, n)

dislin.qplpie

  dislin.qplpie (xray, n)

dislin.qplsca

  dislin.qplsca (xray, yray, n)

dislin.qplsur

  dislin.qplsur (zmat, n, m)

dislin.rbmp

  dislin.rbmp (cfil)

dislin.reawgt

  dislin.reawgt ()

dislin.recfll

  dislin.recfll (nx, ny, nw, nh, ncol)

dislin.rectan

  dislin.rectan (nx, ny, nw, nh)

dislin.resatt

  dislin.resatt ()

dislin.reset

  dislin.reset (cname)

dislin.revscr

  dislin.revscr ()

dislin.rgif

  dislin.rgif (cfil)

dislin.rgtlab

  dislin.rgtlab ()

dislin.rimage

  dislin.rimage (cfil)

dislin.rlarc

  dislin.rlarc (xm, ym, xa, xb, a, b, t)

dislin.rlarea

  dislin.rlarea (xray, yray, n)

dislin.rlcirc

  dislin.rlcirc (xm, ym, r)

dislin.rlconn

  dislin.rlconn (x, y)

dislin.rlell

  dislin.rlell (xm, ym, a, b)

dislin.rline

  dislin.rline (x, y, u, v)

dislin.rlmess

  dislin.rlmess (cstr, x, y)

dislin.rlnumb

  dislin.rlnumb (x, ndig, xp, yp)

dislin.rlpie

  dislin.rlpie (xm, ym, r, a, b)

dislin.rlpoin

  dislin.rlpoin (x, y, nb, nh, ncol)

dislin.rlrec

  dislin.rlrec (x, y, xw, xh)

dislin.rlrnd

  dislin.rlrnd (x, y, xb, xh, irnd)

dislin.rlsec

  dislin.rlsec (xm, ym, r1, r2, a, b, ncol)

dislin.rlstrt

  dislin.rlstrt (x, y)

dislin.rlsymb

  dislin.rlsymb (nsym, x, y)

dislin.rlvec

  dislin.rlvec (x1, y1, x2, y2, ivec)

dislin.rlwind

  dislin.rlwind (xk, x, y, nwidth, a)

dislin.rndrec

  dislin.rndrec (nx, ny, nb, nh, irnd)

dislin.rpng

  dislin.rpng (cfil)

dislin.rppm

  dislin.rppm (cfil)

dislin.rtiff

  dislin.rtiff (cfil)

dislin.rvynam

  dislin.rvynam ()

dislin.sclfac

  dislin.sclfac (xfac)

dislin.sclmod

  dislin.sclmod (cmode)

dislin.scrmod

  dislin.scrmod (cmode)

dislin.sector

  dislin.sector (nx, ny, nr1, nr2, a, b, ncol)

dislin.selwin

  dislin.selwin (id)

dislin.sendbf

  dislin.sendbf ()

dislin.sendmb

  dislin.sendmb ()

dislin.sendok

  dislin.sendok ()

dislin.serif

  dislin.serif ()

dislin.setbas

  dislin.setbas (xfac)

dislin.setclr

  dislin.setclr (ncol)

dislin.setcsr

  dislin.setcsr (copt)

dislin.setexp

  dislin.setexp (fexp)

dislin.setfil

  dislin.setfil (cfil)

dislin.setgrf

  dislin.setgrf (c1, c2, c3, c4)

dislin.setind

  dislin.setind (index, xr, xg, xb)

dislin.setmix

  dislin.setmix (cstr, cmix)

dislin.setpag

  dislin.setpag (cpag)

dislin.setres

  dislin.setres (npb, nph)

dislin.setrgb

  dislin.setrgb (xr, xg, xb)

dislin.setscl

  dislin.setscl (xray, n, cax)

dislin.setvlt

  dislin.setvlt (cvlt)

dislin.setxid

  dislin.setxid (id, copt)

dislin.shdafr

  dislin.shdafr (inray, ipray, icray, n)

dislin.shdcha

  dislin.shdcha ()

dislin.shdcrv

  dislin.shdcrv (x1ray, y1ray, n1, x2ray, y2ray, n2)

dislin.shdeur

  dislin.shdeur (inray, ipray, icray, n)

dislin.shdmap

  dislin.shdmap (cmap)

dislin.shdmod

  dislin.shdmod (copt, ctyp)

dislin.shdpat

  dislin.shdpat (ipat)

dislin.shdusa

  dislin.shdusa (inray, ipray, icray, n)

dislin.shield

  dislin.shield (carea, cmode)

dislin.shlcir

  dislin.shlcir (nx, ny, nr)

dislin.shldel

  dislin.shldel (id)

dislin.shlell

  dislin.shlell (nx, ny, na, nb, t)

dislin.shlind

  dislin.shlind ()

Returns integer shlind.

dislin.shlpie

  dislin.shlpie (nx, ny, nr, a, b)

dislin.shlpol

  dislin.shlpol (nxray, nyray, n)

dislin.shlrct

  dislin.shlrct (nx, ny, nw, nh, t)

dislin.shlrec

  dislin.shlrec (nx, ny, nw, nh)

dislin.shlres

  dislin.shlres (n)

dislin.shlsur

  dislin.shlsur ()

dislin.shlvis

  dislin.shlvis (id, cmode)

dislin.simplx

  dislin.simplx ()

dislin.smxalf

  dislin.smxalf (calph, c1, c2, n)

dislin.solid

  dislin.solid ()

dislin.sphe3d

  dislin.sphe3d (xm, ym, zm, r, n, m)

dislin.splmod

  dislin.splmod (ngrad, npts)

dislin.strt3d

  dislin.strt3d (x, y, z)

dislin.strtpt

  dislin.strtpt (x, y)

dislin.surclr

  dislin.surclr (ictop, icbot)

dislin.surfce

  dislin.surfce (xray, n, yray, m, zmat)

dislin.suriso

  dislin.suriso (xray, nx, yray, ny, zray, nz, wmat, wlev)

dislin.surmat

  dislin.surmat (zmat, nx, ny, ixpts, iypts)

dislin.surmsh

  dislin.surmsh (copt)

dislin.suropt

  dislin.suropt (copt)

dislin.surshd

  dislin.surshd (xray, n, yray, m, zmat)

dislin.sursze

  dislin.sursze (xmin, xmax, ymin, ymax)

dislin.surtri

  dislin.surtri (xray, yray, zray, n, i1ray, i2ray, i3ray, ntri)

dislin.survis

  dislin.survis (cvis)

dislin.swgatt

  dislin.swgatt (id, cval, copt)

dislin.swgbox

  dislin.swgbox (ip, ival)

dislin.swgbut

  dislin.swgbut (ip, ival)

dislin.swgclr

  dislin.swgclr (xr, xg, xb, copt)

dislin.swgdrw

  dislin.swgdrw (x)

dislin.swgfil

  dislin.swgfil (ip, cval)

dislin.swgfnt

  dislin.swgfnt (cfnt, n)

dislin.swgfoc

  dislin.swgfoc (id)

dislin.swghlp

  dislin.swghlp (cstr)

dislin.swgjus

  dislin.swgjus (ctyp, cwidg)

dislin.swglis

  dislin.swglis (ip, ival)

dislin.swgmix

  dislin.swgmix (c, cstr)

dislin.swgmrg

  dislin.swgmrg (ival, cstr)

dislin.swgoff

  dislin.swgoff (nx, ny)

dislin.swgopt

  dislin.swgopt (cval, copt)

dislin.swgpop

  dislin.swgpop (copt)

dislin.swgpos

  dislin.swgpos (nx, ny)

dislin.swgscl

  dislin.swgscl (ip, xval)

dislin.swgsiz

  dislin.swgsiz (nx, ny)

dislin.swgspc

  dislin.swgspc (xw, xh)

dislin.swgstp

  dislin.swgstp (step)

dislin.swgtit

  dislin.swgtit (ctit)

dislin.swgtxt

  dislin.swgtxt (ip, cval)

dislin.swgtyp

  dislin.swgtyp (ctyp, cwidg)

dislin.swgwin

  dislin.swgwin (nx, ny, nw, nh)

dislin.swgwth

  dislin.swgwth (nchar)

dislin.symbol

  dislin.symbol (nsym, nx, ny)

dislin.symfil

  dislin.symfil (cdev, cstat)

dislin.symrot

  dislin.symrot (angle)

dislin.texmod

  dislin.texmod (copt)

dislin.texopt

  dislin.texopt (copt, ctyp)

dislin.texval

  dislin.texval (x, copt)

dislin.thkcrv

  dislin.thkcrv (nthk)

dislin.thrfin

  dislin.thrfin ()

dislin.thrini

  dislin.thrini (n)

dislin.ticks

  dislin.ticks (itick, cax)

dislin.ticlen

  dislin.ticlen (nmaj, nmin)

dislin.ticmod

  dislin.ticmod (copt, cax)

dislin.ticpos

  dislin.ticpos (cpos, cax)

dislin.tifmod

  dislin.tifmod (n, cval, copt)

dislin.tiforg

  dislin.tiforg (nx, ny)

dislin.tifwin

  dislin.tifwin (nx, ny, nw, nh)

dislin.timopt

  dislin.timopt ()

dislin.titjus

  dislin.titjus (copt)

dislin.title

  dislin.title ()

dislin.titlin

  dislin.titlin (cstr, n)

dislin.titpos

  dislin.titpos (copt)

dislin.trfres

  dislin.trfres ()

dislin.trfrot

  dislin.trfrot (xang, nx, ny)

dislin.trfscl

  dislin.trfscl (xscl, yscl)

dislin.trfshf

  dislin.trfshf (nx, ny)

dislin.trifll

  dislin.trifll (xray, yray)

dislin.triplx

  dislin.triplx ()

dislin.trmlen

  dislin.trmlen (cstr)

Returns integer trmlen.

dislin.txtjus

  dislin.txtjus (copt)

dislin.units

  dislin.units (copt)

dislin.vang3d

  dislin.vang3d (a)

dislin.vclp3d

  dislin.vclp3d (x1, x2)

dislin.vector

  dislin.vector (nx1, ny1, nx2, ny2, ivec)

dislin.vectr3

  dislin.vectr3 (x1, y1, z1, x2, y2, z2, ivec)

dislin.vfoc3d

  dislin.vfoc3d (x, y, z, cview)

dislin.view3d

  dislin.view3d (xvu, yvu, zvu, cvu)

dislin.vkxbar

  dislin.vkxbar (nvfx)

dislin.vkybar

  dislin.vkybar (nvfy)

dislin.vkytit

  dislin.vkytit (nvfy)

dislin.vltfil

  dislin.vltfil (cfl, copt)

dislin.vup3d

  dislin.vup3d (a)

dislin.wgapp

  dislin.wgapp (ip, clab)

Returns integer wgapp.

dislin.wgbas

  dislin.wgbas (ip, ctyp)

Returns integer wgbas.

dislin.wgbox

  dislin.wgbox (ip, cstr, isel)

Returns integer wgbox.

dislin.wgbut

  dislin.wgbut (ip, cstr, ival)

Returns integer wgbut.

dislin.wgcmd

  dislin.wgcmd (ip, clab, cmd)

Returns integer wgcmd.

dislin.wgdlis

  dislin.wgdlis (ip, cstr, isel)

Returns integer wgdlis.

dislin.wgdraw

  dislin.wgdraw (ip)

Returns integer wgdraw.

dislin.wgfil

  dislin.wgfil (ip, clab, cstr, cmask)

Returns integer wgfil.

dislin.wgfin

  dislin.wgfin ()

dislin.wgini

  dislin.wgini (ctyp)

Returns integer wgini.

dislin.wglab

  dislin.wglab (ip, cstr)

Returns integer wglab.

dislin.wglis

  dislin.wglis (ip, cstr, isel)

Returns integer wglis.

dislin.wgltxt

  dislin.wgltxt (ip, clab, ctext, iper)

Returns integer wgltxt.

dislin.wgok

  dislin.wgok (ip)

Returns integer wgok.

dislin.wgpbut

  dislin.wgpbut (ip, clab)

Returns integer wgpbut.

dislin.wgpop

  dislin.wgpop (ip, clab)

Returns integer wgpop.

dislin.wgquit

  dislin.wgquit (ip)

Returns integer wgquit.

dislin.wgscl

  dislin.wgscl (ip, cstr, x1, x2, xval, ndez)

Returns integer wgscl.

dislin.wgstxt

  dislin.wgstxt (ip, nsize, nmax)

Returns integer wgstxt.

dislin.wgtxt

  dislin.wgtxt (ip, cstr)

Returns integer wgtxt.

dislin.widbar

  dislin.widbar (nzb)

dislin.wimage

  dislin.wimage (cfil)

dislin.winapp

  dislin.winapp (copt)

dislin.windbr

  dislin.windbr (xk, nx, ny, nwidth, a)

dislin.window

  dislin.window (nx, ny, nw, nh)

dislin.winfin

  dislin.winfin (iopt)

dislin.winfnt

  dislin.winfnt (cfont)

dislin.winid

  dislin.winid ()

Returns integer winid.

dislin.winkey

  dislin.winkey (copt)

dislin.winmod

  dislin.winmod (copt)

dislin.winopt

  dislin.winopt (iopt, copt)

dislin.winsiz

  dislin.winsiz (nw, nh)

dislin.wintit

  dislin.wintit (cstr)

dislin.wmfmod

  dislin.wmfmod (cmod, ckey)

dislin.world

  dislin.world ()

dislin.wpixel

  dislin.wpixel (ix, iy, iclr)

dislin.wpixls

  dislin.wpixls (iray, ix, iy, nw, nh)

dislin.wpxrow

  dislin.wpxrow (iray, ix, iy, n)

dislin.wtiff

  dislin.wtiff (cfil)

dislin.x11fnt

  dislin.x11fnt (cfont, copt)

dislin.x11mod

  dislin.x11mod (copt)

dislin.x2dpos

  dislin.x2dpos (x, y)

Returns number x2dpos.

dislin.x3dabs

  dislin.x3dabs (x, y, z)

Returns number x3dabs.

dislin.x3dpos

  dislin.x3dpos (x, y, z)

Returns number x3dpos.

dislin.x3drel

  dislin.x3drel (x, y, z)

Returns number x3drel.

dislin.xaxgit

  dislin.xaxgit ()

dislin.xaxis

  dislin.xaxis (xa, xe, xorg, xstp, nl, cstr, it, nx, ny)

dislin.xaxlg

  dislin.xaxlg (xa, xe, xorg, xstp, nl, cstr, it, nx, ny)

dislin.xaxmap

  dislin.xaxmap (xa, xe, xorg, xstp, cstr, it, ny)

dislin.xcross

  dislin.xcross ()

dislin.xdraw

  dislin.xdraw (x, y)

dislin.xinvrs

  dislin.xinvrs (n)

Returns number xinvrs.

dislin.xmove

  dislin.xmove (x, y)

dislin.xposn

  dislin.xposn (x)

Returns number xposn.

dislin.y2dpos

  dislin.y2dpos (x, y)

Returns number y2dpos.

dislin.y3dabs

  dislin.y3dabs (x, y, z)

Returns number y3dabs.

dislin.y3dpos

  dislin.y3dpos (x, y, z)

Returns number y3dpos.

dislin.y3drel

  dislin.y3drel (x, y, z)

Returns number y3drel.

dislin.yaxgit

  dislin.yaxgit ()

dislin.yaxis

  dislin.yaxis (ya, ye, yor, ystp, nl, cstr, it, nx, ny)

dislin.yaxlg

  dislin.yaxlg (ya, ye, yor, ystp, nl, cstr, it, nx, ny)

dislin.yaxmap

  dislin.yaxmap (ya, ye, yor, ystp, cstr, it, ny)

dislin.ycross

  dislin.ycross ()

dislin.yinvrs

  dislin.yinvrs (n)

Returns number yinvrs.

dislin.yposn

  dislin.yposn (y)

Returns number yposn.

dislin.z3dpos

  dislin.z3dpos (x, y, z)

Returns number z3dpos.

dislin.zaxis

  dislin.zaxis (za, ze, zor, zstp, nl, cstr, it, id, nx, ny)

dislin.zaxlg

  dislin.zaxlg (za, ze, zor, zstp, nl, cstr, it, id, nx, ny)

dislin.zbffin

  dislin.zbffin ()

dislin.zbfini

  dislin.zbfini ()

Returns integer zbfini.

dislin.zbflin

  dislin.zbflin (x1, y1, z1, x2, y2, z2)

dislin.zbftri

  dislin.zbftri (x, y, z, ic)

dislin.zscale

  dislin.zscale (za, ze)


UNIMPLEMENTED

Lua Dislin wraps 596 of the 616 DISLIN functions. The 20 unimplemented functions fall into two categories: those that make little or no sense for Lua, or those that have questionable usefulness, and have been set aside for later, if ever.

The little or no sense for Lua functions are:

closfl
FORTRAN I/O

dattim
Obsolete

digits
Obsolete -- use dislin.labdig

fcha
has out cray (dtoa) -- use Lua

getuni
returns (FILE *)

intcha
has out cray (itoa) -- use Lua

itmcat
side affects 1st arg -- use Lua

lsechk
Obsolete

moment
Obsolete

openfl
FORTRAN I/O

posifl
FORTRAN I/O

readfl
FORTRAN I/O; and has out cray

scale
Obsolete -- use dislin.axsscl

skipfl
FORTRAN I/O

swapi2
has in/out sray; rarely used (not in Python wrapper)

swapi4
has in/out iray; rarely used (not in Python wrapper)

swgcb
Obsolete

swgmod
Obsolete

tellfl
FORTRAN I/O

upstr
has in/out cray -- use Lua

winini
Obsolete

writfl
FORTRAN I/O

The maybe later functions are:

csrmov
has out irays

csrpos
has optional args

csrpts
has out irays

getind
has optional args

rpixls
has out iray or cray

rpxrow
has out iray or cray


VERSION

This is Lua Dislin version 10.


CREDITS

Lua Dislin was developed by Doug Currie, Londonderry, NH, USA.

DISLIN was developed by Helmut Michels at the Max Planck Institute for Solar System Research: http://www.dislin.de/


LICENSE

Note that this license is for the Lua Dislin wrapper. DISLIN itself has its own license; see http://www.dislin.de/

Copyright (c) 2006-7 Doug Currie, Londonderry, NH, USA All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the ``Software''), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, provided that the above copyright notice(s) and this permission notice appear in all copies of the Software and that both the above copyright notice(s) and this permission notice appear in supporting documentation.

THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.