This is xv.h in view mode; [Download] [Up]
/* * xv.h - header file for xv, but you probably guessed as much * * Author: John Bradley, University of Pennsylvania * (bradley@cis.upenn.edu) */ /* Copyright Notice * ================ * Copyright 1989, 1990, 1991, 1992, 1993 by John Bradley * * Permission to use, copy, and distribute XV in its entirety, for * non-commercial purposes, is hereby granted without fee, provided that * this license information and copyright notice appear in all copies. * * Note that distributing XV 'bundled' in with ANY product is considered * to be a 'commercial purpose'. * * Also note that any copies of XV that are distributed MUST be built * and/or configured to be in their 'unregistered copy' mode, so that it * is made obvious to the user that XV is shareware, and that they should * consider donating, or at least reading this License Info. * * The software may be modified for your own purposes, but modified * versions may NOT be distributed without prior consent of the author. * * This software is provided 'as-is', without any express or implied * warranty. In no event will the author be held liable for any damages * arising from the use of this software. * * If you would like to do something with XV that this copyright * prohibits (such as distributing it with a commercial product, * using portions of the source in some other program, etc.), please * contact the author (preferably via email). Arrangements can * probably be worked out. * * XV is shareware for PERSONAL USE only. You may use XV for your own * amusement, and if you find it nifty, useful, generally cool, or of * some value to you, your non-deductable donation would be greatly * appreciated. $25 is the suggested donation, though, of course, * larger donations are quite welcome. Folks who donate $25 or more * can receive a Real Nice bound copy of the XV manual for no extra * charge. * * Commercial, government, and institutional users MUST register their * copies of XV, for the exceedingly REASONABLE price of just $25 per * workstation/X terminal. Site licenses are available for those who * wish to run XV on a large number of machines. Contact the author * for more details. * * The author may be contacted via: * US Mail: John Bradley * 1053 Floyd Terrace * Bryn Mawr, PA 19010 * * Phone: (215) 898-8813 * EMail: bradley@cis.upenn.edu */ #define REVDATE "Version 3.00 Rev: 3/30/93" #define VERSTR "3.00" /* * uncomment the following, and modify for your site, but only if you've * actually registered your copy of XV... */ /* #define REGSTR "Registered to the GRASP Lab, University of Pennsylvania" */ #ifndef VMS #define THUMBDIR ".xvpics" /* name of thumbnail file subdirectories */ #else #define THUMBDIR "xvpics" #endif /*************************************************/ /* START OF MACHINE-DEPENDENT CONFIGURATION INFO */ /*************************************************/ /* Things to make xv more likely to just build, without the user tweaking the makefile */ #ifdef hpux /* HPUX machines (SVR4, NO_RANDOM) */ #undef SVR4 #define SVR4 #undef NO_RANDOM #define NO_RANDOM #endif #ifdef sgi /* SGI machines (SVR4) */ #undef SVR4 #define SVR4 #endif #include <X11/Xos.h> /* need type declarations immediately */ /*********************************************************/ /* The BSD typedefs are used throughout. * If your system doesn't have them in <sys/types.h>, * then define BSDTYPES in your Makefile. */ #if defined(BSDTYPES) || defined(VMS) typedef unsigned char u_char; typedef unsigned short u_short; typedef unsigned int u_int; typedef unsigned long u_long; #endif #ifdef __UMAXV__ /* for Encore Computers UMAXV */ #include <sys/fs/b4param.h> /* Get bsd fast file system params*/ #endif /* things that *DON'T* have dirent. Hopefully a very short list */ #if defined(__UMAXV__) # ifndef NODIRENT # define NODIRENT # endif #endif /* include files */ #include <stdio.h> #include <math.h> #include <ctype.h> #ifdef __STDC__ #include <stddef.h> #include <stdlib.h> #endif /* include the appropriate string header file */ #if defined(SVR4) || defined(__convex__) || defined(VMS) #include <string.h> #define index strchr #define rindex strrchr #else #include <strings.h> #endif #if defined(SVR4) || defined(sco) || defined(XENIX) #define GETWD(x) getcwd(x, sizeof(x)) #else #define GETWD(x) getwd(x) #endif #if defined(apollo) || defined(pyr) /* DomainOS 10.2 BSD4.3 version of str[r]chr is broken ([r]index works) */ /* pyramid bsd doesn't have str[r]chr */ #define strchr index #define strrchr rindex #endif #ifndef VMS #include <errno.h> extern int errno; /* this SHOULD be in errno.h */ extern char *sys_errlist[]; /* this too... */ #endif /* not everyone has the strerror() function, or so I'm told */ #ifndef VMS #define ERRSTR(x) sys_errlist[x] #else #define ERRSTR(x) strerror(x, vaxc$errno) #endif #ifdef VMS /* VMS config, hacks & kludges */ #define MAXPATHLEN 512 #define popUp xv_popup #define qsort xv_qsort #define random rand #define srandom srand #define cols xv_cols #include <errno.h> /* in VMS they *are* in errno.h */ #include <perror.h> /* and perror.h */ #endif #ifndef VMS /* VMS still hates multi-line '#if's */ /* lots of things don't have <malloc.h> */ /* A/UX systems include it from stdlib, from Xos.h */ # if !defined(ibm032) && \ !defined(__convex__) && \ !(defined(vax) && !defined(ultrix)) && \ !defined(mips) && \ !defined(apollo) && \ !defined(pyr) && \ !defined(__UMAXV__) && \ !defined(bsd43) && \ !defined(macII) && \ !defined(sequent) # if defined(hp300) || defined(hp800) || defined(NeXT) # include <sys/malloc.h> /* it's in 'sys' on HPs and NeXT */ # else # include <malloc.h> # endif # endif #endif /* !VMS */ #include <X11/Xlib.h> #include <X11/Xutil.h> #include <X11/cursorfont.h> #include <X11/keysym.h> #include <X11/Intrinsic.h> #include <X11/Xatom.h> #include <X11/Xmd.h> #if defined(NEEDSTIME) || defined(NEEDSDIR) #include <sys/types.h> /* only include <sys/types.h> once */ #endif #ifdef NEEDSTIME # if defined(SVR4) || defined(macII) # include <sys/time.h> # else # if !defined(sgi) && !defined(__UMAXV__) && !defined(macII) # include <sys/timeb.h> # endif # endif # undef SIGCHLD /* defined in both Xos.h and signal.h */ # include <signal.h> # ifdef sgi /* need 'CLK_TCK' value for sginap() call */ # include <limits.h> # endif # ifndef sigmask # define sigmask(m) (1 << ((m)-1)) # endif #endif /* NEEDSTIME */ #ifdef NEEDSDIR # ifdef VMS # include <descrip.h> # include <stat.h> # include "dirent.h" # else # ifdef NODIRENT # include <sys/dir.h> # else # include <dirent.h> # endif # include <sys/param.h> # include <sys/stat.h> # if defined(__convex__) && defined (__STDC__) # define S_IFMT _S_IFMT # define S_IFDIR _S_IFDIR # define S_IFCHR _S_IFCHR # define S_IFBLK _S_IFBLK # endif # endif #endif #ifdef NEEDSARGS # if defined(__STDC__) && !defined(NOSTDHDRS) # include <stdarg.h> # else # include <varargs.h> # endif #endif /* signal macros */ #define HOLD_SIG sigblock(sigmask(SIGALRM)) #define RELEASE_SIG sigblock(0) #define PAUSE_SIG sigpause(0) /* default for most folks */ #define UNCOMPRESS "/usr/ucb/uncompress" /* for uncompressing .Z files */ #if defined(hpux) || defined(SVR4) || defined(__386BSD__) #undef UNCOMPRESS #define UNCOMPRESS "/usr/bin/uncompress" /* for uncompressing .Z files */ #endif #ifdef VMS /* you WILL have to personalize for your own DECUS VMS version of the Martin Minow LZDCMP for this to work properly... */ # undef UNCOMPRESS # ifdef HAVE_LZW # define UNCOMPRESS "LZDCMP /Export = Unix /Mode = Binary" # else # define UNCOMPRESS "DECOMPRESS" # endif /* HAVE_LZW */ #endif /* VMS */ #ifndef MAXPATHLEN #define MAXPATHLEN 256 #endif #ifdef NO_RANDOM #define random rand #define srandom srand #endif /*****************************/ /* END OF CONFIGURATION INFO */ /*****************************/ #define PROGNAME "xv" /* used in resource database */ #define INFOWIDE 500 /* (fixed) size of info window */ #define INFOHIGH 250 #define CTRLWIDE 440 /* (fixed) size of control window */ #define CTRLHIGH 385 #define MAXNAMES 4096 /* max # of files in ctrlW list */ #define MAXBRWIN 4 /* max # of vis browser windows */ /* strings in the INFOBOX (used in SetISTR and GetISTR) */ #define NISTR 9 /* number of ISTRs */ #define ISTR_INFO 0 #define ISTR_WARNING 1 #define ISTR_FILENAME 2 #define ISTR_FORMAT 3 #define ISTR_RES 4 #define ISTR_CROP 5 #define ISTR_EXPAND 6 #define ISTR_COLOR 7 #define ISTR_COLOR2 8 /* potential values of 'infomode', used in info box drawing routines */ #define INF_NONE 0 /* empty box */ #define INF_STR 1 /* just ISTR_INFO */ #define INF_PART 2 /* filename, format, size and infostr */ #define INF_FULL 3 /* INF_PART + clipping, expansion, colorinfo */ /* buttons in the ctrl window */ #define NBUTTS 34 #define BVBROWSE 0 #define BNEXT 1 #define BPREV 2 #define BLOAD 3 #define BSAVE 4 #define BGAMMA 5 #define BINFO 6 #define BLICENSE 7 #define BTXVIEW 8 #define BCMTVIEW 9 #define BGRAB 10 #define BDELETE 11 #define BQUIT 12 #define BCROP 13 #define BUNCROP 14 #define BACROP 15 #define BNORM 16 #define BMAX 17 #define BMAXPECT 18 #define BUP2 19 #define BDN2 20 #define BSETSIZE 21 #define BASPECT 22 #define B4BY3 23 #define BINTSIZE 24 #define BRAW 25 #define BDITH 26 #define BSMOOTH 27 #define BDN10 28 #define BUP10 29 #define BROTL 30 #define BROTR 31 #define BFLIPH 32 #define BFLIPV 33 /* buttons in the load/save window */ #define S_LOAD_NBUTTS 4 #define S_NBUTTS 5 #define S_BOK 0 #define S_BCANC 1 #define S_BRESCAN 2 #define S_BLOADALL 3 #define S_BOLDSET 3 #define S_BOLDNAM 4 /* buttons in the 'gamma' window */ #define G_NBUTTS 24 #define G_BAPPLY 0 #define G_BNOGAM 1 #define G_BRESET 2 #define G_BCLOSE 3 #define G_BUP_BR 4 #define G_BDN_BR 5 #define G_BUP_CN 6 #define G_BDN_CN 7 #define G_B1 8 #define G_B2 9 #define G_B3 10 #define G_B4 11 #define G_BSET 12 #define G_BUNDO 13 #define G_BREDO 14 #define G_BCOLREV 15 #define G_BRNDCOL 16 #define G_BHSVRGB 17 #define G_BCOLUNDO 18 #define G_BRV 19 #define G_BMONO 20 #define G_BMAXCONT 21 #define G_BGETRES 22 #define G_BHISTEQ 23 /* constants for setting radio buttons in dirW */ #define F_COLORS 0 #define F_FORMAT 1 #define F_FULLCOLOR 0 #define F_GREYSCALE 1 #define F_BWDITHER 2 #define F_REDUCED 3 #define F_GIF 0 #define F_PM 1 #define F_PBMRAW 2 #define F_PBMASCII 3 #define F_XBM 4 #define F_SUNRAS 5 #define F_BMP 6 #define F_PS 7 #define F_IRIS 8 #ifdef HAVE_JPEG #define F_JPEG 9 #endif #ifdef HAVE_TIFF #ifdef HAVE_JPEG #define F_TIFF 10 #else #define F_TIFF 9 #endif #endif /* return values from ReadFileType() * positive values are *definitely* readable formats (HAVE_*** is defined) * negative values are random files that XV can't read, but display as * different icons in the visual browser */ #define RFT_ERROR -1 /* couldn't open file, or whatever... */ #define RFT_UNKNOWN 0 #define RFT_GIF 1 #define RFT_PM 2 #define RFT_PBM 3 #define RFT_XBM 4 #define RFT_SUNRAS 5 #define RFT_BMP 6 #define RFT_UTAHRLE 7 #define RFT_IRIS 8 #define RFT_PCX 9 #define RFT_JFIF 10 #define RFT_TIFF 11 #define RFT_PDSVICAR 12 #define RFT_COMPRESS 13 #define RFT_PS 14 /* definitions for page up/down, arrow up/down list control */ #define LS_PAGEUP 0 #define LS_PAGEDOWN 1 #define LS_LINEUP 2 #define LS_LINEDOWN 3 #define LS_HOME 4 #define LS_END 5 /* values 'epicMode' can take */ #define EM_RAW 0 #define EM_DITH 1 #define EM_SMOOTH 2 /* things EventLoop() can return (0 and above reserved for 'goto pic#') */ #define QUIT -1 /* exit immediately */ #define NEXTPIC -2 /* goto next picture */ #define PREVPIC -3 /* goto prev picture */ #define NEXTQUIT -4 /* goto next picture, quit if none (used by 'wait') */ #define LOADPIC -5 /* load 'named' pic (from directory box) */ #define NEXTLOOP -6 /* load next pic, loop if we're at end */ #define DFLTPIC -7 /* load the default image */ #define DELETE -8 /* just deleted pic. load 'right' thing */ #define GRABBED -9 /* just grabbed a pic. 'load' it up */ #define POLLED -10 /* polling, and image file has changed... */ #define RELOAD -11 /* 'reload' interrupt came. be happier about errors */ #define THISNEXT -12 /* load 'current' selection, Next until success */ #define OP_PAGEUP -13 /* load previous page of multi-page document */ #define OP_PAGEDN -14 /* load next page of multi-page document */ /* possible values of 'rootMode' */ #define RM_NORMAL 0 /* default X tiling */ #define RM_TILE 1 /* integer tiling */ #define RM_MIRROR 2 /* mirror tiling */ #define RM_IMIRROR 3 /* integer mirror tiling */ #define RM_CENTER 4 /* modes >= RM_CENTER centered on some sort of bg */ #define RM_CENTILE 4 /* centered and tiled. NOTE: equals RM_CENTER */ #define RM_CSOLID 5 /* centered on a solid bg */ #define RM_CWARP 6 /* centered on a 'warp-effect' bg */ #define RM_CBRICK 7 /* centered on a 'brick' bg */ #define RM_ECENTER 8 /* symmetrical tiled */ #define RM_ECMIRR 9 /* symmetrical mirror tiled */ #define RM_MAX RM_ECMIRR /* values of colorMapMode */ #define CM_NORMAL 0 /* normal RO or RW color allocation */ #define CM_PERFECT 1 /* install own cmap if necessary */ #define CM_OWNCMAP 2 /* install own cmap always */ #define CM_STDCMAP 3 /* use stdcmap */ /* values of haveStdCmap */ #define STD_NONE 0 /* no stdcmap currently defined */ #define STD_111 1 /* 1/1/1 stdcmap is available */ #define STD_222 2 /* 2/2/2 stdcmap is available */ #define STD_666 3 /* 6x6x6 stdcmap is available */ #define STD_332 4 /* 3/3/2 stdcmap is available */ /* values of allocMode */ #define AM_READONLY 0 #define AM_READWRITE 1 /* selections in dispMB */ #define DMB_WINDOW 0 #define DMB_ROOT 1 #define DMB_TILE 2 #define DMB_MIRROR 3 #define DMB_IMIRROR 4 #define DMB_CENTILE 5 #define DMB_CSOLID 6 #define DMB_CWARP 7 #define DMB_CBRICK 8 #define DMB_ECENTER 9 #define DMB_ECMIRR 10 #define DMB_SEP1 11 /* ---- separator */ #define DMB_COLRW 12 #define DMB_SEP2 13 /* ---- separator */ #define DMB_COLNORM 14 #define DMB_COLPERF 15 #define DMB_COLOWNC 16 #define DMB_COLSTDC 17 #define DMB_MAX 18 /* indicies into conv24MB */ #define CONV24_8BIT 0 #define CONV24_24BIT 1 #define CONV24_SEP1 2 #define CONV24_LOCK 3 #define CONV24_SEP2 4 #define CONV24_FAST 5 #define CONV24_SLOW 6 #define CONV24_BEST 7 #define CONV24_MAX 8 /* values 'picType' can take */ #define PIC8 CONV24_8BIT #define PIC24 CONV24_24BIT /* indicies into algMB */ #define ALG_NONE 0 #define ALG_SEP1 1 /* separator */ #define ALG_BLUR3 2 #define ALG_BLUR5 3 #define ALG_BLUR7 4 #define ALG_EDGE 5 #define ALG_TINF 6 #define ALG_OIL 7 #define ALG_MAX 8 /* definitions of first char of dirnames[i] (filetype) */ #define C_FIFO 'f' /* FIFO special file */ #define C_CHR 'c' /* character special file */ #define C_DIR 'd' /* directory */ #define C_BLK 'b' /* block special file */ #define C_LNK 'l' /* symbolic link */ #define C_SOCK 's' /* socket */ #define C_REG ' ' /* regular file */ #define C_EXE 'x' /* executable file */ /* values used in Draw3dRect() */ #define R3D_OUT 0 /* rect sticks 'out' from screen */ #define R3D_IN 1 /* rect goes 'in' screen */ #define MBSEP "\001" /* special string for a --- separator in MBUTT */ /* random string-placing definitions */ #define SPACING 3 /* vertical space between strings */ #define ASCENT (mfinfo->ascent) #define DESCENT (mfinfo->descent) #define CHIGH (ASCENT + DESCENT) #define LINEHIGH (CHIGH + SPACING) #define STDINSTR "<stdin>" #ifndef MAIN #define WHERE extern #else #define WHERE #endif typedef unsigned char byte; typedef struct { Window win; /* window ID */ int len; /* length of major axis */ int vert; /* true if vertical, else horizontal */ int active; /* true if scroll bar can do anything*/ int min,max; /* min/max values 'pos' can take */ int val; /* 'value' of scrollbar */ int page; /* amt val change on pageup/pagedown */ int tpos; /* thumb pos. (pixels from tmin) */ int tmin,tmax; /* min/max thumb offsets (from 0,0) */ int tsize; /* size of thumb (in pixels) */ u_long fg,bg,hi,lo; /* colors */ void (*drawobj)(); /* redraws obj controlled by scrl*/ int uplit, dnlit; /* true if up&down arrows are lit */ } SCRL; typedef struct { Window win; /* window ID */ int w,h; /* size of window */ int active; /* true if can do anything*/ int min,max; /* min/max values 'pos' can take */ int val; /* 'value' of dial */ int page; /* amt val change on pageup/pagedown */ char *title; /* title for this guage */ char *units; /* string appended to value */ u_long fg,bg,hi,lo; /* colors */ int rad, cx, cy; /* internals */ int bx[4], by[4]; /* more internals */ void (*drawobj)(); /* redraws obj controlled by dial */ } DIAL; typedef struct { Window win; /* parent window */ int x,y,w,h; /* size of button rectangle */ int lit; /* if true, invert colors */ int active; /* if false, stipple gray */ int toggle; /* if true, clicking toggles state */ u_long fg,bg,hi,lo; /* colors */ char *str; /* string in button */ Pixmap pix; /* use pixmap instead of string */ int pw,ph; /* size of pixmap */ int style; /* ... */ int fwidth; /* width of frame */ } BUTT; typedef struct rbutt { Window win; /* parent window */ int x,y; /* position in parent */ char *str; /* the message string */ int selected; /* selected or not */ int active; /* selectable? */ struct rbutt *next; /* pointer to next in group */ u_long fg,bg,hi,lo; /* colors */ } RBUTT; typedef struct cbutt { Window win; /* parent window */ int x,y; /* position in parent */ char *str; /* the message string */ int val; /* 1=selected, 0=not */ int active; /* selectable? */ u_long fg,bg,hi,lo; /* colors */ } CBUTT; #define MAXMBLEN 32 /* max # of items in an mbutt */ typedef struct mbutt { Window win; /* parent window */ int x,y,w,h; /* position in parent */ char *title; /* title string in norm state */ int active; /* selectable? */ char **list; /* list of strings in menu */ int nlist; /* # of strings in menu */ byte flags[MAXMBLEN]; /* checkmarks on items */ byte dim[MAXMBLEN]; /* dim individual choices */ Pixmap pix; /* use pixmap instd of string */ int pw,ph; /* size of pixmap */ u_long fg,bg,hi,lo; /* colors */ Window mwin; /* popup menu window */ } MBUTT; typedef struct { Window win; /* window */ int x,y,w,h; /* size of window */ u_long fg,bg,hi,lo; /* colors */ char **str; /* ptr to list of strings */ int nstr; /* number of strings */ int selected; /* number of 'selected' string */ int nlines; /* number of lines shown at once */ SCRL scrl; /* scrollbar that controls list */ int filetypes; /* true if filetype icons to be drawn*/ int dirsonly; /* if true, only dirs selectable */ } LIST; /* info structure filled in by the LoadXXX() image reading routines */ typedef struct { byte *pic; /* image data */ int w, h; /* size */ int type; /* PIC8 or PIC24 */ byte r[256],g[256],b[256]; /* colormap, if PIC8 */ int frmType; /* def. Format type to save in */ int colType; /* def. Color type to save in */ char fullInfo[128]; /* Format: field in info box */ char shrtInfo[128]; /* short format info */ char *comment; /* comment text */ int numpages; /* # of page files, if >1 */ char pagebname[64]; /* basename of page files */ } PICINFO; #define MAX_GHANDS 16 /* maximum # of GRAF handles */ #define N_GFB 6 #define GFB_SPLINE 0 #define GFB_LINE 1 #define GFB_ADDH 2 #define GFB_DELH 3 #define GFB_RESET 4 #define GFB_GAMMA 5 #define GVMAX 8 typedef struct { Window win; /* window ID */ Window gwin; /* graph subwindow */ int spline; /* spline curve or lines? */ int entergamma; /* currently entering gamma value */ int gammamode; /* currently using gamma function */ double gamma; /* gamma value (if gammamode) */ int nhands; /* current # of handles */ XPoint hands[MAX_GHANDS]; /* positions of handles */ byte func[256]; /* output function of GRAF */ BUTT butts[N_GFB]; /* control buttons */ u_long fg,bg; /* colors */ char *str; /* title string */ char gvstr[GVMAX+1]; /* gamma value input string */ void (*drawobj)(); } GRAF; typedef struct { int spline; int entergamma; int gammamode; double gamma; int nhands; XPoint hands[MAX_GHANDS]; char gvstr[GVMAX+1]; } GRAF_STATE; /* MACROS */ #define CENTERX(f,x,str) ((x)-XTextWidth(f,str,strlen(str))/2) #define CENTERY(f,y) ((y)-((f->ascent+f->descent)/2)+f->ascent) /* RANGE forces a to be in the range b..c (inclusive) */ #define RANGE(a,b,c) { if (a < b) a = b; if (a > c) a = c; } /* PTINRECT returns '1' if x,y is in rect (inclusive) */ #define PTINRECT(x,y,rx,ry,rw,rh) \ ((x)>=(rx) && (y)>=(ry) && (x)<=(rx)+(rw) && (y)<=(ry)+(rh)) /* MONO returns total intensity of r,g,b components */ #define MONO(rd,gn,bl) (((rd)*11 + (gn)*16 + (bl)*5) >> 5) /*.33R+ .5G+ .17B*/ /* ISPIPE returns true if the passed in character is considered the start of a 'load-from-pipe' or 'save-to-pipe' string */ #define ISPIPE(c) ((c)=='!' || (c)=='|') /* X stuff */ WHERE Display *theDisp; WHERE int theScreen; WHERE unsigned int ncells, dispWIDE, dispHIGH, dispDEEP; WHERE unsigned int vrWIDE, vrHIGH, maxWIDE, maxHIGH; WHERE Colormap theCmap, LocalCmap; WHERE Window rootW, mainW, vrootW; WHERE GC theGC; WHERE u_long black, white, fg, bg, infofg, infobg; WHERE u_long hicol, locol; WHERE u_long blkRGB, whtRGB; WHERE Font mfont, monofont; WHERE XFontStruct *mfinfo, *monofinfo; WHERE Visual *theVisual; WHERE Cursor arrow, cross, tcross, zoom, inviso; WHERE Pixmap iconPix, iconmask; WHERE int showzoomcursor; /* XV global vars */ WHERE byte *pic; /* ptr to loaded picture */ WHERE int pWIDE,pHIGH; /* size of 'pic' */ WHERE byte rMap[256],gMap[256],bMap[256]; /* colormap */ WHERE char *cmd; /* program name for printf's */ WHERE int DEBUG; /* print debugging info */ WHERE int mono; /* true if displaying grayscale */ WHERE char formatStr[80]; /* short-form 'file format' */ WHERE int picType; /* CONV24_8BIT,CONV24_24BIT,etc.*/ WHERE char *picComments; /* text comments on current pic */ WHERE int numPages, curPage; /* for multi-page files */ WHERE char pageBaseName[64]; /* basename for multi-page files */ WHERE byte *cpic; /* cropped version of pic */ WHERE int cWIDE, cHIGH, /* size of cropped region */ cXOFF, cYOFF; /* offset of region from 0,0 of pic */ WHERE byte *epic; /* expanded version of cpic */ /* points to cpic when at 1:1 expansion */ /* this is converted to 'theImage' */ WHERE int eWIDE, eHIGH; /* size of epic */ WHERE byte *egampic; /* expanded, gammified cpic (only used in 24-bit mode) */ WHERE int p_offx, p_offy; /* offset of reparented windows */ WHERE int ch_offx,ch_offy; /* ChngAttr ofst for reparented windows */ WHERE int kludge_offx, /* WM kludges for SetWindowPos routine */ kludge_offy; WHERE byte rorg[256], gorg[256], borg[256]; /* ORIGINAL colormap */ WHERE byte rcmap[256], gcmap[256], bcmap[256]; /*post-cmap-editing*/ WHERE byte rdisp[256],gdisp[256],bdisp[256]; /* DISPLAYED colors */ WHERE byte colAllocOrder[256]; /* order to allocate cols */ WHERE unsigned long freecols[256]; /* list of pixel values to free */ WHERE byte rwpc2pc[256]; /* mapping of shared pixels in -rw mode */ WHERE int nfcols; /* number of colors to free */ WHERE unsigned long cols[256]; /* maps pic pixel values to X pixel vals */ WHERE int fc2pcol[256]; /* maps freecols into pic pixel values */ WHERE int numcols; /* # of desired colors in picture */ /* Std Cmap stuff */ WHERE byte stdr[256], stdg[256], stdb[256]; /* std 3/3/2 cmap */ WHERE unsigned long stdcols[256]; /* 3/3/2 -> X colors */ WHERE byte stdrdisp[256], stdgdisp[256], stdbdisp[256]; WHERE unsigned long stdfreecols[256]; /* list of cols to free on exit */ WHERE int stdnfcols; /* # of cols in stdfreecols[] */ /* colormap for 'browser' window */ WHERE byte browR[256], browG[256], browB[256]; /* used in genIcon */ WHERE unsigned long browcols[256]; /* maps 3/3/2 colors into X colors */ WHERE int browPerfect; WHERE Colormap browCmap; WHERE byte fsgamcr[256]; /* gamma correction curve (for FS dither) */ /* vars that affect how color allocation is done */ WHERE int allocMode; /* AM_READONLY, AM_READWRITE */ WHERE int rwthistime; /* true if we DID use R/W color cells */ WHERE int colorMapMode; /* CM_NORMAL, CM_PERFECT, CM_OWMCMAP ... */ WHERE int haveStdCmap; /* STD_NONE, STD_222, STD_666, STD_332 */ WHERE int novbrowse; /* if true, won't need colors for browser */ WHERE int defaultCmapMode; /* last user-selected cmap mode */ WHERE XImage *theImage; /* X version of epic */ WHERE int ncols; /* max # of (different) colors to alloc */ WHERE char str[128]; /* dummy string used for error messages */ WHERE char initdir[MAXPATHLEN]; /* cwd when xv was started */ WHERE char searchdir[MAXPATHLEN]; /* '-dir' option */ WHERE char fullfname[MAXPATHLEN]; /* full name of current file */ WHERE char *winTitle; /* user-specified mainW title */ WHERE int bwidth, /* border width of created windows */ fixedaspect, /* fixed aspect ratio */ conv24, /* 24to8 algorithm to use (CONV24_*) */ ninstall, /* true if using icccm-complaint WM (a WM that will does install CMaps */ useroot, /* true if we should draw in rootW */ nolimits, /* No limits on picture size */ resetroot, /* true if we should clear in window mode */ noqcheck, /* true if we should NOT do QuickCheck */ epicMode, /* either SMOOTH, DITH, or RAW */ autoclose, /* if true, autoclose when iconifying */ polling, /* if true, reload if file changes */ viewonly, /* if true, ignore any user input */ noFreeCols, /* don't free colors when loading new pic */ autoquit, /* quit in '-root' or when click on win */ xerrcode, /* errorcode of last X error */ grabDelay; /* # of seconds to sleep at start of Grab */ WHERE int state824; /* displays warning when going 8->24 */ WHERE float defaspect, /* default aspect ratio to use */ normaspect; /* normal aspect ratio of this picture */ WHERE int crx1, cry1, /* dimensions of cropping rectangle */ crx2, cry2; WHERE unsigned long rootbg, rootfg; /* fg/bg for root border */ WHERE int waitsec; /* secs btwn pics. -1=wait for event */ WHERE int waitloop; /* loop at end of slide show? */ WHERE int automax; /* maximize pic on open */ WHERE int rootMode; /* mode used for -root images */ WHERE int nostat; /* if true, don't stat() in LdCurDir */ WHERE int ctrlColor; /* whether or not to use colored butts */ WHERE char *def_str; /* used by rd_*() routines */ WHERE int def_int; WHERE char *tmpdir; /* equal to "/tmp" or $TMPDIR env var */ WHERE Pixmap gray25Tile, /* used for 3d effect on 1-bit disp's */ gray50Tile; /* stuff used for 'info' box */ WHERE Window infoW; WHERE int infoUp; /* boolean: whether infobox is visible */ WHERE int infoMode; /* stuff used for 'ctrl' box */ WHERE Window ctrlW; WHERE int ctrlUp; /* boolean: whether ctrlbox is visible */ WHERE char *namelist[MAXNAMES]; /* list of file names from argv */ WHERE char *dispnames[MAXNAMES]; /* truncated names shown in listbox */ WHERE int numnames, curname; WHERE LIST nList; WHERE BUTT but[NBUTTS]; /* command buttons in ctrl window */ WHERE Pixmap grayTile; /* bg pixmap used on 1-bit systems */ WHERE Pixmap dimStip; /* for drawing dim things */ WHERE MBUTT dispMB; /* display mode menu button */ WHERE int dispMode; WHERE MBUTT conv24MB; /* 24-to-8 conversion mode mbutt */ WHERE MBUTT algMB; /* Algorithms mbutt */ /* stuff used for 'directory' box */ WHERE Window dirW, dnamW; WHERE int dirUp; /* is dirW mapped or not */ WHERE LIST dList; /* list of filenames in current directory */ WHERE BUTT dbut[S_NBUTTS]; WHERE CBUTT browseCB, savenormCB, flistCB; /* stuff used for 'gamma' box */ WHERE Window gamW; WHERE int gamUp; /* is gamW mapped or not */ WHERE BUTT gbut[G_NBUTTS]; WHERE int editColor; /* currently selected color # */ WHERE int hsvmode; /* true if in HSVmode */ WHERE int cellgroup[256], curgroup, maxgroup; /* grouped colorcell stuff */ WHERE int cmapInGam; /* stuff used for 'browse' box */ WHERE int anyBrowUp; /* whether *any* browser visible */ /* stuff used for textview windows */ WHERE int anyTextUp; /* are any text windows visible? */ WHERE int commentUp; /* comment window up? */ /* stuff used for 'ps' box */ WHERE Window psW; WHERE int psUp; /* is psW mapped, or what? */ WHERE CBUTT encapsCB, pscompCB; WHERE char *gsDev, *gsGeomStr; WHERE int gsRes; #ifdef HAVE_JPEG /* stuff used for 'jpeg' box */ WHERE Window jpegW; WHERE int jpegUp; /* is jpegW mapped, or what? */ #endif #ifdef HAVE_TIFF /* stuff used for 'tiff' box */ WHERE Window tiffW; WHERE int tiffUp; /* is tiffW mapped, or what? */ #endif #undef WHERE /* function declarations for externally-callable functions */ #ifdef __STDC__ /****************************** XV.C ****************************/ int ReadFileType(char *); int ReadPicFile(char *, int, PICINFO *, int); int UncompressFile(char *, char *); void KillPageFiles(char *, int); void NewPicGetColors(int, int); void FixAspect(int, int *, int *); void ActivePrevNext(void); int DeleteCmd(void); void StickInCtrlList(void); void AddFNameToCtrlList(char *, char *); void ChangedCtrlList(void); void HandleDispMode(void); char *lower_str(char *); int rd_int(char *); int rd_str(char *); int rd_flag(char *); int rd_str_cl(char *, char *); /****************************** XVEVENT.C ****************************/ int EventLoop(void); int HandleEvent(XEvent *, int *); void DrawWindow(int,int,int,int); void WResize(int, int); void WRotate(void); void WCrop(int, int); void WUnCrop(void); void GetWindowPos(XWindowAttributes *); void SetWindowPos(XWindowAttributes *); void InvCropRect(void); void SetEpicMode(void); int xvErrorHandler(Display *, XErrorEvent *); /****************************** XVROOT.C ****************************/ void MakeRootPic(void); void ClearRoot(void); void SaveRootInfo(void); void KillOldRootInfo(void); /*************************** XVMISC.C ***************************/ void StoreDeleteWindowProp(Window); Window CreateWindow(char *, char *, char *, int, int, u_long, u_long, int); void CenterString(Window, char *, int, int); void ULineString(Window, char *, int, int); int StringWidth(char *); void FakeButtonPress(BUTT *); void FakeKeyPress(Window, KeySym); void GenExpose(Window, int, int, int, int); void DimRect(Window, int, int, int, int, u_long); void Draw3dRect(Window, int, int, int, int, int, int, u_long, u_long, u_long); void xvDestroyImage(XImage *); void SetCropString(int); void Warning(void); void FatalError(char *); void Quit(int); void LoadFishCursors(void); void WaitCursor(void); void SetCursors(int); char *BaseName(char *); void DrawTempGauge(Window, int, int, int, int, double, u_long, u_long, u_long, u_long); void XVDeletedFile(char *); void XVCreatedFile(char *); void xvbcopy(char *, char *, int); int xvbcmp(char *, char *, int); void xvbzero(char *, int); void Timer(int); /*************************** XVCOLOR.C ***************************/ void SortColormap(void); void AllocColors(void); Status xvAllocColor(Display *, Colormap, XColor *); void xvFreeColors(Display *, Colormap, u_long *, int, u_long); void FreeColors(void); void ApplyEditColor(int); int MakeStdCmaps(void); void MakeBrowCmap(void); void ChangeCmapMode(int, int, int); /*************************** XVIMAGE.C ***************************/ void Resize(int, int); void GenerateEpic(int, int); void DoZoom(int, int, int); void Crop(void); void UnCrop(void); void AutoCrop(void); int DoAutoCrop(void); void DoCrop(int, int, int, int); void Rotate(int); void DoRotate(int); void RotatePic(byte *, int, int *, int *, int); void Flip(int); void FlipPic(byte *, int, int, int); void InstallNewPic(void); void DrawEpic(void); void KillOldPics(void); byte *FSDither(byte *, int, int, int, byte *, byte *, byte *, int, int); void CreateXImage(void); XImage *Pic8ToXImage(byte *, int, int, u_long *, byte *,byte *,byte *); XImage *Pic24ToXImage(byte *, int, int); void Set824Menus(int); void Change824Mode(int); void FreeEpic(void); void InvertPic24(byte *, int, int); /*************************** XVALG.C ***************************/ void AlgInit(void); void DoAlg(int); /*************************** XVSMOOTH.C ***************************/ byte *SmoothResize(byte *, int, int, int, int, byte *, byte *, byte *, byte *, byte *, byte *, int); byte *Smooth24(byte *, int, int, int, int, int, byte *, byte *, byte *); byte *DoColorDither(byte *, byte *, int, int, byte *, byte *, byte *, byte *, byte *, byte *, int); byte *Do332ColorDither(byte *, byte *, int, int, byte *, byte *, byte *, byte *, byte *, byte *, int); /*************************** XV24TO8.C **************************/ void Init24to8(void); byte *Conv24to8(byte *, int, int, int, byte *, byte *, byte *); byte *Conv8to24(byte *, int, int, byte *, byte *, byte *); /**************************** XVCTRL.C **************************/ void CreateCtrl(char *); void CtrlBox(int); void RedrawCtrl(int, int, int, int); int ClickCtrl(int, int); void DrawCtrlNumFiles(void); void DrawCtrlStr(void); void ScrollToCurrent(LIST *); void LSCreate(LIST *, Window, int, int, int, int, int, char **, int, u_long, u_long, u_long, u_long, void (*)(int, SCRL *), int, int); void LSRedraw(LIST *, int); int LSClick (LIST *, XButtonEvent *); void LSChangeData(LIST *, char **, int); void LSNewData(LIST *, char **, int); void LSKey(LIST *, int); /*************************** XVINFO.C ***************************/ void CreateInfo(char *); void InfoBox(int); void RedrawInfo(int, int, int, int); void SetInfoMode(int); #if defined(__STDC__) && !defined(NOSTDHDRS) void SetISTR(int, ...); #else void SetISTR(); #endif char *GetISTR(int); /**************************** XVDIR.C ***************************/ void CreateDirW(char *); void DirBox(int); void RedrawDirW(int,int,int,int); int ClickDirW(int, int); void LoadCurrentDirectory(void); void GetDirPath(char *); int DirCheckCD(void); void RedrawDDirW(void); void RedrawDNamW(void); void SelectDir(int); void TrackDDirW(int,int); int DirKey(int); int DoSave(void); void SetDirFName(char *); char *GetDirFName(void); void SetDirRButt(int, int); int Globify(char *); FILE *OpenOutFile(char *); int CloseOutFile(FILE *, char *, int); byte *HandleBWandReduced(int, int *, byte **, byte **, byte **); void InitPoll(void); int CheckPoll(int); void DIRDeletedFile(char *); void DIRCreatedFile(char *); /*************************** XVBROWSE.C ************************/ void CreateBrowse(char *, char *, char *, char *, char *); void OpenBrowse(void); void HideBrowseWindows(void); void UnHideBrowseWindows(void); void SetBrowseCursor(Cursor); void KillBrowseWindows(void); int BrowseCheckEvent(XEvent *, int *, int *); int BrowseDelWin(Window); void SetBrowStr(char *); void RegenBrowseIcons(void); void BRDeletedFile(char *); void BRCreatedFile(char *); /*************************** XVTEXT.C ************************/ void CreateTextWins(char *, char *); void TextView(char *); void OpenTextView(char *, int, char *, int); void OpenCommentText(void); void CloseCommentText(void); void ChangeCommentText(void); void ShowLicense(void); void HideTextWindows(void); void UnHideTextWindows(void); void RaiseTextWindows(void); void SetTextCursor(Cursor); void KillTextWindows(void); int TextCheckEvent(XEvent *, int *, int *); int TextDelWin(Window); /**************************** XVGAM.C **************************/ void CreateGam(char *, double, double, double, double, int); int GamCheckEvent(XEvent *); void GamBox(int); void NewCMap(void); void RedrawCMap(void); void ChangeEC(int); void ApplyECctrls(void); void GenerateFSGamma(void); void DoNorm(void); void DoHistEq(void); void GammifyColors(void); void Gammify1(int); void rgb2hsv(int, int, int, double *, double *, double *); void hsv2rgb(double, double, double, int *, int *, int *); byte *GammifyPic24(byte *, int, int); void GamSetAutoApply(int); /*************************** XVSCRL.C ***************************/ void SCCreate (SCRL *, Window, int, int, int, int, int, int, int, int, u_long, u_long, u_long, u_long, void (*)(int, SCRL *)); void SCChange (SCRL *, int, int, int, int, int, int, int, int); void SCSetRange(SCRL *, int, int, int, int); int SCSetVal (SCRL *, int); void SCRedraw (SCRL *); void SCTrack (SCRL *, int, int); /*************************** XVDIAL.C ***************************/ void DCreate (DIAL *, Window, int, int, int, int, int, int, int, int, u_long, u_long, u_long, u_long, char *, char *); void DSetRange(DIAL *, int, int, int, int); void DSetVal (DIAL *, int); void DSetActive(DIAL *, int); void DRedraw (DIAL *); int DTrack (DIAL *, int, int); /**************************** XVBUTT.C ***************************/ void BTCreate(BUTT *, Window, int, int, int, int, char *, u_long, u_long, u_long, u_long); void BTSetActive(BUTT *, int); void BTRedraw(BUTT *); int BTTrack (BUTT *); RBUTT *RBCreate(RBUTT *, Window, int, int, char *, u_long, u_long, u_long, u_long); void RBRedraw(RBUTT *, int); void RBSelect(RBUTT *, int); int RBWhich(RBUTT *); int RBCount(RBUTT *); void RBSetActive(RBUTT *, int, int); int RBClick(RBUTT *, int, int); int RBTrack(RBUTT *, int); void CBCreate(CBUTT *, Window, int, int, char *, u_long, u_long, u_long, u_long); void CBRedraw(CBUTT *); void CBSetActive(CBUTT *, int); int CBClick(CBUTT *,int,int); int CBTrack(CBUTT *); void MBCreate(MBUTT *, Window, int, int, int, int, char *, char **, int, u_long, u_long, u_long, u_long); void MBRedraw(MBUTT *); void MBSetActive(MBUTT *, int); int MBClick(MBUTT *, int, int); int MBTrack(MBUTT *); /**************************** XVGRAF.C ***************************/ void CreateGraf(GRAF *, Window, int, int, u_long, u_long, char *); void InitGraf (GRAF *); void RedrawGraf(GRAF *, int); int ClickGraf (GRAF *, Window, int, int); int GrafKey (GRAF *, char *); void GenerateGrafFunc(GRAF *, int); void Graf2Str (GRAF_STATE *, char *); int Str2Graf (GRAF_STATE *, char *); void GetGrafState (GRAF *, GRAF_STATE *); int SetGrafState (GRAF *, GRAF_STATE *); void InitSpline(int *, int *, int, double *); double EvalSpline(int *, int *, double *, int, double); /**************************** XVGIF.C ***************************/ int LoadGIF(char *, PICINFO *); /*************************** XVGIFWR.C **************************/ int WriteGIF(FILE *, byte *, int, int, int, byte *, byte *, byte *, int, int, char *); /**************************** XVPM.C ****************************/ int LoadPM(char *, PICINFO *); int WritePM(FILE *, byte *, int, int, int, byte *, byte *, byte *, int, int, char *); /**************************** XVPBM.C ***************************/ int LoadPBM(char *, PICINFO *); int WritePBM(FILE *, byte *, int, int, int, byte *, byte *, byte *, int, int, int, char *); /**************************** XVXBM.C ***************************/ int LoadXBM (char *, PICINFO *); int WriteXBM(FILE *, byte *, int, int, byte *, byte *, byte *, char *); /**************************** XVSUNRAS.C ***************************/ int LoadSunRas(char *, PICINFO *); int WriteSunRas(FILE *, byte *, int, int, int, byte *, byte *, byte*, int, int, int); /**************************** XVBMP.C ***************************/ int LoadBMP(char *, PICINFO *); int WriteBMP(FILE *, byte *, int, int, int, byte *, byte *, byte *, int, int); /**************************** XVRLE.C ***************************/ int LoadRLE(char *, PICINFO *); /**************************** XVIRIS.C ***************************/ int LoadIRIS(char *, PICINFO *); int WriteIRIS(FILE *, byte *, int, int, int, byte *, byte *, byte *, int, int); /**************************** XVPCX.C ***************************/ int LoadPCX(char *, PICINFO *); /**************************** XVJPEG.C ***************************/ int LoadJFIF(char *, PICINFO *); void CreateJPEGW(void); void JPEGDialog(int); int JPEGCheckEvent(XEvent *); void JPEGSaveParams(char *, int); /**************************** XVTIFF.C ***************************/ int LoadTIFF(char *, PICINFO *); void CreateTIFFW(void); void TIFFDialog(int); int TIFFCheckEvent(XEvent *); void TIFFSaveParams(char *, int); /**************************** XVPDS.C ***************************/ int LoadPDS(char *, PICINFO *); /*************************** XVPS.C ***************************/ void CreatePSD(char *); void PSDialog(int); int PSCheckEvent(XEvent *); void PSSaveParams(char *, int); void PSResize(void); int LoadPS(char *, PICINFO *, int); /*************************** XVPOPUP.C ***************************/ void CenterMapWindow(Window, int, int, int, int); int PopUp(char *, char **, int); void ErrPopUp(char *, char *); int GetStrPopUp(char *, char **, int, char *, int, char *, int); void ClosePopUp(void); void OpenAlert(char *); void CloseAlert(void); int PUCheckEvent(XEvent *); void TextRect(Window, char *, int, int, int, int, u_long); /*************************** XVDFLT.C ***************************/ void LoadDfltPic(PICINFO *); void xbm2pic(char *, int, int, byte *, int, int, int, int, int); /**************************** XVGRAB.C ***************************/ int Grab(void); int LoadGrab(PICINFO *); #else /* using non-ANSI cc. Function defs, but no params */ /****************************** XV.C ****************************/ int ReadFileType(); int ReadPicFile(); int UncompressFile(); void KillPageFiles(); void NewPicGetColors(); void FixAspect(), StickInCtrlList(), HandleDispMode(); void ActivePrevNext(), AddFNameToCtrlList(), ChangedCtrlList(); int DeleteCmd(), rd_int(), rd_str(), rd_flag(), rd_str_cl(); char *lower_str(); /****************************** XVEVENT.C ****************************/ int EventLoop(), HandleEvent(); void DrawWindow(), WResize(), WRotate(), WCrop(), WUnCrop(); void GetWindowPos(), SetWindowPos(), InvCropRect(), SetEpicMode(); int xvErrorHandler(); /****************************** XVROOT.C ****************************/ void MakeRootPic(), ClearRoot(), KillOldRootInfo(), SaveRootInfo(); /*************************** XVMISC.C ***************************/ void StoreDeleteWindowProp(); Window CreateWindow(); int StringWidth(); void CenterString(), ULineString(), FakeButtonPress(), FakeKeyPress(); void GenExpose(); void DimRect(), SetCropString(), Warning(), FatalError(), Quit(); void LoadFishCursors(), WaitCursor(), SetCursors(), Timer(); void xvDestroyImage(), Draw3dRect(); char *BaseName(); void DrawTempGauge(), XVDeletedFile(), XVCreatedFile(), xvbcopy(), xvbzero(); int xvbcmp(); /*************************** XVCOLOR.C ***************************/ Status xvAllocColor(); void SortColormap(), AllocColors(); void xvFreeColors(), FreeColors(), ApplyEditColor(); int MakeStdCmaps(); void MakeBrowCmap(); void ChangeCmapMode(); /*************************** XVIMAGE.C ***************************/ void Resize(),GenerateEpic(),DoZoom(), Crop(), UnCrop(), AutoCrop(); void DoRotate(), DoCrop(), RotatePic(); int DoAutoCrop(); void Rotate(), Flip(), FlipPic(), InstallNewPic(), DrawEpic(); void KillOldPics(), CreateXImage(); byte *FSDither(); XImage *Pic8ToXImage(); XImage *Pic24ToXImage(); void Set824Menus(), Change824Mode(); void FreeEpic(); void InvertPic24(); /*************************** XVALG.C ***************************/ void AlgInit(), DoAlg(); /*************************** XVSMOOTH.C ***************************/ byte *SmoothResize(), *Smooth24(), *DoColorDither(), *Do332ColorDither(); /*************************** XV24TO8.C **************************/ void Init24to8(); byte *Conv24to8(); byte *Conv8to24(); /**************************** XVCTRL.C **************************/ void CreateCtrl(), CtrlBox(), RedrawCtrl(), DrawCtrlStr(), ScrollToCurrent(); void DrawCtrlNumFiles(); int ClickCtrl(); void LSCreate(), LSRedraw(), LSChangeData(), LSNewData(), LSKey(); int LSClick(); /*************************** XVINFO.C ***************************/ void CreateInfo(), InfoBox(), RedrawInfo(), SetInfoMode(), SetISTR(); char *GetISTR(); /**************************** XVDIR.C ***************************/ void CreateDirW(), DirBox(), RedrawDirW(), LoadCurrentDirectory(); void GetDirPath(); int ClickDirW(), DoSave(), DirKey(), DirCheckCD(); void RedrawDDirW(), RedrawDNamW(), SelectDir(), TrackDDirW(); void SetDirFName(), SetDirRButt(); char *GetDirFName(); int Globify(), CloseOutFile(); FILE *OpenOutFile(); byte *HandleBWandReduced(); void InitPoll(); int CheckPoll(); void DIRDeletedFile(), DIRCreatedFile(); /*************************** XVBROWSE.C ************************/ void CreateBrowse(), BrowseBox(), ResizeBrowse(), SetBrowStr(); int BrowseCheckEvent(); void RescanBrowse(), RegenBrowseIcons(); void CreateBrowse(), OpenBrowse(), HideBrowseWindows(), UnHideBrowseWindows(); void SetBrowseCursor(), KillBrowseWindows(); int BrowseCheckEvent(); int BrowseDelWin(); void SetBrowStr(), RegenBrowseIcons(); void BRDeletedFile(); void BRCreatedFile(); /*************************** XVTEXT.C ************************/ void CreateTextWins(), TextView(), OpenTextView(), HideTextWindows(); void OpenCommentText(), CloseCommentText(), ChangeCommentText(); void ShowLicense(); void UnHideTextWindows(), SetTextCursor(), KillTextWindows(); void RaiseTextWindows(); int TextCheckEvent(), TextDelWin(); /**************************** XVGAM.C **************************/ void CreateGam(); int GamCheckEvent(); void GamBox(), NewCMap(), RedrawCMap(); void ChangeEC(), ApplyECctrls(); void GenerateFSGamma(), DoNorm(), DoHistEq(), GammifyColors(); void Gammify1(), rgb2hsv(), hsv2rgb(); byte *GammifyPic24(); void GamSetAutoApply(); /*************************** XVSCRL.C ***************************/ void SCCreate(), SCChange(), SCSetRange(), SCRedraw(), SCTrack(); int SCSetVal(); /*************************** XVDIAL.C ***************************/ void DCreate(), DSetRange(), DSetVal(), DRedraw(), DSetActive(); int DTrack(); /**************************** XVBUTT.C ***************************/ void BTCreate(), BTSetActive(), BTRedraw(); int BTTrack(); RBUTT *RBCreate(); void RBRedraw(), RBSelect(), RBSetActive(); int RBWhich(), RBCount(), RBClick(), RBTrack(); void CBCreate(), CBRedraw(), CBSetActive(); int CBClick(), CBTrack(); void MBCreate(), MBRedraw(), MBSetActive(); int MBClick(), MBTrack(); /*************************** XVGRAF.C ***************************/ void CreateGraf(), InitGraf(), RedrawGraf(), GenerateGrafFunc(); void Graf2Str(), GetGrafState(), InitSpline(); int ClickGraf(), GrafKey(), Str2Graf(), SetGrafState(); double EvalSpline(); /**************************** XVGIF.C ***************************/ int LoadGIF(); /*************************** XVGIFWR.C **************************/ int WriteGIF(); /**************************** XVPM.C ****************************/ int LoadPM(); int WritePM(); /**************************** XVPBM.C ***************************/ int LoadPBM(); int WritePBM(); /**************************** XVXBM.C ***************************/ int LoadXBM(); int WriteXBM(); /**************************** XVSUNRAS.C ***************************/ int LoadSunRas(); int WriteSunRas(); /**************************** XVBMP.C ***************************/ int LoadBMP(); int WriteBMP(); /**************************** XVRLE.C ***************************/ int LoadRLE(); /**************************** XVIRIS.C ***************************/ int LoadIRIS(); int WriteIRIS(); /**************************** XVPCX.C ***************************/ int LoadPCX(); /**************************** XVJPEG.C ***************************/ int LoadJFIF(); int JPEGCheckEvent(); void CreateJPEGW(), JPEGDialog(), JPEGSaveParams(); /**************************** XVTIFF.C ***************************/ int LoadTIFF(); void CreateTIFFW(), TIFFDialog(), TIFFSaveParams(); int TIFFCheckEvent(); /*************************** XVPS.C ***************************/ void CreatePSD(), PSDialog(), PSSaveParams(), PSResize(); int PSCheckEvent(); int LoadPS(); /*************************** XVPOPUP.C ***************************/ void CenterMapWindow(), ErrPopUp(), ClosePopUp(), OpenAlert(), CloseAlert(); int PopUp(), PUCheckEvent(), GetStrPopUp(); void TextRect(); /*************************** XVDFLT.C ***************************/ void LoadDfltPic(); void xbm2pic(); /**************************** XVGRAB.C ***************************/ int Grab(); int LoadGrab(); /**************************** XVPDS.C ***************************/ int LoadPDS(); #endif
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.