home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!pipex!warwick!mrccrc!doc.ic.ac.uk!agate!netsys!decwrl!elroy.jpl.nasa.gov!usc!news.service.uci.edu!unogate!mvb.saic.com!vmsnet-sources
- Newsgroups: vmsnet.sources
- From: dyson@iowasp.physics.uiowa.edu (Rick Dyson)
- Subject: xv-2-21a changes to run on VMS, part 03/08
- Date: Wed, 04 Nov 1992 21:12:35 GMT
- Message-ID: <8981989@MVB.SAIC.COM>
- Lines: 1142
- Organization: Department of Physics and Astronomy, University of Iowa
- Approved: Mark.Berryman@Mvb.Saic.Com
-
- Submitted-by: dyson@iowasp.physics.uiowa.edu (Rick Dyson)
- Posting-number: Volume 3, Issue 235
- Archive-name: xv-2-21_vms_changes/part03
- Supersedes: xv-2-21_vms_changes: Volume 2, Issue 83-86
-
- -+-+-+-+-+-+-+-+ START OF PART 3 -+-+-+-+-+-+-+-+
- X`20`20`20`20TROFFMAN.STY`20-`20A`20LaTeX`20style`20file`20for`20the`20LaTeX
- V`20document.
- X
- XInstallation`20Instructions:
- X
- X`20`20`20`20`20`20`20`20Step`200:
- X`20`20`20`20`20`20`20`20`20`20`20`20You`20`20need`20`20to`20have`20installed
- V`20the`20DECWindows`20programmer`20kit
- X`20`20`20`20`20`20`20`20with`20`20the`20`20C`20`20language`20file`20selected.
- V`20`20You`20need`20a`20`20C`20`20compiler
- X`20`20`20`20`20`20`20`20compatible`20`20with`20`20the`20VAXC`20installed`20as
- V`20well,`20including`20the`20.h
- X`20`20`20`20`20`20`20`20files`20in`20`20Sys$Library.`20`20`20`20NOTE:`20`20It
- V`20has`20been`20reported`20that`20the
- X`20`20`20`20`20`20`20`20VAX`20C`20v2.4`20compiler`20`20will`20`20not`20`20work
- V`20with`20XV.`20`20A`20reason`20is`20not
- X`20`20`20`20`20`20`20`20available.`20`20Personal`20experience`20only`20extends
- V`20to`20v3.2-044...
- X
- X`20`20`20`20`20`20`20`20Step`201:
- X`20`20`20`20`20`20`20`20`20`20`20`20The`20first`20step`20in`20getting`20XV`20
- V`20(v2.21)`20`20running`20on`20your`20VMS
- X`20`20`20`20`20`20`20`20system`20is`20to`20get`20the`20Unix`20`20source`20`20f
- Viles`20`20on`20`20your`20disk`20in`20the
- X`20`20`20`20`20`20`20`20structure`20intended`20by`20the`20Unix`20environment.
- V`20`20`20This`20`20should`20`20be
- X`20`20`20`20`20`20`20`20like`20the`20following:
- X
- X`20`20`20`20`20`20`20`20`20`20`20`20`5BXV-2_21`5D---+---`5B.BITMAPS`5D
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`7C
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20+---
- V`5B.DOCS`5D
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`7C
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20+---
- V`5B.JPEG`5D
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`7C
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20+---
- V`5B.TIFF`5D
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`7C
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20+---
- V`5B.UNSUPT`5D---`5B.VMS`5D
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20
- V`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`5E
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20
- V`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`7C
- X`20`20`20`20`20`20`20`20Some`20of`20this`20directory's`20contents`20are`20need
- Ved`20in`20top`20directory!
- X`20`20`20`20`20`20`20`20Move`20the`20`206`20unchanged`20files`20listed`20above
- V`20to`20the`20top`20directory.
- X`20`20`20`20`20`20`20`20Also`20move`20the`20`20TROFFMAN.STY`20`20to`20`20the
- V`20top`20directory`20for`20LaTeX's
- X`20`20`20`20`20`20`20`20use`20later.`20`20`20`20
- X
- X`20`20`20`20`20`20`20`20`20`20`20`20The`20original`20Unix`20compressed`20tar
- V`20file`20can`20be`20obtained`20from
- X`20`20`20`20`20`20`20`20export.lcs.mit.edu`20(make`20sure`20you`20get`20versio
- Vn`202.21!).`20`20`20If`20you
- X`20`20`20`20`20`20`20`20don't`20have`20the`20tools`20to`20decompress/detar`20i
- Vt,`20you`20will`20`20need`20to
- X`20`20`20`20`20`20`20`20ask`20`20`20around.`20`20`20`20Try`20`20looking`20`20f
- Vor`20`20them`20`20at`20`20cerritos.edu`20`20or
- X`20`20`20`20`20`20`20`20acfcluster.nyu.edu
- X
- X`20`20`20`20`20`20`20`20Step`202:
- X`20`20`20`20`20`20`20`20`20`20`20`20Patch`20`20in`20the`20VMS`20differences
- V`20to`20the`20original`20`20Unix`20`20code.
- X`20`20`20`20`20`20`20`20There`20are`20some`20minor`20patches`20to`20the`20XV
- V`20and`20the`20TIFF`20v3.0`20files
- X`20`20`20`20`20`20`20`20for`20XV`20to`20work`20properly`20on`20VMS.`20`20You
- V`20will`20`20need`20to`20execute`20the
- X`20`20`20`20`20`20`20`20XV_FIXUP_VMS.COM`20`20procedure`20`20to`20swap`20in
- V`20the`20VMS`20changes`20to`20the
- X`20`20`20`20`20`20`20`20source`20code.
- X
- X`20`20`20`20`20`20`20`20Step`203:
- X`20`20`20`20`20`20`20`20`20`20`20`20You`20are`20now`20`20ready`20`20to`20`20bu
- Vild`20the`20code.`20`20IF`20you`20DON'T`20have
- X`20`20`20`20`20`20`20`20MMS,`20go`20to`20Step`204.
- X
- X`20`20`20`20`20`20`20`20`20`20`20`20Since`20`20you`20`20have`20`20MMS,`20`20
- V`20`20you`20`20`20should`20`20look`20`20through`20`20the
- X`20`20`20`20`20`20`20`20DESCRIP.MMS`20file`20to`20check`20for`20`20any`20`20cu
- Vstomizing`20changes.`20`20Note
- X`20`20`20`20`20`20`20`20specifically`20the`20references`20to`20LZW,`20JPEG`20
- V`20and`20`20TIFF.`20`20`20This`20is
- X`20`20`20`20`20`20`20`20also`20true`20for`20the`20MAKEFILE.MMS`20in`20the`20
- V`20JPEG`20`20sub-directory`20and
- X`20`20`20`20`20`20`20`20the`20MAKEFILE.VMS`20file`20in`20the`20TIFF`20sub-dire
- Vctory.`20`20`20EXCEPT`20`20for
- X`20`20`20`20`20`20`20`20destinations`20of`20the`20binaries`20and`20root`20of
- V`20the`20directory`20tree,`20I
- X`20`20`20`20`20`20`20`20*think*`20it`20should`20work`20for`20everyone`20withou
- Vt`20any`20modifications.
- X
- X`20`20`20`20`20`20`20`20`20`20`20`20When`20you`20are`20satisfied`20that`20ever
- Vything`20is`20correct`20for`20your
- X`20`20`20`20`20`20`20`20site,`20just`20type
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20
- V`20`20`20`20`20`20`20`20`20`20`20`20`20MMS
- X`20`20`20`20`20`20`20`20and`20sit`20back`20and`20watch`20XV`20being`20built.
- V`20`20`20This`20may`20take`20quite`20a
- X`20`20`20`20`20`20`20`20while`20`20depending`20`20on`20`20your`20`20system's
- V`20speed/load.`20`20It`20may`20`20also
- X`20`20`20`20`20`20`20`20require`20`20that`20`20your`20system`20have`20it's`20v
- Virtual`20memory`20increased.
- X`20`20`20`20`20`20`20`20If`20you`20`20get`20`20an`20`20error`20message`20of
- V`20this`20type,`20see`20a`20system`20guru
- X`20`20`20`20`20`20`20`20for`20help!`20`20If`20it`20occurs,`20it`20will`20proba
- Vbly`20happen`20with`20the`20TIFF
- X`20`20`20`20`20`20`20`20code`20for`20FAX`20support.`20`20`20You`20can`20`20alw
- Vays`20undefine`20the`20HAVE_TIFF
- X`20`20`20`20`20`20`20`20symbol`20in`20the`20top`20Makefile`20and`20dump`20the
- V`20TIFF`20support.
- X
- X`20`20`20`20`20`20`20`20`20`20`20`20When`20you`20are`20successfully`20finished
- V,`20go`20to`20Step`205.
- X
- X`20`20`20`20`20`20`20`20Step`204:
- X`20`20`20`20`20`20`20`20`20`20`20`20If`20`20you`20`20don't`20`20have`20`20MMS
- V`20`20you`20`20will`20need`20to`20`20execute`20`20the
- X`20`20`20`20`20`20`20`20supplied`20`20command`20`20procedure`20`20to`20`20buil
- Vd`20`20the`20`20XV`20package.`20`20You
- X`20`20`20`20`20`20`20`20should`20look`20`20through`20`20the`20`20MAKE_XV.COM
- V`20`20file`20`20to`20check`20for`20any
- X`20`20`20`20`20`20`20`20customizing`20changes.`20`20Note`20specifically`20the
- V`20references`20to`20LZW,
- X`20`20`20`20`20`20`20`20JPEG,`20and`20TIFF.
- X
- X`20`20`20`20`20`20`20`20`20`20`20`20When`20you`20are`20satisfied`20that`20your
- V`20site`20changes`20are`20correct,
- X`20`20`20`20`20`20`20`20execute`20the`20MAKE_XV.COM`20and`20watch`20it`20`20bu
- Vild`20`20the`20`20package.`20`20If
- X`20`20`20`20`20`20`20`20there`20are`20any`20problems`20you`20will`20want`20to
- V`20`20delete`20`20the`20offending
- X`20`20`20`20`20`20`20`20.OBJ`20file`20so`20the`20command`20procedure`20will
- V`20try`20to`20`20build`20it`20again
- X`20`20`20`20`20`20`20`20instead`20of`20skipping`20to`20the`20next`20one.`20
- V`20This`20stuff`20`20is`20`20trickier
- X`20`20`20`20`20`20`20`20to`20'restart'`20it,`20so`20be`20careful`20if`20you
- V`20need`20do.
- X
- X`20`20`20`20`20`20`20`20Step`205:
- X`20`20`20`20`20`20`20`20`20`20`20`20If`20there`20were`20no`20errors,`20`20you
- V`20should`20be`20finished`20and`20would
- X`20`20`20`20`20`20`20`20just`20need`20to`20execute`20SETUP.COM`20to`20start
- V`20viewing`20images!!!
- X
- X`20`20`20`20`20`20`20`20Step`206:
- X
- X`20`20`20`20`20`20`20`20`20`20`20`20Send`20John`20Bradley`20a`20short`20note
- V`20telling`20him`20you`20love`20his`20XV
- X`20`20`20`20`20`20`20`20program`20`20on`20`20VMS`20`20machines.`20`20The`20VMS
- V`20part`20is`20crucial!`20`20:)`20This
- X`20`20`20`20`20`20`20`20will`20continue`20to`20inspire`20him`20to`20include
- V`20up`20to`20date`20VMS`20support
- X`20`20`20`20`20`20`20`20'out-of-the-box'`20and`20these`20VMS`20patchings`20can
- V`20slowly`20wither`20and
- X`20`20`20`20`20`20`20`20go`20away...
- X
- $ call unpack README.VMS;222 712654772 ""
- $!
- $ create 'f'
- X$!`20A`20VMS`20Command`20procedure`20to`20make`20the`20foreign`20symbol`20defi
- Vnitions`20for
- X$!`20XV`20programs.`20`20Keep`20this`20command`20proc`20in`20the`20same`20dire
- Vctory`20where`20the
- X$!`20binaries`20are`20kept`20and`20it`20will`20get`20the`20pointers`20setup
- V`20correctly.
- X$!
- X$`20Write`20Sys$Output`20"SETting`20UP`20XV`20(v`202.21a)..."
- X$`20THIS_PATH`20=`20F$Element`20(0,`20"`5D",`20F$Environment`20("PROCEDURE"))
- V`20+`20"`5D"
- X$`20BGGEN`20`20`20`20`20`20`20`20`20:==`20$`20'THIS_PATH'BGGEN.EXE
- X$`20DECOMPRESS`20`20`20`20:==`20$`20'THIS_PATH'DECOMPRESS.EXE
- X$`20VDCOMP`20`20`20`20`20`20`20`20:==`20$`20'THIS_PATH'VDCOMP.EXE
- X$`20XV`20`20`20`20`20`20`20`20`20`20`20`20:==`20$`20'THIS_PATH'XV.EXE
- X$!
- X$!`20`20Put`20the`20help`20library`20into`20the`20next`20available`20help`20li
- Vbrary`20slot
- X$!
- X$`20LIB`20=`20"Hlp$Library"
- X$`20X`20=`20F$Trnlnm`20(LIB,`20"Lnm$Process")
- X$`20If`20X`20.eqs.`20""`20Then`20GoTo`20INSERT
- X$`20If`20X`20.eqs.`20"''THIS_PATH'XV.HLB"`20Then`20GoTo`20EXIT
- X$`20BASE`20=`20LIB`20+`20"_"
- X$`20N`20=`201
- X$NEXTLIB:
- X$`20`20`20LIB`20:=`20'BASE''N'
- X$`20`20`20X`20=`20F$Trnlnm`20(LIB,`20"Lnm$Process")
- X$`20`20`20If`20X`20.eqs.`20""`20Then`20GoTo`20INSERT
- X$`20`20`20If`20X`20.eqs.`20"''THIS_PATH'XV.HLB"`20Then`20GoTo`20EXIT
- X$`20`20`20N`20=`20N`20+`201
- X$`20`20`20GoTo`20NEXTLIB
- X$INSERT:
- X$`20`20`20Define`20'LIB'`20'THIS_PATH'XV.HLB
- X$EXIT:
- X$`20`20`20Exit
- $ call unpack SETUP.COM;222 1497267484 ""
- $!
- $ create 'f'
- X-`201257,`201259
- X/
- $ call unpack VDCOMP.DIF;222 724051288 ""
- $!
- $ create 'f'
- X***`20vdcomp.c
- X---`20old:vdcomp.c
- X**************
- X***`201254,1262
- X`20`20
- X`20`20`7B
- X`20`20`20`20NODE`20*temp;`20`20`20`20`20`20`20`20`20/*`20Pointer`20to`20the
- V`20memory`20block`20*/
- X-`20#ifdef`20VMS
- X-`20`20`20char`20*malloc();
- X-`20#endif
- X`20`20
- X`20`20`20`20/*****************************************************************
- V*******
- X`20`20`20`20`20`20Allocate`20the`20memory`20and`20intialize`20the`20fields.
- X---`201254,1259`20-----
- X`20`20
- X`20`20`7B
- X`20`20`20`20NODE`20*temp;`20`20`20`20`20`20`20`20`20/*`20Pointer`20to`20the
- V`20memory`20block`20*/
- X`20`20
- X`20`20`20`20/*****************************************************************
- V*******
- X`20`20`20`20`20`20Allocate`20the`20memory`20and`20intialize`20the`20fields.
- X***`20xv.c
- X---`20old:xv.c
- X**************
- X***`20213,219
- X`20`20`20`20theImage`20=`20NULL;
- X`20`20`20`20LocalCmap`20=`200;
- X`20`20`20`20stdinflag`20=`200;
- X!`20`20`20autoclose`20=`201;`20
- X`20`20`20`20cmapInGam`20=`201;
- X`20`20`20`20cmapinstalled`20=`20showzoomcursor`20=`200;
- X`20`20
- X---`20213,219`20-----
- X`20`20`20`20theImage`20=`20NULL;
- X`20`20`20`20LocalCmap`20=`200;
- X`20`20`20`20stdinflag`20=`200;
- X!`20`20`20autoclose`20=`201;
- X`20`20`20`20cmapInGam`20=`201;
- X`20`20`20`20cmapinstalled`20=`20showzoomcursor`20=`200;
- X`20`20
- X**************
- X***`20422,429
- X`20`20`20`20`20`20
- X`20`20`20`20`20`20else`20if`20(!argcmp(argv`5Bi`5D,"-close",4))`09/*`20close
- V`20*/
- X`20`20`20`20`20`20`20`20autoclose`20=`20!autoclose;
- X!`20`20`20`20`20
- X!`20`20`20`20`20else`20if`20(!argcmp(argv`5Bi`5D,"-cmap",3))`09/*`20ctrlmap
- V`20*/
- X`20`20`20`20`20`20`20`20ctrlmap++;
- X`20`20`20`20`20`20
- X`20`20`20`20`20`20else`20if`20(!argcmp(argv`5Bi`5D,"-crop",3))`20`20`20`20`20
- V`20`20`20/*`20autocrop`20*/
- X---`20422,428`20-----
- X`20`20`20`20`20`20
- X`20`20`20`20`20`20else`20if`20(!argcmp(argv`5Bi`5D,"-close",4))`09/*`20close
- V`20*/
- X`20`20`20`20`20`20`20`20autoclose`20=`20!autoclose;
- X!`20`20`20`20`20`20`20else`20if`20(!argcmp(argv`5Bi`5D,"-cmap",3))`09/*`20ctrl
- Vmap`20*/
- X`20`20`20`20`20`20`20`20ctrlmap++;
- X`20`20`20`20`20`20
- X`20`20`20`20`20`20else`20if`20(!argcmp(argv`5Bi`5D,"-crop",3))`20`20`20`20`20
- V`20`20`20/*`20autocrop`20*/
- X**************
- X***`20924,930
- X`20`20`20`20`20`20rwcolor`20=`200;
- X`20`20`20`20`7D
- X`20`20
- X!`20`20`20XSelectInput(theDisp,`20rootW,`20ColormapChangeMask);
- X`20`20
- X`20`20`20`20/*`20Do`20The`20Thing...`20*/
- X`20`20`20`20MainLoop();
- X---`20923,929`20-----
- X`20`20`20`20`20`20rwcolor`20=`200;
- X`20`20`20`20`7D
- X`20`20
- X!`20/*`20`20XSelectInput(theDisp,`20rootW,`20ColormapChangeMask);`20*/
- X`20`20
- X`20`20`20`20/*`20Do`20The`20Thing...`20*/
- X`20`20`20`20MainLoop();
- X**************
- X***`201368,1375
- X`20`20`20`20`20`20Warning();
- X`20`20`20`20`20`20goto`20FAILED;
- X`20`20`20`20`7D
- X-`20
- X-`20`20`20`20`20
- X`20`20`20GOTIMAGE:
- X`20`20`20`20/*`20successfully`20read`20this`20picture.`20`20No`20failures`20fr
- Vom`20here`20on`20out`20*/
- X`20`20
- X---`201367,1372`20-----
- X`20`20`20`20`20`20Warning();
- X`20`20`20`20`20`20goto`20FAILED;
- X`20`20`20`20`7D
- X`20`20`20GOTIMAGE:
- X`20`20`20`20/*`20successfully`20read`20this`20picture.`20`20No`20failures`20fr
- Vom`20here`20on`20out`20*/
- X`20`20
- X**************
- X***`201424,1430
- X`20`20
- X`20`20`20`20/*`20expand:`20`20if`20expansion`20is`20negative,`20treat`20it`20a
- Vs`20a`20reciprocal`20*/
- X`20`20`20`20if`20(expand`20<`200.0)`20`7B`20eWIDE=(int)(pWIDE/-expand);`20`20e
- VHIGH=(int)(pHIGH/-expand);`20`7D
- X!`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20else`20`7B`20eWIDE=(int)(pWID
- VE*`20expand);`20`20eHIGH=(int)(pHIGH*`20expand);`20`7D
- X`20`20
- X`20`20`20`20if`20(eWIDE>maxWIDE`20`7C`7C`20eHIGH>maxHIGH)`20`7B
- X`20`20`20`20`20`20eWIDE`20=`20eWIDE`20/`20normFact;`20`20eHIGH`20=`20eHIGH`20/
- V`20normFact;
- X---`201421,1427`20-----
- X`20`20
- X`20`20`20`20/*`20expand:`20`20if`20expansion`20is`20negative,`20treat`20it`20a
- Vs`20a`20reciprocal`20*/
- X`20`20`20`20if`20(expand`20<`200.0)`20`7B`20eWIDE=(int)(pWIDE/-expand);`20`20e
- VHIGH=(int)(pHIGH/-expand);`20`7D
- X!`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20else`20`7B`20eWIDE=(int)(pWID
- VE*expand);`20`20eHIGH=(int)(pHIGH*expand);`20`7D
- X`20`20
- X`20`20
- X`20`20`20`20if`20(eWIDE>maxWIDE`20`7C`7C`20eHIGH>maxHIGH)`20`7B
- X**************
- X***`201426,1431
- X`20`20`20`20if`20(expand`20<`200.0)`20`7B`20eWIDE=(int)(pWIDE/-expand);`20`20e
- VHIGH=(int)(pHIGH/-expand);`20`7D
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20else`20`7B`20eWIDE=(int)(pW
- VIDE*`20expand);`20`20eHIGH=(int)(pHIGH*`20expand);`20`7D
- X`20`20
- X`20`20`20`20if`20(eWIDE>maxWIDE`20`7C`7C`20eHIGH>maxHIGH)`20`7B
- X`20`20`20`20`20`20eWIDE`20=`20eWIDE`20/`20normFact;`20`20eHIGH`20=`20eHIGH`20/
- V`20normFact;
- X`20`20`20`20`7D
- X---`201423,1429`20-----
- X`20`20`20`20if`20(expand`20<`200.0)`20`7B`20eWIDE=(int)(pWIDE/-expand);`20`20e
- VHIGH=(int)(pHIGH/-expand);`20`7D
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20else`20`7B`20eWIDE=(int)(pW
- VIDE*expand);`20`20eHIGH=(int)(pHIGH*expand);`20`7D
- X`20`20
- X+`20
- X`20`20`20`20if`20(eWIDE>maxWIDE`20`7C`7C`20eHIGH>maxHIGH)`20`7B
- X`20`20`20`20`20`20eWIDE`20=`20eWIDE`20/`20normFact;`20`20eHIGH`20=`20eHIGH`20/
- V`20normFact;
- X`20`20`20`20`7D
- X**************
- X***`201441,1447
- X`20`20`20`20`20`20/*`20handle`20case`20where`20they`20only`20specified`20width
- V`20*or*`20height`20*/
- X`20`20`20`20`20`20if`20((`20i`26WidthValue`20`26`26`20`7Ei`26HeightValue)`20
- V`7C`7C
- X`20`20`09(`7Ei`26WidthValue`20`26`26`20`20i`26HeightValue))`20`7B
- X-`20
- X`20`20`20`20`20`20`20`20if`20(i`26WidthValue)`20`7B`20eHIGH`20=`20(pHIGH`20*
- V`20eWIDE)`20/`20pWIDE;`20`7D
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20else`20`7B`20eW
- VIDE`20=`20(pWIDE`20*`20eHIGH)`20/`20pHIGH;`20`7D
- X`20`20
- X---`201439,1444`20-----
- X`20`20`20`20`20`20/*`20handle`20case`20where`20they`20only`20specified`20width
- V`20*or*`20height`20*/
- X`20`20`20`20`20`20if`20((`20i`26WidthValue`20`26`26`20`7Ei`26HeightValue)`20
- V`7C`7C
- X`20`20`09(`7Ei`26WidthValue`20`26`26`20`20i`26HeightValue))`20`7B
- X`20`20`20`20`20`20`20`20if`20(i`26WidthValue)`20`7B`20eHIGH`20=`20(pHIGH`20*
- V`20eWIDE)`20/`20pWIDE;`20`7D
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20else`20`7B`20eW
- VIDE`20=`20(pWIDE`20*`20eHIGH)`20/`20pHIGH;`20`7D
- X`20`20`20`20`20`20`20`20RANGE(eWIDE,1,maxWIDE);`20`20RANGE(eHIGH,1,maxHIGH);
- X**************
- X***`201444,1450
- X`20`20
- X`20`20`20`20`20`20`20`20if`20(i`26WidthValue)`20`7B`20eHIGH`20=`20(pHIGH`20*
- V`20eWIDE)`20/`20pWIDE;`20`7D
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20else`20`7B`20eW
- VIDE`20=`20(pWIDE`20*`20eHIGH)`20/`20pHIGH;`20`7D
- X-`20
- X`20`20`20`20`20`20`20`20RANGE(eWIDE,1,maxWIDE);`20`20RANGE(eHIGH,1,maxHIGH);
- X`20`20`20`20`20`20`7D
- X`20`20
- X---`201441,1446`20-----
- X`20`20`09(`7Ei`26WidthValue`20`26`26`20`20i`26HeightValue))`20`7B
- X`20`20`20`20`20`20`20`20if`20(i`26WidthValue)`20`7B`20eHIGH`20=`20(pHIGH`20*
- V`20eWIDE)`20/`20pWIDE;`20`7D
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20else`20`7B`20eW
- VIDE`20=`20(pWIDE`20*`20eHIGH)`20/`20pHIGH;`20`7D
- X`20`20`20`20`20`20`20`20RANGE(eWIDE,1,maxWIDE);`20`20RANGE(eHIGH,1,maxHIGH);
- X`20`20`20`20`20`20`7D
- X`20`20`20`20`20`20if`20(rootMode`20==`20RM_TILE`20`7C`7C`20rootMode`20==`20RM_
- VIMIRROR)`20`7B
- X**************
- X***`201447,1453
- X`20`20
- X`20`20`20`20`20`20`20`20RANGE(eWIDE,1,maxWIDE);`20`20RANGE(eHIGH,1,maxHIGH);
- X`20`20`20`20`20`20`7D
- X-`20
- X`20`20`20`20`20`20if`20(rootMode`20==`20RM_TILE`20`7C`7C`20rootMode`20==`20RM_
- VIMIRROR)`20`7B
- X`20`20`20`20`20`20`20`20/*`20make`20picture`20size`20a`20divisor`20of`20the
- V`20rootW`20size.`20`20round`20down`20*/
- X`20`20`20`20`20`20`20`20i`20=`20(dispWIDE`20+`20eWIDE-1)`20/`20eWIDE;`20`20
- V`20eWIDE`20=`20(dispWIDE`20+`20i-1)`20/`20i;
- X---`201443,1448`20-----
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20else`20`7B`20eW
- VIDE`20=`20(pWIDE`20*`20eHIGH)`20/`20pHIGH;`20`7D
- X`20`20`20`20`20`20`20`20RANGE(eWIDE,1,maxWIDE);`20`20RANGE(eHIGH,1,maxHIGH);
- X`20`20`20`20`20`20`7D
- X`20`20`20`20`20`20if`20(rootMode`20==`20RM_TILE`20`7C`7C`20rootMode`20==`20RM_
- VIMIRROR)`20`7B
- X`20`20`20`20`20`20`20`20/*`20make`20picture`20size`20a`20divisor`20of`20the
- V`20rootW`20size.`20`20round`20down`20*/
- X`20`20`20`20`20`20`20`20i`20=`20(dispWIDE`20+`20eWIDE-1)`20/`20eWIDE;`20`20
- V`20eWIDE`20=`20(dispWIDE`20+`20i-1)`20/`20i;
- X**************
- X***`201821,1827
- X`20`20
- X`20`20`20`20if`20(i`26WidthValue)`20`20eWIDE`20=`20w;
- X`20`20`20`20if`20(i`26HeightValue)`20eHIGH`20=`20h;
- X-`20
- X`20`20`20`20/*`20handle`20case`20where`20they`20only`20specified`20width`20*or
- V*`20height`20*/
- X`20`20`20`20if`20((`20i`26WidthValue`20`26`26`20`7Ei`26HeightValue)`20`7C`7C
- X`20`20`20`20`20`20`20`20(`7Ei`26WidthValue`20`26`26`20`20i`26HeightValue))`20
- V`7B
- X---`201816,1821`20-----
- X`20`20
- X`20`20`20`20if`20(i`26WidthValue)`20`20eWIDE`20=`20w;
- X`20`20`20`20if`20(i`26HeightValue)`20eHIGH`20=`20h;
- X`20`20`20`20/*`20handle`20case`20where`20they`20only`20specified`20width`20*or
- V*`20height`20*/
- X`20`20`20`20if`20((`20i`26WidthValue`20`26`26`20`7Ei`26HeightValue)`20`7C`7C
- X`20`20`20`20`20`20`20`20(`7Ei`26WidthValue`20`26`26`20`20i`26HeightValue))`20
- V`7B
- X**************
- X***`201825,1831
- X`20`20`20`20/*`20handle`20case`20where`20they`20only`20specified`20width`20*or
- V*`20height`20*/
- X`20`20`20`20if`20((`20i`26WidthValue`20`26`26`20`7Ei`26HeightValue)`20`7C`7C
- X`20`20`20`20`20`20`20`20(`7Ei`26WidthValue`20`26`26`20`20i`26HeightValue))`20
- V`7B
- X-`20`20`20`20`20
- X`20`20`20`20`20`20if`20(i`26WidthValue)`20`7B`20eHIGH`20=`20(pHIGH`20*`20eWIDE
- V)`20/`20pWIDE;`20`7D
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20else`20`7B`20eWIDE
- V`20=`20(pWIDE`20*`20eHIGH)`20/`20pHIGH;`20`7D
- X`20`20`20`20`7D
- X---`201819,1824`20-----
- X`20`20`20`20/*`20handle`20case`20where`20they`20only`20specified`20width`20*or
- V*`20height`20*/
- X`20`20`20`20if`20((`20i`26WidthValue`20`26`26`20`7Ei`26HeightValue)`20`7C`7C
- X`20`20`20`20`20`20`20`20(`7Ei`26WidthValue`20`26`26`20`20i`26HeightValue))`20
- V`7B
- X`20`20`20`20`20`20if`20(i`26WidthValue)`20`7B`20eHIGH`20=`20(pHIGH`20*`20eWIDE
- V)`20/`20pWIDE;`20`7D
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20else`20`7B`20eWIDE
- V`20=`20(pWIDE`20*`20eHIGH)`20/`20pHIGH;`20`7D
- X`20`20`20`20`7D
- X***`20xvdir.c
- X---`20old:xvdir.c
- X**************
- X***`20531,536
- X`20`20`20`20`20`20`20`20/*`20figure`20out`20what`20type`20of`20file`20the`20be
- Vastie`20is`20*/
- X`20`20`20`20`20`20`20`20fnames`5Bi`5D`5B0`5D`20=`20C_REG;`20`20`20/*`20default
- V`20to`20normal`20file,`20if`20stat`20fails`20*/
- X`20`20
- X`20`20`20`20`20`20`20`20if`20(!nostat`20`26`26`20(stat(fnames`5Bi`5D+1,`20`26s
- Vt)==0))`20`7B
- X`20`20`09ftype`20=`20st.st_mode`20`26`20S_IFMT;`20`20`20/*`20mask`20off`20unin
- Vteresting`20bits`20*/
- X`20`20`09if`20`20`20`20`20`20(ftype`20==`20S_IFDIR)`20`20fnames`5Bi`5D`5B0`5D
- V`20=`20C_DIR;
- X---`20531,543`20-----
- X`20`20`20`20`20`20`20`20/*`20figure`20out`20what`20type`20of`20file`20the`20be
- Vastie`20is`20*/
- X`20`20`20`20`20`20`20`20fnames`5Bi`5D`5B0`5D`20=`20C_REG;`20`20`20/*`20default
- V`20to`20normal`20file,`20if`20stat`20fails`20*/
- X`20`20
- X+`20#ifdef`20VMS
- X+`20/*`20For`20VMS`20we`20will`20default`20all`20files`20EXCEPT`20directories
- V`20to`20avoid
- X+`20`20`20`20the`20high`20cost`20of`20the`20VAXC`20implementation`20of`20the
- V`20stat`20function.
- X+`20`20`20`20`20`20`20`20`20`20`20`20`20Suggested`20by`20Kevin`20Oberman`20(OB
- VERMAN@icdc.llnl.gov)`20*/
- X+`20
- X+`20`20`20`20`20`20`20if`20(strstr`20(fnames`5Bi`5D+1,`20".DIR")`20!=`20NULL)
- V`20fnames`5Bi`5D`5B0`5D`20=`20C_DIR;
- X+`20#else
- X`20`20`20`20`20`20`20`20if`20(!nostat`20`26`26`20(stat(fnames`5Bi`5D+1,`20`26s
- Vt)==0))`20`7B
- X`20`20`09ftype`20=`20st.st_mode`20`26`20S_IFMT;`20`20`20/*`20mask`20off`20unin
- Vteresting`20bits`20*/
- X`20`20`09if`20`20`20`20`20`20(ftype`20==`20S_IFDIR)`20`20fnames`5Bi`5D`5B0`5D
- V`20=`20C_DIR;
- X**************
- X***`20553,558
- X`20`20`09/*`20fprintf(stderr,"problems`20'stat-ing'`20files\n");*/
- X`20`20`09fnames`5Bi`5D`5B0`5D`20=`20C_REG;
- X`20`20`20`20`20`20`20`20`7D
- X`20`20`20`20`20`20`20`20i++;
- X`20`20`20`20`20`20`7D
- X`20`20`20`20`7D
- X---`20560,566`20-----
- X`20`20`09/*`20fprintf(stderr,"problems`20'stat-ing'`20files\n");*/
- X`20`20`09fnames`5Bi`5D`5B0`5D`20=`20C_REG;
- X`20`20`20`20`20`20`20`20`7D
- X+`20#endif`20/*`20VMS`20*/
- X`20`20`20`20`20`20`20`20i++;
- X`20`20`20`20`20`20`7D
- X`20`20`20`20`7D
- X***`20xvevent.c
- X---`20old:xvevent.c
- X**************
- X***`201111,1117
- X`20`20`09`20`20`20`20xwa->border_width);
- X`20`20`20`20`7D
- X`20`20
- X!`20#ifdef`20DXWM`20`20/*`20dxwm`20seems`20to`20*only*`20pay`20attention`20to
- V`20the`20hints`20*/
- X`20`20`20`20`7B
- X`20`20`20`20`20`20XSizeHints`20hints;
- X`20`20`20`20`20`20if`20(DEBUG)`20fprintf(stderr,"SWP:`20doing`20the`20DXWM`20t
- Vhing\n");
- X---`201111,1119`20-----
- X`20`20`09`20`20`20`20xwa->border_width);
- X`20`20`20`20`7D
- X`20`20
- X!`20/*`20Added`20by`20RLD`20to`20activate`20sizing`20buttons`20for`20VMS`201-M
- VAY-1992
- X!`20`20`20`20Though`20it`20still`20has`20the`20'creeping'`20window`20problem
- V`20*/
- X!`20#if`20defined(DXWM)`20`7C`7C`20defined(VMS)`20/*`20dxwm`20seems`20to`20*on
- Vly*`20pay`20attention`20to`20the`20hints`20*/
- X`20`20`20`20`7B
- X`20`20`20`20`20`20XSizeHints`20hints;
- X`20`20`20`20`20`20if`20(DEBUG)`20fprintf(stderr,"SWP:`20doing`20the`20DXWM`20t
- Vhing\n");
- X**************
- X***`201123,1128
- X`20`20`20`20`20`20`20`20XSetNormalHints(theDisp,`20mainW,`20`26hints);
- X`20`20`20`20`20`20`7D
- X`20`20
- X`20`20`20`20`20`20xwc.x`20-=`205;`20`20`20xwc.y`20-=`2025;`20`20`20`20/*`20EVI
- VL`20KLUDGE`20*/
- X`20`20`20`20`7D
- X`20`20#endif
- X---`201125,1131`20-----
- X`20`20`20`20`20`20`20`20XSetNormalHints(theDisp,`20mainW,`20`26hints);
- X`20`20`20`20`20`20`7D
- X`20`20
- X+`20#ifndef`20MWM`20/*`20don't`20do`20this`20for`20DEC's`20Motif`20Window`20Ma
- Vnager`20*/
- X`20`20`20`20`20`20xwc.x`20-=`205;`20`20`20xwc.y`20-=`2025;`20`20`20`20/*`20EVI
- VL`20KLUDGE`20*/
- X`20`20#endif`20/*`20MWM`20*/
- X`20`20`20`20`7D
- X**************
- X***`201124,1129
- X`20`20`20`20`20`20`7D
- X`20`20
- X`20`20`20`20`20`20xwc.x`20-=`205;`20`20`20xwc.y`20-=`2025;`20`20`20`20/*`20EVI
- VL`20KLUDGE`20*/
- X`20`20`20`20`7D
- X`20`20#endif
- X`20`20
- X---`201127,1133`20-----
- X`20`20
- X`20`20#ifndef`20MWM`20/*`20don't`20do`20this`20for`20DEC's`20Motif`20Window
- V`20Manager`20*/
- X`20`20`20`20`20`20xwc.x`20-=`205;`20`20`20xwc.y`20-=`2025;`20`20`20`20/*`20EVI
- VL`20KLUDGE`20*/
- X+`20#endif`20/*`20MWM`20*/
- X`20`20`20`20`7D
- X`20`20#endif
- X`20`20
- X***`20xvgif.c
- X---`20old:xvgif.c
- X**************
- X***`20130,135
- X`20`20#ifdef`20VMS
- X`20`20`20`20int`20status,`20gif_fget_counted(),`20ii;
- X`20`20`20`20char`20vms_name`5B256`5D;
- X`20`20`20`20typedef`20struct`20`7B
- X`20`20`20`20`20`20unsigned`20char`20*pos,`20*start,`20*end;`09/*`20file`20posi
- Vtions`20*/
- X`20`20`20`20`20`20int`20chan,`20size;
- X---`20130,136`20-----
- X`20`20#ifdef`20VMS
- X`20`20`20`20int`20status,`20gif_fget_counted(),`20ii;
- X`20`20`20`20char`20vms_name`5B256`5D;
- X+`20`20`20unsigned`20char`20*final_out=NULL;`09/*`20final`20output`20pointer
- V`20*/
- X`20`20`20`20typedef`20struct`20`7B
- X`20`20`20`20`20`20unsigned`20char`20*pos,`20*start,`20*end;`09/*`20file`20posi
- Vtions`20*/
- X`20`20`20`20`20`20int`20chan,`20size;
- X**************
- X***`20405,411
- X`20`20`20`20if`20(!pic)`20
- X`20`20`20`20`20`20return(`20GifError("not`20enough`20memory`20for`20'pic'")
- V`20);
- X`20`20`20`20if`20(`20!Interlace`20)
- X!`20`20`20`20`20status`20=`20GIF_DECOMPRESS`20(`20gif_fget_counted,`20map,`20m
- Vaxpixels,`20picptr`20);
- X`20`20`20`20else`20`7B
- X`20`20`20`20`20`20/*`20decompress`20a`20line`20at`20a`20time`20into`20the`20pr
- Voper`20position.`20*/
- X`20`20`20`20`20`20int`20pass,`20step,`20i,`20y;
- X---`20406,413`20-----
- X`20`20`20`20if`20(!pic)`20
- X`20`20`20`20`20`20return(`20GifError("not`20enough`20memory`20for`20'pic'")
- V`20);
- X`20`20`20`20if`20(`20!Interlace`20)
- X!`20`20`20`20`20`20`20status`20=`20GIF_DECOMPRESS
- X!`20`09(`20gif_fget_counted,`20map,`20maxpixels,`20picptr,`20`26final_out`20);
- V
- X`20`20`20`20else`20`7B
- X`20`20`20`20`20`20/*`20decompress`20a`20line`20at`20a`20time`20into`20the`20pr
- Voper`20position.`20*/
- X`20`20`20`20`20`20int`20pass,`20step,`20i,`20y;
- X**************
- X***`20432,438
- X`20`20`09`20`20`20`20"Error`20decompressing`20data.`20`20Winging`20it.");
- X`20`20`20`20`20`20sprintf`20(`20msg,`20"Error`20decompressing`20data,`20code
- V`20%d,`20start:`20%x,`20pos:`20%x",
- X`20`20`09`20`20`20`20`20status,`20map->start,`20map->pos`20);
- X!`20`20`20`20`20return(`20GifError(msg)`20);
- X`20`20`20`20`7D
- X`20`20
- X`20`20#else`20`20/*`20!VMS`20*/
- X---`20434,443`20-----
- X`20`20`09`20`20`20`20"Error`20decompressing`20data.`20`20Winging`20it.");
- X`20`20`20`20`20`20sprintf`20(`20msg,`20"Error`20decompressing`20data,`20code
- V`20%d,`20start:`20%x,`20pos:`20%x",
- X`20`20`09`20`20`20`20`20status,`20map->start,`20map->pos`20);
- X!`20`20`20`20`20`20`20/*`20Zero`20rest`20of`20array`20*/
- X!`20`20`20`20`20`20`20if`20(`20final_out`20!=`20NULL`20)
- X!`20`09`09while`20(`20final_out`20<`20`26picptr`5BHeight*Width`5D`20)`20*final
- V_out++`20=`200;
- X!`20`20`20`20`20`20return(`20GifError(msg)*0`20);
- X`20`20`20`20`7D
- X`20`20
- X`20`20#else`20`20/*`20!VMS`20*/
- X***`20xvjpeg.c
- X---`20old:xvjpeg.c
- X**************
- X***`20556,561
- X`20`20
- X`20`20`20`20/*`20Set`20up`20the`20input`20file`20*/
- X`20`20
- X`20`20`20`20if`20((cinfo.input_file`20=`20fopen(fname,`20"r"))`20==`20NULL)
- V`20return`201;
- X`20`20
- X`20`20`20`20/*`20figure`20out`20the`20file`20size`20(for`20Informational`20Pur
- Vposes`20Only)`20*/
- X---`20556,564`20-----
- X`20`20
- X`20`20`20`20/*`20Set`20up`20the`20input`20file`20*/
- X`20`20
- X+`20#ifdef`20VMS
- X+`20`20`20if`20((cinfo.input_file`20=`20fopen(fname,`20"r",`20"ctx=stm"))`20==
- V`20NULL)`20return`201;
- X+`20#else
- X`20`20`20`20if`20((cinfo.input_file`20=`20fopen(fname,`20"r"))`20==`20NULL)
- V`20return`201;
- X`20`20#endif
- X`20`20
- X**************
- X***`20557,562
- X`20`20`20`20/*`20Set`20up`20the`20input`20file`20*/
- X`20`20
- X`20`20`20`20if`20((cinfo.input_file`20=`20fopen(fname,`20"r"))`20==`20NULL)
- V`20return`201;
- X`20`20
- X`20`20`20`20/*`20figure`20out`20the`20file`20size`20(for`20Informational`20Pur
- Vposes`20Only)`20*/
- X`20`20`20`20fseek(cinfo.input_file,`200L,`202);
- X---`20560,566`20-----
- X`20`20`20`20if`20((cinfo.input_file`20=`20fopen(fname,`20"r",`20"ctx=stm"))
- V`20==`20NULL)`20return`201;
- X`20`20#else
- X`20`20`20`20if`20((cinfo.input_file`20=`20fopen(fname,`20"r"))`20==`20NULL)
- V`20return`201;
- X+`20#endif
- X`20`20
- X`20`20`20`20/*`20figure`20out`20the`20file`20size`20(for`20Informational`20Pur
- Vposes`20Only)`20*/
- X`20`20`20`20fseek(cinfo.input_file,`200L,`202);
- X***`20xvmisc.c
- X---`20old:xvmisc.c
- X**************
- X***`20226,248
- X`20`20
- X`20`20
- X`20`20/***********************************/
- X-`20void`20xvDestroyImage(image)
- X-`20`20`20`20`20`20XImage`20*image;
- X-`20`7B
- X-`20`20`20/*`20called`20in`20place`20of`20XDestroyImage().`20`20Explicitly`20d
- Vestroys`20*BOTH*`20the
- X-`20`20`20`20`20`20data`20and`20the`20structure.`20`20XDestroyImage()`20doesn'
- Vt`20seem`20to`20do`20this`20on`20all
- X-`20`20`20`20`20`20systems.`20`20Also,`20can`20be`20called`20with`20a`20NULL
- V`20image`20pointer`20*/
- X-`20
- X-`20`20`20if`20(image)`20`7B
- X-`20`20`20`20`20/*`20free`20data`20by`20hand,`20since`20XDestroyImage`20is`20v
- Vague`20about`20it`20*/
- X-`20`20`20`20`20if`20(image->data)`20free(image->data);
- X-`20`20`20`20`20image->data`20=`20NULL;
- X-`20`20`20`20`20XDestroyImage(image);
- X-`20`20`20`7D
- X-`20`7D
- X-`20
- X-`20
- X-`20/***********************************/
- X`20`20void`20DimRect(win,`20x,`20y,`20w,`20h,`20bg)
- X`20`20Window`20win;
- X`20`20int`20x,y,w,h;
- X---`20226,231`20-----
- X`20`20
- X`20`20
- X`20`20/***********************************/
- X`20`20void`20DimRect(win,`20x,`20y,`20w,`20h,`20bg)
- X`20`20Window`20win;
- X`20`20int`20x,y,w,h;
- X**************
- X***`20256,261
- X`20`20`20`20XSetForeground(theDisp,`20theGC,`20bg);
- X`20`20`20`20XFillRectangle(theDisp,win,theGC,x,y,w,h);
- X`20`20`20`20XSetFillStyle(theDisp,`20theGC,`20FillSolid);
- X`20`20`7D
- X`20`20
- X`20`20
- X---`20239,258`20-----
- X`20`20`20`20XSetForeground(theDisp,`20theGC,`20bg);
- X`20`20`20`20XFillRectangle(theDisp,win,theGC,x,y,w,h);
- X`20`20`20`20XSetFillStyle(theDisp,`20theGC,`20FillSolid);
- X+`20`7D
- X+`20/***********************************/
- X+`20void`20xvDestroyImage(image)
- X+`20`20`20`20`20`20XImage`20*image;
- X+`20`7B
- X+`20`20`20/*`20called`20in`20place`20of`20XDestroyImage().`20`20Explicitly`20d
- Vestroys`20*BOTH*`20the
- X+`20`20`20`20`20`20data`20and`20the`20structure.`20`20XDestroyImage()`20doesn'
- Vt`20seem`20to`20do`20this`20on`20all
- X+`20`20`20`20`20`20systems.`20`20Also,`20can`20be`20called`20with`20a`20NULL
- V`20image`20pointer`20*/
- X+`20`20`20if`20(image)`20`7B
- X+`20`20`20`20`20/*`20free`20data`20by`20hand,`20since`20XDestroyImage`20is`20v
- Vague`20about`20it`20*/
- X+`20`20`20`20`20if`20(image->data)`20free(image->data);
- X+`20`20`20`20`20image->data`20=`20NULL;
- X+`20`20`20`20`20XDestroyImage(image);
- X+`20`20`20`7D
- X`20`20`7D
- X`20`20
- X`20`20
- $ call unpack XV-221_VMS.DIFF;222 489489466 ""
- $!
- $ create 'f'
- X-`20`20216,`20`20216
- X`20`20autoclose`20=`201;
- X-`20`20425,`20`20426
- X`20`20`20`20`20`20else`20if`20(!argcmp(argv`5Bi`5D,"-cmap",3))`09/*`20ctrlmap
- V`20*/
- X-`20`20927,`20`20927
- X</*`20`20XSelectInput(theDisp,`20rootW,`20ColormapChangeMask);`20*/
- X-`201371,`201372
- X-`201427,`201427
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20else`20`7B`20eWIDE=(int)(pWIDE*ex
- Vpand);`20`20eHIGH=(int)(pHIGH*expand);`20`7D
- X
- X-`201444,`201450
- X`20`20`20`20`20`20if`20(i`26WidthValue)`20`7B`20eHIGH`20=`20(pHIGH`20*`20eWIDE
- V)`20/`20pWIDE;`20`7D
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20else`20`7B`20eWIDE
- V`20=`20(pWIDE`20*`20eHIGH)`20/`20pHIGH;`20`7D
- X`20`20`20`20`20`20RANGE(eWIDE,1,maxWIDE);`20`20RANGE(eHIGH,1,maxHIGH);
- X`20`20`20`20`7D
- X-`201824,`201824
- X-`201828,`201828
- X/
- $ call unpack XV.DIF;222 1212230393 ""
- $!
- $ create 'f'
- X1`20XV
- X`20`20`20`20`20`20`20`20An`20interactive`20`20image`20`20display`20for`20the
- V`20X`20Window`20System.`20`20XV`20is
- X`20`20`20`20an`20X11`20program`20that`20displays`20images`20in`20the`20GIF,
- V`20PBM,`20PGM,`20PPM,`20X11
- X`20`20`20`20bitmap,`20JPEG,`20TIFF,`20Sun`20`20Rastefile,`20RLE,`20and`20PM
- V`20formats`20on`201-,`204-,
- X`20`20`20`206-,`208-,`2016-,`2024-,`20and`20`2032-bit`20`20X`20`20displays.
- V`20`20`20`20xv`20`20will`20`20also`20read
- X`20`20`20`20compress-ed`20versions`20of`20these`20files.
- X
- X`20`20`20`20NOTE:`20`20This`20`20`20man`20`20page`20`20is`20`20merely`20`20the
- V`20`20text`20`20portion`20`20of`20`20`20`20the
- X`20`20`20`20(PostScript)`20`20XV`20`20docs,`20`20without`20`20the`20`20figures
- V,`20`20and`20`20without`20`20the
- X`20`20`20`20appendicies.`20`20`20As`20such,`20it`20is`20highly`20recommended
- V`20that`20you`20get`20your
- X`20`20`20`20hands`20on`20the`20*real*`20documentation.
- X
- X`20`20`20`20`20`20`20`20Execution`20Format:
- X`20`20`20`20`20`20`20`20`20`20`20`20xv`20`5Boptions`5D`20`5Bfilename`20`5Bfile
- Vname`20...`5D`5D
- X
- X
- X2`20OVERVIEW
- X`20`20`20`20`20`20`20`20XV`20lets`20you`20do`20a`20large`20number`20of`20thing
- Vs`20(many`20of`20them`20actually
- X`20`20`20`20useful),`20including,`20but`20not`20limited`20to,`20the`20followin
- Vg:
- X`20`20`20`20
- X`20`20`20`20`20`20`20`20o`20display`20an`20image`20in`20a`20window`20on`20the
- V`20screen
- X`20`20`20`20`20`20`20`20o`20display`20an`20image`20on`20the`20root`20window,
- V`20in`20a`20variety`20of`20styles
- X`20`20`20`20`20`20`20`20o`20grab`20any`20rectangular`20portion`20of`20the`20sc
- Vreen`20and`20turn`20it`20into
- X`20`20`20`20`20`20`20`20`20`20an`20image
- X`20`20`20`20`20`20`20`20o`20arbitrarily`20stretch`20or`20compress`20the`20imag
- Ve
- X`20`20`20`20`20`20`20`20o`20rotate`20the`20image`20in`2090--degree`20steps
- X`20`20`20`20`20`20`20`20o`20flip`20the`20image`20around`20the`20horizontal`20o
- Vr`20vertical`20axes
- X`20`20`20`20`20`20`20`20o`20crop`20a`20rectangular`20portion`20of`20the`20imag
- Ve
- X`20`20`20`20`20`20`20`20o`20magnify`20any`20portion`20of`20`20the`20`20image
- V`20`20by`20any`20amount,`20up`20to`20the
- X`20`20`20`20`20`20`20`20`20`20size`20of`20the`20screen
- X`20`20`20`20`20`20`20`20o`20determine`20pixel`20values`20and`20x,y`20coordinat
- Ves`20in`20the`20image
- X`20`20`20`20`20`20`20`20o`20adjust`20image`20brightness`20and`20contrast`20wit
- Vh`20a`20gamma`20correction
- X`20`20`20`20`20`20`20`20`20`20function
- X`20`20`20`20`20`20`20`20o`20apply`20different`20gamma`20functions`20`20to`20th
- Ve`20Red,`20Green,`20and`20Blue
- X`20`20`20`20`20`20`20`20`20`20color`20components,`20to`20correct`20for`20non-l
- Vinear`20color`20response
- X`20`20`20`20`20`20`20`20o`20adjust`20global`20image`20saturation
- X`20`20`20`20`20`20`20`20o`20perform`20global`20hue`20remapping
- X`20`20`20`20`20`20`20`20o`20edit`20an`20image's`20colormap
- X`20`20`20`20`20`20`20`20o`20reduce`20the`20number`20of`20colors`20in`20an`20im
- Vage
- X`20`20`20`20`20`20`20`20o`20dither`20in`20color`20and`20b`26w
- X`20`20`20`20`20`20`20`20o`20smooth`20an`20image
- X`20`20`20`20`20`20`20`20o`20crop`20off`20solid`20borders`20automatically
- X`20`20`20`20`20`20`20`20o`20convert`20image`20formats
- X`20`20`20`20`20`20`20`20o`20generate`20Encapsulated`20PostScript
- X
- X`20`20`20`20`20`20`20`20Unfortunately`20the`20Automatic`20Checkbook`20`20Balan
- Vcing`20`20Module`20still
- X`20`20`20`20isn't`20`20completely`20`20debugged,`20`20and`20`20is`20`20`20`20n
- Vot`20`20`20`20included`20`20in`20`20this
- X`20`20`20`20distribution.`20
- X
- X2`20Starting_XV
- X`20`20`20`20`20`20`20`20NOTE:`20Unless`20`20explicitly`20`20stated`20`20otherw
- Vise,`20the`20term`20`20"click"
- X`20`20`20`20means`20"click`20with`20the`20Left`20mouse`20button."
- X
- X`20`20`20`20`20`20`20`20Start`20the`20program`20up`20by`20typing`20'xv'.`20
- V`20`20`20After`20a`20short`20delay,`20a
- X`20`20`20`20window`20will`20appear`20with`20the`20default`20image`20(the`20
- V`20XV`20`20logo,`20`20credits
- X`20`20`20`20and`20revision`20date)`20displayed`20in`20it.`20`20If`20you`20chan
- Vge`20the`20size`20of`20the
- X`20`20`20`20window`20`20(using`20`20whatever`20method`20your`20window`20manage
- Vr`20provides),`20the
- X`20`20`20`20image`20will`20be`20automatically`20stretched`20to`20fit`20the`20w
- Vindow.
- X
- X2`20Options
- X`20`20`20`20`20`20`20`20XV`20supports`20`20literally`20`20dozens`20of`20comman
- Vd`20line`20options`20and`20X11
- X`20`20`20`20resources.`20`20Fortunately,`20`20it`20`20is`20doubtful`20that`20y
- Vou'll`20ever`20need`20to
- X`20`20`20`20use`20more`20than`20a`20`20small`20few.`20`20The`20rest`20are`20pr
- Vovided`20mainly`20for`20that
- X`20`20`20`20'one`20special`20case'`20application`20of`20XV`20...
- X
- X`20`20`20`20`20`20`20`20If`20you`20start`20XV`20with`20`20the`20command`20'xv
- V`20-help',`20the`20current`20list
- X`20`20`20`20of`20options`20will`20be`20displayed:
- X`20`20`20`20
- X`20`20`20`20`20`20`20xv`20`5B-`5D`20`5B-2xlimit`5D`20`20`5B-aspect`20`20w:h
- V`5D`20`5B-best24`5D`20`5B-bg`20color`5D`20`5B-black
- X`20`20`20`20`20`20`20`20`20`20color`5D`20`5B-browse`5D`20`5B-bw`20width`5D`20
- V`20`5B-cecmap`5D`20`20`5B-cegeometry`20`20geom`5D
- X`20`20`20`20`20`20`20`20`20`20`5B-cemap`5D`20`5B-cgeometry`20geom`5D`20`5B-cle
- Var`5D`20`5B-cmap`5D`20`20`5B-cursor`20char#`5D
- X`20`20`20`20`20`20`20`20`20`20`5B-DEBUG`20level`5D`20`5B-display`20disp`5D`20
- V`5B-dither`5D`20`5B-expand`20`20exp`5D`20`5B-fg
- X`20`20`20`20`20`20`20`20`20`20color`5D`20`5B-fixed`5D`20`5B-geometry`20geom
- V`5D`20`5B-help`5D`20`5B-hi`20color`5D`20`20`5B-hsv`5D
- X`20`20`20`20`20`20`20`20`20`20`5B-igeometry`20`20geom`5D`20`20`20`20`5B-imap
- V`5D`20`20`20`20`5B-keeparound`5D`20`20`5B-lo`20`20color`5D
- X`20`20`20`20`20`20`20`20`20`20`5B-loadclear`5D`20`5B-max`5D`20`5B-maxpect`5D
- V`20`5B-mono`5D`20`5B-ncols`20#`5D`20`5B-nglobal`5D
- X`20`20`20`20`20`20`20`20`20`20`5B-ninstall`5D`20`5B-nolimits`5D`20`5B-nopos
- V`5D`20`5B-noqcheck`5D`20`20`5B-noresetroot`5D
- X`20`20`20`20`20`20`20`20`20`20`5B-nostat`5D`20`20`5B-owncmap`5D`20`20`5B-perfe
- Vct`5D`20`20`5B-quick24`5D`20`5B-quit`5D`20`20`5B-rbg
- X`20`20`20`20`20`20`20`20`20`20color`5D`20`5B-rfg`20color`5D`20`5B-rgb`5D`20
- V`5B-rmode`20#`5D`20`20`5B-root`5D`20`20`5B-rv`5D`20`20`5B-rw`5D
- X`20`20`20`20`20`20`20`20`20`20`5B-slow24`5D`20`20`5B-smooth`5D`20`20`5B-visual
- V`20type`5D`20`5B-wait`20seconds`5D`20`5B-white
- X`20`20`20`20`20`20`20`20`20`20color`5D`20`5B-wloop`5D`20`5Bfilename`20...`5D
- X
- X3`20General_Options
- X`20`20`20`20`20`20`20-help
- X`20`20`20`20`20`20`20`20Print`20`20usage`20`20instructions,`20`20`20listing
- V`20`20the`20`20current`20`20available
- X`20`20`20`20`20`20`20`20command-line`20options.`20`20Any`20unrecognized`20opti
- Von`20will`20do`20this`20as
- X`20`20`20`20`20`20`20`20well.
- X
- X`20`20`20`20`20`20`20`20-display`20`20disp
- X`20`20`20`20`20`20`20`20Specifies`20the`20display`20that`20XV`20`20should`20
- V`20attempt`20`20to`20connect`20to.
- X`20`20`20`20`20`20`20`20If`20you`20don't`20specify`20a`20display,`20`20XV`20
- V`20will`20`20use`20the`20environment
- X`20`20`20`20`20`20`20`20variable`20$DISPLAY.
- X
- X`20`20`20`20`20`20`20`20-fg`20`20color`20(Resource`20name:`20foreground`20`20s
- Vtring)
- X`20`20`20`20`20`20`20`20Sets`20the`20foreground`20color`20used`20by`20the`20wi
- Vndows.
- X
- X`20`20`20`20`20`20`20`20-bg`20`20color`20`20`20(Resource`20name:`20background
- V`20`20string)
- X`20`20`20`20`20`20`20`20Sets`20the`20background`20color`20used`20by`20the`20wi
- Vndows.
- X
- X`20`20`20`20`20`20`20`20-hi`20`20color`20`20(Resource`20name:`20highlight`20
- V`20string)
- X`20`20`20`20`20`20`20`20Sets`20the`20highlight`20color`20used`20for`20the`20
- V`20top-left`20`20edges`20`20of`20the
- X`20`20`20`20`20`20`20`20control`20buttons.
- X
- X`20`20`20`20`20`20`20`20-lo`20`20color`20(Resource`20name:`20lowlight`20`20str
- Ving)
- X`20`20`20`20`20`20`20`20Sets`20the`20lowlight`20color`20used`20for`20the`20bot
- Vtom-right`20edges`20of`20the
- X`20`20`20`20`20`20`20`20control`20buttons,`20and`20also`20the`20background`20o
- Vf`20some`20windows.
- X
- X`20`20`20`20`20`20`20`20-bw`20`20bwidth`20(Resource`20name:`20borderWidth`20
- V`20integer)
- X`20`20`20`20`20`20`20`20Sets`20`20the`20`20width`20of`20the`20border`20on`20th
- Ve`20windows.`20`20`20`20Your`20`20window
- X`20`20`20`20`20`20`20`20manager`20may`20choose`20to`20ignore`20this,`20however
- V.
- X
- X3`20Image_Sizing_Options
- X`20`20`20`20`20`20`20`20-geometry`20geom`20(Resource`20name:`20geometry`20stri
- Vng)
- X`20`20`20`20`20`20`20`20Lets`20you`20specify`20the`20size`20and`20placement
- V`20of`20the`20'image'`20window.
- X`20`20`20`20`20`20`20`20It's`20most`20useful`20when`20you`20only`20specify`20a
- V`20`20position,`20and`20let`20XV
- X`20`20`20`20`20`20`20`20choose`20`20the`20`20size.`20`20If`20you`20specify`20a
- V`20size`20`20as`20`20well,`20`20XV`20`20will
- X`20`20`20`20`20`20`20`20create`20a`20window`20of`20that`20size,`20unless`20-fi
- Vxed`20is`20specified.`20`20The
- X`20`20`20`20`20`20`20`20geom`20`20argument`20`20is`20`20in`20the`20form`20of
- V`20a`20normal`20X`20geometry`20`20string
- X`20`20`20`20`20`20`20`20(e.g.`20`20`60`60300x240''`20or`20`60`60+10+10''`20or
- V`20`60`60400x300+10+10'').
- X
- X`20`20`20`20`20`20`20`20-fixed`20`20(Resource`20name:`20fixed`20`20boolean)
- X`20`20`20`20`20`20`20`20Only`20used`20`20in`20`20conjunction`20`20with`20the
- V`20-geometry`20option.`20`20If`20you
- X`20`20`20`20`20`20`20`20specify`20a`20window`20`20size`20`20with`20`20the`20
- V`20-geometry`20`20option,`20`20XV`20will
- X`20`20`20`20`20`20`20`20normally`20stretch`20the`20picture`20`20to`20`20exactl
- Vy`20`20that`20size.`20`20This`20is
- X`20`20`20`20`20`20`20`20not`20always`20desirable,`20as`20it`20`20may`20`20seri
- Vously`20distort`20the`20aspect
- X`20`20`20`20`20`20`20`20ratio`20of`20the`20picture.`20`20Specifying`20`20the
- V`20`20-fixed`20option`20corrects
- X`20`20`20`20`20`20`20`20this`20behavior`20by`20instructing`20XV`20to`20use`20
- V`20the`20specified`20geometry
- X`20`20`20`20`20`20`20`20size`20as`20a`20maximum`20window`20size.`20`20It`20wil
- Vl,`20however,`20preserve`20the
- X`20`20`20`20`20`20`20`20original`20aspect`20ratio`20of`20the`20picture.
- X
- X`20`20`20`20`20`20`20`20For`20example,`20if`20you`20give`20a`20rectangular`20g
- Veometry`20of`20`20'320x240',
- X`20`20`20`20`20`20`20`20and`20`20you`20`20try`20`20to`20`20display`20`20a`20
- V`20square`20picture`20with`20a`20`20size`20`20of
- X`20`20`20`20`20`20`20`20'256x256',`20the`20window`20opened`20will`20actually
- V`20be`20'240x240',`20which
- X`20`20`20`20`20`20`20`20is`20`20the`20largest`20`20square`20`20that`20`20still
- V`20`20fits`20`20in`20`20the`20`20'320x240'
- X`20`20`20`20`20`20`20`20rectangle`20that`20was`20specified.
- X
- X`20`20`20`20`20`20`20`20-expand`20`20exp`20`20(Resource`20name:`20expand`20
- V`20floating-point)
- X`20`20`20`20`20`20`20`20Lets`20you`20specify`20an`20`20initial`20`20expansion
- V`20`20or`20compression`20factor
- X`20`20`20`20`20`20`20`20for`20`20the`20`20picture.`20`20You`20`20can`20`20spec
- Vify`20`20floating-point`20`20values.
- X`20`20`20`20`20`20`20`20Values`20larger`20than`20zero`20multiply`20the`20`20pi
- Vcture's`20`20dimensions`20by
- X`20`20`20`20`20`20`20`20the`20given`20factor.`20`20(`20i.e.,`20an`20expand`20f
- Vactor`20of`20'3'`20will`20make`20a
- X`20`20`20`20`20`20`20`20320x200`20image`20display`20as`20960x600).
- X
- X`20`20`20`20`20`20`20`20Factors`20less`20than`20zero`20are`20treated`20as`20re
- Vciprocals.`20`20(i.e.,`20`20an
- X`20`20`20`20`20`20`20`20expand`20factor`20of`20`20'-4'`20`20makes`20`20the`20
- V`20picture`20`201/4th`20`20its`20normal
- X`20`20`20`20`20`20`20`20size.).`20`20'0'`20is`20not`20a`20valid`20expansion
- V`20factor.
- X
- X`20`20`20`20`20`20`20`20-aspect`20`20w:h`20`20(Resource`20name:`20aspect`20
- V`20string)
- X`20`20`20`20`20`20`20`20Lets`20you`20set`20an`20initial`20aspect`20ratio,`20an
- Vd`20also`20sets`20`20the`20value
- X`20`20`20`20`20`20`20`20used`20by`20the`20Aspect`20control.`20`20The`20aspect
- V`20ratio`20of`20nearly`20`20every
- X`20`20`20`20`20`20`20`20X`20display`20`20(and,`20`20in`20`20fact,`20any`20civi
- Vlized`20graphics`20display)`20is
- X`20`20`20`20`20`20`20`201:1.`20`20What`20this`20means`20is`20that`20pixels`20a
- Vppear`20to`20be`20'square'.`20`20A
- X`20`20`20`20`20`20`20`20100`20pixel`20wide`20by`20100`20pixel`20high`20box`20w
- Vill`20appear`20on`20the`20screen
- X`20`20`20`20`20`20`20`20as`20a`20square.`20`20Unfortunately,`20`20this`20`20is
- V`20`20not`20the`20case`20with`20some
- X`20`20`20`20`20`20`20`20screens`20and`20digitizers.`20`20The`20-aspect`20`20op
- Vtion`20`20lets`20you`20stretch
- X`20`20`20`20`20`20`20`20the`20`20picture`20`20so`20that`20the`20picture`20appe
- Vars`20`20correctly`20`20on`20`20your
- X`20`20`20`20`20`20`20`20display.`20`20`20`20Unlike`20`20the`20`20other`20size-
- Vrelated`20options,`20this`20`20one
- X`20`20`20`20`20`20`20`20doesn't`20`20care`20`20what`20the`20size`20of`20the
- V`20overall`20picture`20`20is.`20`20`20`20It
- X`20`20`20`20`20`20`20`20operates`20on`20`20a`20`20pixel-by-pixel`20`20basis,
- V`20`20stretching`20`20each`20image
- X`20`20`20`20`20`20`20`20pixel`20slightly,`20in`20`20either`20`20width`20`20or
- V`20height,`20depending`20on`20the
- X`20`20`20`20`20`20`20`20ratio.
- X
- X`20`20`20`20`20`20`20`20Aspect`20`20ratios`20`20greater`20`20than`20`20'1:1'
- V`20`20(e.g.,`20`20'4:3')`20`20make`20the
- X`20`20`20`20`20`20`20`20picture`20`20wider`20`20than`20`20normal.`20`20`20`20A
- Vspect`20ratios`20less`20than`20'1:1'
- X`20`20`20`20`20`20`20`20(e.g.`20`20`20'2:3')`20`20make`20`20the`20picture`20ta
- Vller`20than`20normal.`20`20(Useful
- X`20`20`20`20`20`20`20`20aspect`20ratio:`20`20`20A`20`20512x480`20`20image`20
- V`20that`20was`20supposed`20to`20fill`20a
- X`20`20`20`20`20`20`20`20standard`204x3`20video`20screen`20`20(produced`20by
- V`20many`20video`20digitizers)
- X`20`20`20`20`20`20`20`20should`20be`20displayed`20with`20an`20aspect`20ratio
- V`20of`20'5:4')
- X
- X3`20Color_Allocation_Options
- X`20`20`20`20`20`20`20`20-ncols`20nc`20`20(Resource`20name:`20ncols`20`20intege
- Vr)
- X`20`20`20`20`20`20`20`20Sets`20the`20maximum`20number`20of`20colors`20that`20X
- VV`20will`20use.`20`20Normally,
- X`20`20`20`20`20`20`20`20this`20is`20set`20to`20'as`20many`20`20as`20it`20can
- V`20get'.`20`20However,`20you`20can`20set
- X`20`20`20`20`20`20`20`20this`20to`20smaller`20values`20for`20interesting`20eff
- Vect.`20`20`20Most`20notably,
- X`20`20`20`20`20`20`20`20if`20you`20set`20it`20to`20'0',`20it`20will`20display
- V`20the`20picture`20by`20dithering
- X`20`20`20`20`20`20`20`20with`20'black'`20and`20'white'.`20`20(The`20actual`20c
- Volors`20used`20`20can`20be`20set
- X`20`20`20`20`20`20`20`20by`20the`20-black`20and`20-white`20options,`20below.)
- X
- X`20`20`20`20`20`20`20`20-nglobal`20(Resource`20name:`20nglobal`20`20boolean)
- X`20`20`20`20`20`20`20`20Adjusts`20the`20way`20the`20program`20behaves`20when
- V`20it`20is`20unable`20`20to`20`20get
- X`20`20`20`20`20`20`20`20all`20`20the`20`20colors`20`20it`20`20requested.`20
- V`20Normally,`20it`20will`20search`20the
- X`20`20`20`20`20`20`20`20display's`20default`20`20colormap,`20`20and`20'borrow'
- V`20any`20colors`20it`20deems
- X`20`20`20`20`20`20`20`20appropriate.`20`20These`20borrowed`20colors`20are,`20h
- Vowever,`20not`20owned`20by
- X`20`20`20`20`20`20`20`20XV,`20and`20as`20such,`20`20can`20`20changed`20`20with
- Vout`20`20xv's`20`20permission,`20`20or
- X`20`20`20`20`20`20`20`20knowledge.`20`20`20`20If`20`20this`20happens,`20`20the
- V`20`20displayed`20`20picture`20`20will
- X`20`20`20`20`20`20`20`20change,`20in`20a`20less-than-desirable`20direction.
- V`20`20`20If`20`20you`20`20specify
- X`20`20`20`20`20`20`20`20the`20-nglobal`20option,`20XV`20will`20not`20use`20'gl
- Vobal'`20colors.`20`20It`20will
- X`20`20`20`20`20`20`20`20only`20use`20colors`20that`20it`20successfully`20alloc
- Vated,`20which`20makes`20it
- X`20`20`20`20`20`20`20`20immune`20to`20any`20color`20changes.
- X
- X`20`20`20`20`20`20`20`20It`20should`20`20be`20`20noted`20`20that`20`20'use`20g
- Vlobal`20colors'`20is`20the`20default
- X`20`20`20`20`20`20`20`20because`20color`20changes`20`20aren't`20`20generally
- V`20`20a`20problem`20if`20you`20are
- X`20`20`20`20`20`20`20`20only`20using`20XV`20to`20`20display`20`20a`20`20pictur
- Ve`20for`20a`20short`20time.`20`20Color
- X`20`20`20`20`20`20`20`20changes`20only`20really`20become`20a`20`20problem`20if
- V`20you`20use`20XV`20to`20display
- X`20`20`20`20`20`20`20`20a`20picture`20that`20you`20will`20be`20`20keeping`20
- V`20around`20for`20a`20while,`20while
- X`20`20`20`20`20`20`20`20you`20go`20and`20do`20some`20other`20work`20`20(such
- V`20`20as`20using`20XV`20to`20display`20a
- X`20`20`20`20`20`20`20`20background).`20`20In`20such`20cases`20you`20will`20wan
- Vt`20to`20specify`20-nglobal.
- X`20`20`20`20`20`20`20`20Note:`20`20using`20the`20-ncols`20or`20-root`20options
- V`20automatically`20turn`20on
- X`20`20`20`20`20`20`20`20-nglobal.
- X
- X`20`20`20`20`20`20`20`20-rw`20`20(Resource`20name:`20rwColor`20`20boolean)
- X`20`20`20`20`20`20`20`20Tells`20`20XV`20`20to`20`20use`20`20read/write`20`20co
- Vlor`20`20cells.`20`20`20`20Normally,`20`20XV
- X`20`20`20`20`20`20`20`20allocates`20`20colors`20read-only,`20which`20allows
- V`20it`20to`20`20share`20`20colors
- X`20`20`20`20`20`20`20`20with`20other`20programs.`20`20If`20you`20use`20read/wr
- Vite`20`20color`20`20cells,`20`20no
- X`20`20`20`20`20`20`20`20other`20`20program`20`20can`20`20use`20`20the`20`20col
- Vors`20`20that`20XV`20is`20`20using,`20`20and
- X`20`20`20`20`20`20`20`20vice-versa.`20`20`20`20The`20only`20reason`20you'd`20d
- +-+-+-+-+-+-+-+- END OF PART 3 +-+-+-+-+-+-+-+-
-