diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2015-07-08 20:46:52 -0400 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2015-07-08 20:46:52 -0400 |
commit | fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4 (patch) | |
tree | bdda434976bc09c864f2e4fa6f16ba1952b1e555 /vendor/x11iraf/ximtool/ximtool.h | |
download | iraf-linux-fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4.tar.gz |
Initial commit
Diffstat (limited to 'vendor/x11iraf/ximtool/ximtool.h')
-rw-r--r-- | vendor/x11iraf/ximtool/ximtool.h | 733 |
1 files changed, 733 insertions, 0 deletions
diff --git a/vendor/x11iraf/ximtool/ximtool.h b/vendor/x11iraf/ximtool/ximtool.h new file mode 100644 index 00000000..4d55f0ed --- /dev/null +++ b/vendor/x11iraf/ximtool/ximtool.h @@ -0,0 +1,733 @@ +/* + * XIMTOOL.H -- Global definitions for XImtool. + */ + +#include "eps.h" + +/* Default values, size limiting values. + */ +#define MAX_FBCONFIG 128 /* max possible frame buf sizes */ +#define MAX_FRAMES 16 /* max number of frames */ +#define MAX_MAPPINGS 100 /* max number of mappings/frame */ +#define MAX_CLIENTS 32 /* max display server clients */ +#define MAX_ISM 8 /* max ISM module clients */ +#define MAX_COLORMAPS 256 /* max number of colormaps */ +#define MAX_COLORS 256 /* max size colormap */ +#define MAX_PRINTERS 128 /* max number of printers */ +#define FIRST_COLOR 10 /* first allocatable color */ +#define DEF_NCOLORS 201 /* default number of colors */ +#define DEF_COLORMAP 1 /* default colormap */ +#define DEF_NFRAMES 1 /* save memory; only one frame */ +#define DEF_FRAME_WIDTH 512 /* 512 square frame */ +#define DEF_FRAME_HEIGHT 512 /* 512 square frame */ +#define DEF_FRAME_DEPTH 8 /* 8 bits deep */ +#define DEF_WIN_WIDTH 512 /* default size window */ +#define DEF_WIN_HEIGHT 512 /* default size window */ +#define DEF_TILE_BORDER 3 /* border width for tileFrames */ +#define DEF_BORDER_COLOR "9" /* border highlight color */ +#define SZ_CMAPNAME 32 /* colormap name buffer */ +#define SZ_NAME 80 /* object name buffer */ +#define SZ_LABEL 256 /* main frame label string */ +#define SZ_IMTITLE 128 /* image title string */ +#define SZ_WCTEXT 80 /* WCS box text */ +#define SZ_OLD_WCSBUF 320 /* old WCS text buffer size */ +#define SZ_WCSBUF 1024 /* WCS text buffer size */ +#define SZ_MSGBUF 8192 /* message buffer size */ +#define SZ_COLORBAR 11 /* height of colorbar in pixels */ +#define SZ_FIFOBUF 4000 /* transfer size for FIFO i/o */ + +#define SZ_FNAME 256 +#define SZ_LINE 256 +#define ERR (-1) +#define OK 0 +#define EOS '\0' + +#define M_UNITARY 0 /* xim_setmapping */ +#define M_ASPECT 1 +#define M_FILL 2 + +/* Magic numbers. */ +#define DEF_PORT 5137 /* default tcp/ip socket */ +#define DEF_NPORTS 1 /* no. of inet ports to open */ +#define I_DEVNAME "/dev/imt1o" /* pseudo device names */ +#define O_DEVNAME "/dev/imt1i" /* our IN is client's OUT */ +#define DEF_UNIXADDR "/tmp/.IMT%d" /* default unix socket */ +#define DEF_ANTIALIASTYPE "boxcar" /* default antialiasing */ +#define FBCONFIG_1 ".imtoolrc" +#define FBCONFIG_2 "/usr/local/lib/imtoolrc" +#define CMAPCONFIG "/usr/local/lib/imtoolcmap" +#define FBCONFIG_ENV1 "imtoolrc" +#define FBCONFIG_ENV2 "IMTOOLRC" +#define PRINTCONFIG "/usr/local/lib/ximprint.cfg" + +#define DEF_ISM_ADDR "/tmp/.ISM%d" /* default ISM unix socket */ +#define DEF_ISM_TEMPLATE "/tmp/.ISM%d_%d" /* ISM client socket template */ +#define DEF_ISM_TASK "wcspix" +#define DEF_ISM_CMD "/usr/local/bin/ism_wcspix.e wcspix &" +#define DEF_ISM_CMD "ism_wcspix.e wcspix &" +#define SZ_ISMBUF 4096 + +/* WCS definitions. */ +#define W_UNITARY 0 +#define W_LINEAR 1 +#define W_LOG 2 +#define W_USER 3 +#define W_DEFFORMAT " %7.2f %7.2f %7.1f%c" + +/* Rotation matrix defining world coordinate system (WCS) of a frame. */ +typedef struct { + int valid; /* has WCS been set? */ + float a, b; /* x, y scale factors */ + float c, d; /* x, y cross factors */ + float tx, ty; /* x, y translation */ + float z1, z2; /* greyscale range */ + int zt; /* greyscale mapping */ + char format[32]; /* wcs output format */ + char imtitle[SZ_IMTITLE+1]; /* image title from WCS */ +} Ctran, *CtranPtr; + +/* Coordinate mappings on each frame buffer. */ +typedef struct { + int id; /* object id */ + Ctran ctran; /* world coordinate system */ + char ref[SZ_FNAME+1]; /* image reference from WCS */ + int regid; /* region id */ + char region[SZ_FNAME+1]; /* region name from WCS */ + float sx, sy; /* source rect */ + int snx, sny; + int dx, dy; /* destination rect */ + int dnx, dny; +} Mapping, *MappingPtr; + +/* The frame buffers. */ +typedef struct { + int frameno; /* frame number */ + int raster; /* frame buffer raster */ + int zoomras; /* zoom/pan raster */ + int zoommap; /* zoom/pan mapping */ + int dispmap; /* mapping used for display */ + int colormap; /* greyscale transformation */ + float offset, scale; /* transfer function */ + float xscale, yscale; /* scaling at [xy]mag==1.0 */ + float xmag, ymag; /* zoom/dezoom factors */ + float xcen, ycen; /* center of zoomed region */ + float xoff, yoff; /* offset of zoomed region */ + int xflip, yflip; /* flip in X or Y? */ + char label[SZ_LABEL+1]; /* frame label string */ + Ctran ctran; /* world coordinate system */ + char wcsbuf[SZ_WCSBUF]; /* wcs info string */ + Mapping mapping[MAX_MAPPINGS]; /* coordinate mappings */ + int nmaps; /* number of defined mappings */ +} FrameBuf, *FrameBufPtr; + +/* Possible frame buffer sizes. */ +typedef struct { + int nframes; /* number of frames */ + int width; /* frame buffer width */ + int height; /* frame buffer height */ +} FbConfig, *FbConfigPtr; + + +/* Predefined colormaps. */ +typedef struct { + int mapno; /* widget colormap number */ + char name[SZ_CMAPNAME+1]; /* colormap name */ +} ColorMap, *ColorMapPtr; + +/* Predefined lookup tables. */ +typedef struct { + float red, green, blue; +} Triplet, *TripletPtr; + +typedef struct { + int lutlen; + Triplet hue[MAX_COLORS]; +} Lut, *LutPtr; + + +/* Client IIS I/O channel. */ +typedef struct { + XtPointer xim; /* backpointer to xim descriptor */ + XtPointer id; /* input callback id */ + int type; /* channel type */ + int datain; /* input channel */ + int dataout; /* output channel */ + int keepalive; /* used to keep input fifo ready */ + char path[SZ_FNAME+1]; /* for unix sockets */ + int reference_frame; /* reference (cmd i/o) frame */ + int version; /* flags capability of client */ + FrameBufPtr rf_p; /* reference frame descriptor */ +} IoChan, *IoChanPtr; + +#define IO_FIFO 1 +#define IO_INET 2 +#define IO_UNIX 3 + + +/* Client ISM I/O channel. */ +typedef struct { + XtPointer xim; /* backpointer to xim descriptor */ + XtPointer id; /* input callback id */ + int datain; /* input channel */ + int dataout; /* output channel */ + int connected; /* client connected? */ + char name[SZ_FNAME+1]; /* client name */ + char path[SZ_FNAME+1]; /* for unix sockets */ + char msgbuf[SZ_ISMBUF+1]; /* incomplete message buffer */ +} IsmIoChan, *IsmIoChanPtr; + + +/* Definitions for the supported ISM Modules. */ +typedef void (*IsmFunc)(); + +typedef struct { + char name[SZ_FNAME]; /* name of the module */ + char command[SZ_LINE]; /* cmd to execute for module */ + IsmFunc startupCB; /* connection callback func */ + IsmFunc shutdownCB; /* shutdown callback func */ + IsmFunc commandCB; /* client command callback func */ + int connected; /* client is connected */ + int ref_count; /* reference count */ + IsmIoChanPtr chan; /* i/o channel */ +} ismModule, *IsmModule; + + +/* Printer list. */ +typedef struct { + char printerName[SZ_FNAME+1]; /* printer name */ + char printCmd[SZ_FNAME+1]; /* printer dispose command */ +} Printer, *PrinterPtr; + + +/* Printer configuration struct. */ +typedef struct { + int printno; /* printer number */ + int seqno; /* sequence number */ + int diskfile; /* print to diskfile? */ + char printFile[SZ_FNAME+1]; /* disk filename template */ + char printCmd[SZ_FNAME+1]; /* dispose command */ +} PrintCfg, *PrintCfgPtr; + +/* File save definitions and structure. */ +typedef struct { + int seqno; /* sequence number */ + int format; /* save format */ + int colorType; /* save color type */ + int w, h, d; /* dimensions of last file saved */ + char fname[SZ_FNAME+1]; /* save filename */ +} fileSave, *fileSavePtr; + +#define XIM_GRAYSCALE 0 /* save color options */ +#define XIM_PSEUDOCOLOR 1 +#define XIM_RGB 2 + +#define XIM_RAS 0 /* save format options */ +#define XIM_GIF 1 +#define XIM_TIFF 2 +#define XIM_JPEG 3 +#define XIM_X11 4 +#define XIM_FITS 5 +#define XIM_RAW 6 +#define XIM_EPS 7 +#define XIM_OIF 8 + + +/* File load struct. */ +typedef struct { + int nfiles; /* number of files in directory */ + char **FileList; /* list of directory contents */ + char curdir[SZ_FNAME+1]; /* current directory */ + char homedir[SZ_FNAME+1]; /* home directory */ + char pattern[SZ_NAME+1]; /* file pattern to match */ + int gray; /* load as a grayscale image? */ + int zscale; /* zscale the image */ + int zrange; /* use full data range */ + float z1, z2; /* user-supplied zrange limits */ + int nsample; /* number of zscale sample pts */ +} fileLoad, *fileLoadPtr; + +/* + * Application resources and runtime descriptor. + * ---------------------------------------------- + */ +typedef struct { + /* Resources. */ + Boolean autoscale; /* is XY autoscaling enabled */ + Boolean antialias; /* apply antialiasing when dezooming */ + Boolean tileFrames; /* tile rather than overlay frames */ + Boolean highlightFrames; /* highlight tiled frames */ + Boolean invert; /* use inverted colormap */ + int def_config; /* default FB config */ + int def_nframes; /* default number of frames */ + int ncolors; /* number of image pixel colors */ + int tileBorder; /* image border when tiling frames */ + int cm_focus; /* colormap update screen size */ + String borderColor; /* border color for tileFrames */ + String gui; /* GUI file name */ + String imtoolrc; /* imtoolrc file name */ + String memModel; /* FB memory model */ + String userCMap1; /* user colormap file */ + String userCMap2; /* user colormap file */ + String userCMapDir1; /* user colormap directory */ + String userCMapDir2; /* user colormap directory */ + String antialiasType; /* type of antialiasing */ + String printConfig; /* printer configuration file */ + String input_fifo; /* client's output, e.g. /dev/imt1o */ + String output_fifo; /* client's input, e.g. /dev/imt1i */ + String unixaddr; /* format for unix socket path */ + String ism_addr; /* format for ISM unix socket path */ + String ism_task; /* image support module taskname */ + int port; /* port for INET socket */ + int nports; /* no. of INET ports to open */ + + /* Internal state. */ + XtPointer obm; /* object manager */ + IoChanPtr cursor_chan; /* cursor mode channel */ + IoChan chan[MAX_CLIENTS]; /* client i/o descriptors */ + IsmIoChan ism_chan; /* image support module channel */ + IsmIoChan ism_client[MAX_ISM]; /* ISM client i/o descriptors */ + Widget toplevel; /* dummy toplevel app shell */ + Widget gt; /* imagewin gterm-image widget */ + Widget cb; /* colorbar gterm-image widget */ + XtPointer gm_border; /* border marker for tileFrames */ + int tileFramesList; /* frames to be tiled (bitmask) */ + int nTileFrames; /* number of frames to be tiled */ + int tileRows; /* number of tile rows */ + int tileCols; /* number of tile cols */ + Boolean tileByRows; /* fill tiles by row vs cols */ + Boolean tileTopDown; /* fill tiles by top to bottom */ + Boolean tileLabels; /* label frame tiles */ + int rop; /* rasterop for mappings */ + int display_frame; /* currently displayed frame */ + FrameBufPtr df_p; /* display frame descriptor */ + FrameBuf frames[MAX_FRAMES]; /* array of frame descriptors */ + int fb_configno; /* current config number */ + int nframes; /* current number of frame bufs */ + int width, height; /* current width, height */ + FbConfig fb_config[MAX_FBCONFIG]; /* fb config table */ + int *clientPrivate; /* used by imtool client code */ + + PSImagePtr psim; /* EPS image struct pointer */ + PrintCfgPtr pcp; /* printer config pointer */ + fileLoadPtr flp; /* load disk file pointer */ + fileSavePtr fsp; /* save disk file pointer */ + +} XimData, *XimDataPtr; + + + +#ifdef XIMTOOL_MAIN +XimData ximtool_data; + +#define XtNdefConfig "defConfig" +#define XtCDefConfig "DefConfig" +#define XtNdefNFrames "defNFrames" +#define XtCDefNFrames "DefNFrames" +#define XtNncolors "ncolors" +#define XtCNcolors "Ncolors" +#define XtNtileBorderWidth "tileBorderWidth" +#define XtCTileBorderWidth "TileBorderWidth" +#define XtNtileBorderColor "tileBorderColor" +#define XtCTileBorderColor "TileBorderColor" +#define XtNautoscale "autoscale" +#define XtCAutoscale "Autoscale" +#define XtNantialias "antialias" +#define XtCAntialias "Antialias" +#define XtNantialiasType "antialiasType" +#define XtCAntialiasType "AntialiasType" +#define XtNinvert "invert" +#define XtCInvert "Invert" +#define XtNtileFrames "tileFrames" +#define XtCTileFrames "TileFrames" +#define XtNhighlightFrames "highlightFrames" +#define XtCHighlightFrames "HighlightFrames" +#define XtNgui "gui" +#define XtCGui "Gui" +#define XtNimtoolrc "imtoolrc" +#define XtCImtoolrc "Imtoolrc" +#define XtNmemModel "memModel" +#define XtCMemModel "MemModel" +#define XtNuserCMap1 "cmap1" +#define XtNuserCMap2 "cmap2" +#define XtNcmFocus "cmFocus" +#define XtCCmFocus "cmFocus" +#define XtCUserCMap "UserCMap" +#define XtNuserCMapDir1 "cmapDir1" +#define XtNuserCMapDir2 "cmapDir2" +#define XtCUserCMapDir "UserCMapDir" +#define XtNprintConfig "printConfig" +#define XtCprintConfig "printConfig" +#define XtNinput_fifo "input_fifo" +#define XtCInput_fifo "Input_fifo" +#define XtNoutput_fifo "output_fifo" +#define XtCOutput_fifo "Output_fifo" +#define XtNunixaddr "unixaddr" +#define XtCUnixaddr "Unixaddr" +#define XtNism_addr "ism_addr" +#define XtCIsm_addr "Ism_addr" +#define XtNport "port" +#define XtCPort "Port" +#define XtNnports "nports" +#define XtCNPorts "NPorts" +#define XtNism_task "ism_task" +#define XtCIsm_task "Ism_task" + +static XtResource resources[] = { + { + XtNdefConfig, + XtCDefConfig, + XtRInt, + sizeof(int), + XtOffsetOf(XimData, def_config), + XtRImmediate, + (caddr_t)1 + }, + { + XtNdefNFrames, + XtCDefNFrames, + XtRInt, + sizeof(int), + XtOffsetOf(XimData, def_nframes), + XtRImmediate, + (caddr_t)0 + }, + { + XtNncolors, + XtCNcolors, + XtRInt, + sizeof(int), + XtOffsetOf(XimData, ncolors), + XtRImmediate, + (caddr_t)DEF_NCOLORS + }, + { + XtNtileBorderWidth, + XtCTileBorderWidth, + XtRInt, + sizeof(int), + XtOffsetOf(XimData, tileBorder), + XtRImmediate, + (caddr_t)DEF_TILE_BORDER + }, + { + XtNtileBorderColor, + XtCTileBorderColor, + XtRString, + sizeof(String), + XtOffsetOf(XimData, borderColor), + XtRImmediate, + (caddr_t)DEF_BORDER_COLOR + }, + { + XtNautoscale, + XtCAutoscale, + XtRBoolean, + sizeof(Boolean), + XtOffsetOf(XimData, autoscale), + XtRImmediate, + (caddr_t)FALSE + }, + { + XtNantialias, + XtCAntialias, + XtRBoolean, + sizeof(Boolean), + XtOffsetOf(XimData, antialias), + XtRImmediate, + (caddr_t)FALSE + }, + { + XtNantialiasType, + XtCAntialiasType, + XtRString, + sizeof(String), + XtOffsetOf(XimData, antialiasType), + XtRImmediate, + (caddr_t)DEF_ANTIALIASTYPE + }, + { + XtNinvert, + XtCInvert, + XtRBoolean, + sizeof(Boolean), + XtOffsetOf(XimData, invert), + XtRImmediate, + (caddr_t)FALSE + }, + { + XtNtileFrames, + XtCTileFrames, + XtRBoolean, + sizeof(Boolean), + XtOffsetOf(XimData, tileFrames), + XtRImmediate, + (caddr_t)FALSE + }, + { + XtNhighlightFrames, + XtCHighlightFrames, + XtRBoolean, + sizeof(Boolean), + XtOffsetOf(XimData, highlightFrames), + XtRImmediate, + (caddr_t)TRUE + }, + { + XtNcmFocus, + XtCCmFocus, + XtRInt, + sizeof(int), + XtOffsetOf(XimData, cm_focus), + XtRImmediate, + (caddr_t)512 + }, + { + XtNgui, + XtCGui, + XtRString, + sizeof(String), + XtOffsetOf(XimData, gui), + XtRImmediate, + (caddr_t)"default" + }, + { + XtNimtoolrc, + XtCImtoolrc, + XtRString, + sizeof(String), + XtOffsetOf(XimData, imtoolrc), + XtRImmediate, + (caddr_t)FBCONFIG_2 + }, + { + XtNmemModel, + XtCMemModel, + XtRString, + sizeof(String), + XtOffsetOf(XimData, memModel), + XtRImmediate, + (caddr_t)"fast" + }, + { + XtNuserCMap1, + XtCUserCMap, + XtRString, + sizeof(String), + XtOffsetOf(XimData, userCMap1), + XtRImmediate, + (caddr_t)"none" + }, + { + XtNuserCMap2, + XtCUserCMap, + XtRString, + sizeof(String), + XtOffsetOf(XimData, userCMap2), + XtRImmediate, + (caddr_t)"none" + }, + { + XtNuserCMapDir1, + XtCUserCMapDir, + XtRString, + sizeof(String), + XtOffsetOf(XimData, userCMapDir1), + XtRImmediate, + (caddr_t)"none" + }, + { + XtNuserCMapDir2, + XtCUserCMapDir, + XtRString, + sizeof(String), + XtOffsetOf(XimData, userCMapDir2), + XtRImmediate, + (caddr_t)CMAPCONFIG + }, + { + XtNprintConfig, + XtCprintConfig, + XtRString, + sizeof(String), + XtOffsetOf(XimData, printConfig), + XtRImmediate, + (caddr_t)PRINTCONFIG + }, + { + XtNinput_fifo, + XtCInput_fifo, + XtRString, + sizeof(String), + XtOffsetOf(XimData, input_fifo), + XtRImmediate, + (caddr_t)O_DEVNAME + }, + { + XtNoutput_fifo, + XtCOutput_fifo, + XtRString, + sizeof(String), + XtOffsetOf(XimData, output_fifo), + XtRImmediate, + (caddr_t)I_DEVNAME + }, + { + XtNunixaddr, + XtCUnixaddr, + XtRString, + sizeof(String), + XtOffsetOf(XimData, unixaddr), + XtRImmediate, + (caddr_t)DEF_UNIXADDR + }, + { + XtNism_addr, + XtCIsm_addr, + XtRString, + sizeof(String), + XtOffsetOf(XimData, ism_addr), + XtRImmediate, + (caddr_t)DEF_ISM_ADDR + }, + { + XtNport, + XtCPort, + XtRInt, + sizeof(int), + XtOffsetOf(XimData, port), + XtRImmediate, + (caddr_t)DEF_PORT + }, + { + XtNnports, + XtCNPorts, + XtRInt, + sizeof(int), + XtOffsetOf(XimData, nports), + XtRImmediate, + (caddr_t)DEF_NPORTS + }, + { + XtNism_task, + XtCIsm_task, + XtRString, + sizeof(String), + XtOffsetOf(XimData, ism_task), + XtRImmediate, + (caddr_t)DEF_ISM_TASK + }, +}; + +int ncolormaps = 0; +int first_color = FIRST_COLOR; + +ColorMap colormaps[MAX_COLORMAPS] = { + { 0, "Grayscale" }, + { 0, "Color" }, + { 0, "Heat" }, + { 0, "HSV" }, + { 0, "AIPS0" }, + { 0, "Halley" }, + { 0, "Ramp" }, + { 0, "Standard" }, + { 0, "Staircase" }, + { 0, "Rainbow1" }, + { 0, "Rainbow2" }, + { 0, "Random" }, + { 0, "Random8" }, + { 0, "Random16" }, + { 0, "Red" }, + { 0, "Green" }, + { 0, "Blue" }, +}; + + +int nprinters = 0; +Printer printer_list[MAX_PRINTERS] = { + { "default", "lpr" }, /* should do more interesting examples */ + { "clp", "lpr -Pclp" }, + { "clp2", "lpr -Pclp2" }, + { "clp2t", "lpr -Pclp2t" }, + { "lw1", "lpr -Plw1" }, + { "lw2", "lpr -Plw2" }, + { "lw3", "lpr -Plw3" }, + { "lw4", "lpr -Plw4" }, + { "lw5", "lpr -Plw5" }, + { "lw6", "lpr -Plw6" }, + { "lw7", "lpr -Plw7" }, + { "lw8", "lpr -Plw8" }, + { "lw9", "lpr -Plw9" }, + { "lw10", "lpr -Plw10" }, + { "lw11", "lpr -Plw11" }, + { "lw12", "lpr -Plw12" }, + { "lw13", "lpr -Plw13" }, + { "lw14", "lpr -Plw14" }, + { "lw15", "lpr -Plw15" }, + { "lw16", "lpr -Plw16" }, + { "lw18", "lpr -Plw18" }, + { "lw19", "lpr -Plw19" }, + { "lw20", "lpr -Plw20" }, + { "lw21", "lpr -Plw21" }, + { "lw22", "lpr -Plw22" }, + { "lw23", "lpr -Plw23" }, + { "lw24", "lpr -Plw24" }, + { "lw25", "lpr -Plw25" }, + { "lw26", "lpr -Plw26" }, + { "lw27", "lpr -Plw27" }, + { "\0", "\0" }, +}; + + +#else + +extern XtResource resources[]; +extern XimData ximtool_data; +extern int ncolormaps; +extern int first_color; +extern ColorMap colormaps[]; +extern int nprinters; +extern Printer printer_list[]; + +#endif + +/* Functions. + */ +#ifndef abs +#define abs(a) (((a)<0)?(-(a)):(a)) +#endif +#ifndef min +#define min(a,b) ((a)<(b)?(a):(b)) +#endif +#ifndef max +#define max(a,b) ((a)<(b)?(b):(a)) +#endif +#ifndef nint +#define nint(a) ((a)<(0)?((int)(a-0.5)):((int)(a+0.5))) +#endif + +void xim_initialize(), xim_reset(), xim_resize(), xim_refresh(); +void xim_close(), xim_initFrame(), xim_setFrame(), xim_setRop(); +void xim_setReferenceFrame(), xim_setDisplayFrame(); +void xim_delFrame(), xim_setMapping(), xim_setZoom(); +void xim_setCursorPos(), xim_getCursorPos(), xim_setFlip(); +void xim_matchFrames(), xim_registerFrames(); +void xim_readCursor(), xim_frameChanged(); +void xim_message(), xim_msgi(), xim_alert(); +int xim_setColormap(); +int xim_getAntialias(); +char *xim_frameLabel(); + +int xim_writeDisplay(); +unsigned char *xim_readDisplay(); +void xim_initSave(), xim_closeSave(); +void ximp_rename(), ximp_cancel(); +void xims_rename(), xims_cancel(); +int xim_saveFile(); + +int xim_iisopen(); +void xim_iisclose(), xim_iisio(); +XtPointer xim_addInput(); +void xim_removeInput(); + +void xim_clientOpen(), xim_clientClose(); +int xim_clientExecute(); |