Thread View: vmsnet.sources
1 messages
1 total messages
Started by Rick Dyson
Wed, 04 Nov 1992 21:12
xv-2-21a changes to run on VMS, part 08/08
Author: Rick Dyson
Date: Wed, 04 Nov 1992 21:12
Date: Wed, 04 Nov 1992 21:12
925 lines
33884 bytes
33884 bytes
Submitted-by: dyson@iowasp.physics.uiowa.edu (Rick Dyson)
Posting-number: Volume 3, Issue 240
Archive-name: xv-2-21_vms_changes/part08
Supersedes: xv-2-21_vms_changes: Volume 2, Issue 83-86
-+-+-+-+-+-+-+-+ START OF PART 8 -+-+-+-+-+-+-+-+
Xprovided`20on`20any`20given`20X`20display.`20`20Run`20`7B\it`20xdpyinfo`7D`20o
Vn`20your`20display`20to
Xfind`20out`20what`20visual`20types`20are`20supported.
X
X\IPitem`7B`7B--cursor\`20%
X\it`20curs\rm%
X\`20\`20(Resource\`20name:\`20cursor\`20%
X\it`20integer\rm%
X)`7D`7D
XSpecifies`20an`20alternate`20cursor`20to`20use`20in`20the`20image`20window`20(
Vinstead`20of
Xthe`20normal`20'cross'`20cursor).`20`20curs`20values`20are`20obtained`20by`20f
Vinding`20the
Xcharacter`20number`20of`20a`20cursor`20you`20like`20in`20the`20'cursor'`20font
V.`20`20(Run`20'xfd
X--fn`20cursor'`20to`20display`20the`20cursor`20font.)`20`20For`20example,`20a
V`20curs`20value`20of
X'56'`20corresponds`20to`20the`20(singularly`20useless)`20'Gumby'`20cursor.
X
X\IPitem`7B`7B--keeparound`20(Resource`20name:`20keepAround`20`7B\it`20boolean
V`7D)`7D`7D
XThe`20`20'--keeparound'`20option`20is`20now`20poorly`20named,`20as`20I've`20ch
Vanged`20the
Xdefault`20behavior.`20`20Now,`20if`20you`20`7B\bf`20Delete`7D`20the`20last`20f
Vile`20in`20the`20`7B\it`20xv\
Xcontrols`7D`20list,`20nothing`20specify`20the`20'--keeparound'`20option,`20whi
Vch`20toggles
Xthe`20'--keeparound'`20flag`20off,`20the`20program`20will`20automatically`20ex
Vit`20as`20a
Xconvenience.`20`20It`20should`20probably`20be`20renamed`20'--goaway'`20or`20so
Vmething
X$\ldots$
X
X\IPitem`7B`7B--2xlimit\`20\`20(Resource\`20name:\`202xlimit\`20%
X\it`20boolean\rm%
X)`7D`7D
XBy`20default,`20`7B\it`20xv`7D`20prevents`20the`20image`20window`20from`20ever
V`20getting`20larger
Xthan`20the`20screen.`20`20Unfortunately,`20because`20of`20this,`20if`20you`20l
Voad`20an`20image
Xthat`20is`20larger`20than`20your`20screen,`20the`20image`20will`20be`20shrunk
V`20until`20it`20fits
Xon`20your`20screen.`20`20Some`20folks`20find`20this`20undesirable`20behavior.
V`20`20Specifying
Xthe`20--2xlimit`20option`20doubles`20the`20size`20limitations.`20`20The`20imag
Ve`20window`20will
Xbe`20kept`20from`20getting`20larger`20than`202x`20the`20width`20and`20height
V`20of`20your`20screen.
X
XJust`20in`20case`20you're`20wondering`20why`20there's`20any`20size`20limitatio
Vns:`20it's
Xfairly`20easy`20to`20accidentally`20ask`20for`20a`20huge`20image`20to`20be`20g
Venerated.`20`20Simply
Xcrop`20a`20section`20of`20the`20image,`20zoom`20so`20you`20can`20see`20the`20i
Vndividual`20pixels,
Xand`20uncrop.`20`20If`20there`20were`20no`20size`20limitations,`20the`20(expan
Vded`20many`20times)
Ximage`20could`20be`20huge,`20and`20might`20crash`20your`20X`20server.`20`20At
V`20the`20very`20least,
Xit`20would`20take`20a`20long`20period`20of`20time,`20and`20freeze`20your`20X
V`20server`20during`20part
Xof`20it.`20`20Generally`20undesirable`20behavior.
X
X\IPitem`7B`7B--nolimits\`20\`20(Resource\`20name:\`20nolimites\`20\`20%
X\it`20boolean\rm%
X)`7D`7D
XFor`20the`20truly`20daring,`20this`20turns`20off`20all`20limitations`20on`20th
Ve`20maximum`20size
Xof`20an`20image`20window.`20`20(Well,`20there's`20still`20an`20X-imposed`20max
Vimum`20size`20of
X64k`20by`2064k,`20but`20that`20really`20shouldn't`20be`20a`20problem.)`20Warni
Vng:`20`20as
Xmentioned`20above,`20it`20is`20fairly`20easy`20to`20accidentally`20generate
V`20a`20huge`20image
Xwhen`20you`20do`20an`20`7B\bf`20UnCrop`7D`20command,`20and`20you`20may`20well
V`20crash`20`7B\it`20xv`7D,
Xyour`20X`20server,`20the`20host`20machine,`20or`20all`20three.`20`20Use`20At
V`20Your`20Own`20Risk!!!
X
X\IPitem`7B`7B--rv\`20\`20(Resource\`20name:\`20reverse)`7D`7D
XMakes`20`7B\it`20xv`7D`20display`20a`20'negative'`20of`20the`20loaded`20image.
V`20`20White`20becomes
Xblack,`20and`20black`20becomes`20white.`20`20Color`20images`20will`20have`20'i
Vnteresting'
Xeffects,`20as`20the`20RGB`20components`20are`20individually`20reversed.`20`20F
Vor`20example,
X`7B\it`20red`7D`20(255,0,0)`20will`20become`20`7B\it`20cyan`7D`20(0,255,255),
V`20`7B\it`20yellow`7D`20will
Xbecome`20`7B\it`20blue`7D,`20and`20so`20on.
X
X\IPitem`7B`7B--DEBUG\`20%
X\it`20level\rm%
X\`20\`20(Resource\`20name:\`20$<$none$>$)`7D`7D
XTurns`20on`20some`20debugging`20information.`20`20You`20shouldn't`20need`20thi
Vs.`20`20If
Xeverything`20worked`20perfectly,`20I`20wouldn't`20need`20this`20either.
X
X\IPitem`7B`7B--browse\`20\`20(Resource\`20name:\`20browseMode\`20%
X\it`20boolean\rm%
X)`7D`7D
XPrevents`20the`20`7B\it`20xv`20load`7D`20window`20from`20being`20closed`20when
Vever`20you
Xsuccessfully`20load`20a`20file.`20`20This`20makes`20'browsing'`20a`20directory
V`20somewhat
Xmore`20pleasant.
X
X\IPitem`7B`7B--nostat\`20\`20(Resource\`20name:\`20nostat\`20%
X\it`20boolean\rm%
X)`7D`7D
XTurns`20off`20the`20stat()`20call`20is`20is`20performed`20for`20each`20file
V`20whenever`20you`20change
Xdirectories`20in`20the`20
X`7B\it`20xv`20load`7D
Xand`20
X`7B\it`20xv`20save`7D
Xwindows.`20`20This`20is`20useful
Xif`20you're`20on`20a`20machine`20with`20lots`20of`20remote`20files`20mounted
V`20on`20it,`20and`20you`20find
Xthe`20directory`20switching`20to`20be`20too`20slow.
X
X\IPitem`7B`7B--loadclear\`20\`20(Resource\`20name:\`20clearOnLoad\`20%
X\it`20boolean\rm%
X)`7D`7D
XIf`20you`20were`20on`20a`20PseudoColor`20display,`20`7B\it`20xv`7D`20used`20to
V`20automatically
Xclear`20the`20image`20window`20(or`20the`20root`20window,`20if`20you`20were
V`20in`20a`20root`20mode),
Xwhenever`20you`20loaded`20a`20new`20image.`20`20This`20was`20to`20prevent`20th
Ve`20potentially
Xannoying/confusing`20'rainbow'`20effect`20that`20happens`20when`20colormap`20e
Vntries
Xare`20freed`20and`20reallocated`20with`20different`20colors.`20`20Ths`20has
V`20changed.`20`20By
Xdefault,`20`7B\it`20xv`7D`20no`20longer`20clears`20the`20image/root`20window.
V`20`20This`20is`20for
Xtwo`20reasons:`20`20I've`20decided`20that`20the`20rainbow`20effect`20is`20semi
V-entertaining,
Xin`20that`20it`20gives`20you`20something`20to`20look`20at`20while`20the`20next
V`20image`20is`20being
Xloaded.`20`20Secondly,`20if`20you`20are`20viewing`20a`20series`20of`20images
V`20that`20have`20the
Xsame`20colors`20in`20them,`20it's`20possible`20for`20`7B\it`20xv`7D`20to`20ani
Vmate`20them`20(by`20using
Xthe`20'--wait'`20command`20line`20option),`20albeit`20no`20faster`20than`20one
V`20frame`20every
X1--2`20seconds.`20`20For`20example,`20you`20can`20go`20get`20the`20satellite
V`20radar`20images
Xfrom`20vmd.cso.uiuc.edu`20(in`20the`20directory`20'wx'),`20run`20'xv`20--wait
V`200`20--wloop
XSA*',`20and`20voila!`20`20Just`20like`20the`20evening`20news!
X
X\IPitem`7B`7B--`7D`7D
XSpecifying`20'--'`20all`20by`20itself`20tells`20%
X`7B\it`20xv`7D
Xto`20take`20its`20input`20from
Xstdin,`20rather`20than`20from`20a`20file.`20`20This`20lets`20you`20put`20%
X`7B\it`20xv`7D
Xon`20the`20end`20of`20a
XUn*x`20pipe.
X
X\end`7BIPlist`7D
X
X\shead`7BSection`209.9:`20`20Color`20Editor`20Resources`7D
X
XYou`20can`20set`20default`20values`20for`20all`20of`20the`20HSV`20and`20RGB
V`20modification
Xcontrols`20in`20the`20%
X`7B\it`20xv`20color`20editor`7D
Xwindow`20via`20X`20resources.`20`20The`20easiest
Xway`20to`20explain`20this`20is`20with`20an`20example.
X
X\begin`7BTPlist`7D`7B$\bullet$`7D
X\item`5B`7B$\bullet$`7D`5D
XStart`20
X`7B\it`20xv`7D
Xand`20put`20it`20in`20the`20background`20by`20typing`20'xv`20\`26'.`20`20
X\item`5B`7B$\bullet$`7D`5D
XType`20the`20command`20'cat`20$>$foo'`20in`20an`20active`20
X`7B\it`20xterm`7D`20window
X\item`5B`7B$\bullet$`7D`5D
XBring`20the`20`7B\it`20xv`20color`20editor`7D`20window`20up.`20`20
X\item`5B`7B$\bullet$`7D`5D
XIssue`20the`20`7B\bf`20Cut`20Resources`7D`20command.
X\item`5B`7B$\bullet$`7D`5D
XClick`20your`20`7B\it`20Middle`7D`20mouse`20button`20in`20the`20`7B\it`20xterm
V`7D`20window.`20`20A`20set
Xof`20resource`20lines`20describing`20the`20current`20state`20of`20the`20`7B\it
V`20xv`20color
Xeditor`7D`20controls`20will`20be`20'pasted'`20into`20the`20window.
X\item`5B`7B$\bullet$`7D`5D
XYou`20could`20type`20'$<$ctrl-D$>$'`20in`20the`20`7B\it`20xterm`7D`20to`20comp
Vlete`20the`20cat`20command,
Xedit`20this`20file,`20and`20put`20it`20in`20your`20.Xdefaults/.Xresources`20fi
Vle.
X\end`7BTPlist`7D
X
X\noindent
XThe`20lines`20generated`20by`20
X`7B\bf`20Cut`20Resources`7D
Xwill`20look`20like`20the`20following:
X\nwl
Xxv.default.huemap1:`20330`20`2030`20`20CW`20330`20`2030`20`20CW
X\nwl
Xxv.default.huemap2:`20`2030`20`2090`20`20CW`20`2030`20`2090`20`20CW
X\nwl
Xxv.default.huemap3:`20`2090`20150`20`20CW`20`2090`20150`20`20CW
X\nwl
Xxv.default.huemap4:`20150`20210`20`20CW`20150`20210`20`20CW
X\nwl
Xxv.default.huemap5:`20210`20270`20`20CW`20210`20270`20`20CW
X\nwl
Xxv.default.huemap6:`20270`20330`20`20CW`20270`20330`20`20CW
X\nwl
Xxv.default.whtmap:`20`200`200`201
X\nwl
Xxv.default.satval:`20`200
X\nwl
Xxv.default.igraf:`20S`204`20:`200,0`20:`2064,64`20:`20192,192`20:`20254,254
X\nwl
Xxv.default.rgraf:`20S`204`20:`200,0`20:`2064,64`20:`20192,192`20:`20254,254
X\nwl
Xxv.default.ggraf:`20S`204`20:`200,0`20:`2064,64`20:`20192,192`20:`20254,254
X\nwl
Xxv.default.bgraf:`20S`204`20:`200,0`20:`2064,64`20:`20192,192`20:`20254,254
X
X\noindent
XThese`20lines`20completely`20describe`20one`20state`20of`20the`20`7B\it`20xv
V`20color`20editor`7D
Xcontrols.`20`20There`20are`20five`20different`20states`20that`20you`20can`20sp
Vecify`20via`20X
Xresources.`20`20The`20'default'`20state`20(as`20shown)`20holds`20the`20setting
Vs`20used
Xwhenever`20the`20program`20is`20first`20started,`20and`20whenever`20the`20Rese
Vt`20command`20is
Xused.`20`20You`20can`20also`20store`20settings`20in`20one`20of`20the`20four
V`20`7B\it`20xv`7D`20presets
X(accessed`20via`20the`20'1'--'4'`20buttons`20in`20the`20`7B\it`20xv`20color
V`20editor`7D)`20by
Xchanging`20the`20string`20'default'`20in`20the`20above`20lines`20to`20'preset1
V',`20'preset2',
X'preset3',`20or`20'preset4'`20respectively.
X
XThere`20are`20four`20types`20of`20resource`20described`20in`20these`20lines:
V`20huemap,
Xwhtmap,`20satval,`20and`20graf.
X
X\shead`7BSection`209.9.1:`20`20Huemap`20Resources`7D
X
XThe`20huemap`20resources`20describe`20the`20state`20of`20the`20hue`20remapping
V`20dials.
XThere`20are`20six`20huemap`20resources`20per`20state`20of`20the`20`7B\it`20xv
V`20color`20editor`7D.
X
XThese`20huemap`20resources`20are`20numbered`20'huemap1',`20'huemap2',`20$\ldot
Vs$
X'huemap6',`20and`20correspond`20to`20the`20'1'--'6'`20radio`20buttons`20under
V`20the`20hue
Xremapping`20dials.
X
XEach`20huemap`20resources`20takes`20six`20parameters:
X\begin`7BIPlist`7D
X\IPitem`7B`7B1.`7D`7D
XThe`20'starting'`20angle`20of`20the`20From`20range,`20in`20degrees`20(integer)
V.
X\IPitem`7B`7B2.`7D`7D
XThe`20'ending'`20angle`20of`20the`20From`20range,`20in`20degrees`20(integer).
X\IPitem`7B`7B3.`7D`7D
XThe`20direction`20of`20the`20From`20range.`20`20Either`20'cw'`20(clockwise)
V`20
Xor`20'ccw'`20(counter-clockwise).
X\IPitem`7B`7B4.`7D`7D
XThe`20'starting'`20angle`20of`20the`20To`20range,`20in`20degrees`20(integer).
X\IPitem`7B`7B5.`7D`7D
XThe`20'ending'`20angle`20of`20the`20To`20range,`20in`20degrees`20(integer).
X\IPitem`7B`7B6.`7D`7D
XThe`20direction`20of`20the`20To`20range.`20`20Either`20'cw'`20or`20'ccw'.
X\end`7BIPlist`7D
X
X\shead`7BSection`209.9.2:`20`20Whtmap`20Resources`7D
X
XThe`20whtmap`20resource`20describes`20the`20state`20of`20the`20white`20remappi
Vng
Xcontrol.`20`20There`20is`20one`20whtmap`20resource`20per`20state`20of`20the
V`20
X`7B\it`20xv`20color`20editor`7D
Xcontrols.`20`20The`20whtmap`20resource`20takes`20three`20parameters:
X\begin`7BIPlist`7D
X\IPitem`7B`7B1.`7D`7D
XThe`20hue`20to`20remap`20'white'`20to,`20in`20degrees`20(integer).
X\IPitem`7B`7B2.`7D`7D
XThe`20saturation`20to`20give`20to`20the`20remapped`20'white',`20in`20percent
V`20(integer).
X\IPitem`7B`7B3.`7D`7D
XA`20boolean`20specifying`20whether`20the`20white`20remapping`20control`20is
V`20enabled.
XIf`20'1',`20the`20control`20is`20enabled.`20`20If`20'0',`20the`20control`20is
V`20disabled.
X\end`7BIPlist`7D
X
X\shead`7BSection`209.9.3:`20`20Satval`20Resource`7D
X
XThe`20satval`20resource`20describes`20the`20value`20of`20the`20Saturation`20di
Val.`20`20There
Xis`20one`20satval`20resource`20per`20state.`20`20The`20satval`20resource`20tak
Ves`20a`20single
Xinteger`20value,`20in`20the`20range`20+/--100,`20which`20specifies`20how`20muc
Vh`20to`20add
Xor`20subtract`20to`20overall`20image`20color`20saturation.
X
X\shead`7BSection`209.9.4:`20`20Graf`20Resources`7D
X
XThe`20graf`20resources`20describe`20the`20state`20of`20the`20four`20'graph'
V`20windows`20in
Xthe`20`7B\it`20xv`20color`20editor`7D
Xwindow`20(Intensity,`20Red,`20Green,`20and`20Blue).`20`20The
Xgraf`20resources`20can`20be`20in`20one`20of`20two`20formats,`20'gamma'`20and
X'spline/line'.
X
X\noindent
XIn`20'gamma'`20format,`20the`20graf`20resource`20takes`20two`20parameters:
X\begin`7BIPlist`7D
X\IPitem`7B`7B1.`7D`7D
XThe`20letter`20'G',`20specifying`20'gamma'`20mode
X\IPitem`7B`7B2.`7D`7D
XA`20single`20floating`20point`20number`20specifying`20the`20gamma`20value.
X
X\end`7BIPlist`7D
X
X\noindent
XIn`20'spline/line'`20mode,`20the`20graf`20resource`20takes`20a`20variable`20nu
Vmber`20of`20parameters:
X\begin`7BIPlist`7D
X\IPitem`7B`7B1.`7D`7D
XThe`20letter`20'S'`20specifying`20'spline'`20mode,`20or`20the`20letter`20'L'
V`20specifying
X'line'`20mode.
X\IPitem`7B`7B2.`7D`7D
XAn`20integer`20number`20indicating`20the`20number`20of`20handles`20(control
V`20points)
Xthat`20this`20graph`20window`20will`20have.`20`20(Must`20be`20in`20the`20range
V`202--16,
Xinclusive.)
X\IPitem`7B`7B3.`7D`7D
XFor`20each`20handle,`20there`20will`20be`20a`20':',`20and`20the`20x`20and`20y
V`20positions`20of`20the
Xhandle,`20separated`20by`20a`20comma.`20`20The`20x`20and`20y`20positions`20can
V`20be`20in`20the
Xrange`200--255`20inclusive.
X\end`7BIPlist`7D
X
X\shead`7BSection`209.9.5:`20`20Other`20Resources`7D
X
XAlso,`20there`20are`20the`20boolean`20resources`20'autoApply',`20'displayMods'
V,`20
Xand`20'autoReset',`20which`20control`20the`20initial`20settings`20of`20the`20t
Vhree
Xcheckboxes`20in`20the`20`7B\it`20xv`20color`20editor`7D`20window.
X
XThere`20are`20also`20boolean`20resources`20'saveNormal',`20'pspreview',`20
Xand`20'pscompress'`20which`20control`20the`20initial`20settings`20of`20the`20c
Vheckboxes
Xin`20the`20`7B\it`20xv`20save`7D`20and`20`7B\it`20xv`20postscript`7D`20windows
V.
X
X\shead`7BLIMITATIONS`7D
X
X`7B\it`20xv`7D
Xwill`20NOT`20work`20on`20displays`20that`20aren't`201--,`202--,`204--,`206--,
V`208--,`2016--`2024--,`20
Xor`2032--bits
Xdeep.`20`20Luckily,`20that`20should`20still`20cover`20nearly`20every`20display
V`20out`20there.`20`20It
Xmay`20not`20work`20on`20certain`206--`20or`2024--bit`20displays.
X
XIt`20also`20only`20displays`20the`20first`20image`20in`20GIF`20files`20that
V`20have`20multiple`20
Ximages`20in`20them.
X
XAs`20for`20PM`20pictures,`20this`20program`20only`20displays`201--plane`20PM\_
VI`20pictures,`20or
X1--,`203--,`20or`204--plane`20PM\_C`20pictures.
X
X\shead`7BPM`20FORMAT`7D
XThe`20PM`20format`20is`20a`20file`20format`20that`20we`20use`20at`20the`20GRAS
VP`20Lab`20for`20our
Ximage`20processing`20work.`20`20If`20you`20aren't`20at`20Penn,`20you`20are`20u
Vnlikely`20to
Xever`20run`20into`20a`20PM-format`20file,`20so`20don't`20worry`20about`20it.
V`20`20Please
Xignore`20all`20references`20to`20PM.
X
XThe`204--,`206--,`2016--,`2024--,`20and`2032--bit`20code`20has`20not`20been
V`20extensively`20
Xtested.`20`20(A`204--bit`20MicroVax`20GPX`20system,`20a`206--bit`20HP`209000/3
V20,`20a`2016--bit`20Sony
X3710,`20and`20a`20
X24--bit`20HP`209000/350,`20respectively.`20`20The`2032--bit`20code`20hasn't
V`20actually`20been`20
Xtested`20at`20all.)`20`20
XYou`20won't`20be`20able`20to`20do`20'`7B\bf`20--ncols`7D`200'`20on`20a`206--,
V`2016--,`2024--,`20or`2032--bit`20
Xdisplay,`20not`20that`20you`20should`20want`20to.
X
X\shead`7BAUTHORS`7D
XJohn`20Bradley`20`20--`20`20bradley@cis.upenn.edu
X
XGIF`20reading`20code`20based`20on`20gif2ras.c,`20by`20Patrick`20J.`20Naughton
V`20
X(naughton@wind.sun.com)
X
XGIF`20writing`20code`20essentially`20unchanged`20from`20code`20written`20
Xby`20Michael`20Maudlin`20(mlm@cs.cmu.edu).
X
XSUN`20Rasterfile`20i/o`20code`20written`20by`20Dave`20Heath`20`20(heath@cs.jhu
V.edu)
X
XJPEG`20interface`20code`20written`20by`20Markus`20Baur`20`20(s\_baur@iravcl.ir
Va.uka.de)
X
XJPEG`20i/o`20code`20provided`20by`20the`20Independent`20JPEG`20Group.
X
XTIFF`20i/o`20code`20and`20interface`20code`20written`20by`20Sam`20Leffler`20
V`20(sam@sgi.com)
X
XPortions`20of`20'ppmquant'`20snarfed`20for`20the`20'--best24'`20algorithm.`20
V`20
X`7B\it`20ppmquant`7D`20(and`20the`20rest`20of`20the`20`7B\it`20pbmplus`7D`20pa
Vckage)`20was`20written`20by
XJef`20Poskanzer.`20`20(jef@well.sf.ca.us)
X
XfsQuick`20code`20written`20and`20supplied`20by`20David`20B.`20Rosen`20`20(rose
Vn@cns.bu.edu).`20`20
XThis`20code`20is`20a`20very`20fast`20implementation`20of`20Floyd-Steinberg`20d
Vithering`20for
X1--bit`20b/w`20displays.
X
X%
X%`20end`20of`20input`20file:`20xv.man
X%--------------------------------------------------
X\end`7Bdocument`7D
$ call unpack [.DOCS]XV.TEX;1 856525392 ""
$!
$ create 'f'
X#`20MMS`20Description`20file`20for`20the`20Tag`20Image`20File`20Format`20Libra
Vry
X#
X#`20Copyright`20(c)`201988,`201989,`201990,`201991`20Sam`20Leffler
X#`20Copyright`20(c)`201991`20Silicon`20Graphics,`20Inc.
X#
X#`20Permission`20to`20use,`20copy,`20modify,`20distribute,`20and`20sell`20this
V`20software`20and
X#`20its`20documentation`20for`20any`20purpose`20is`20hereby`20granted`20withou
Vt`20fee,`20provided
X#`20that`20(i)`20the`20above`20copyright`20notices`20and`20this`20permission
V`20notice`20appear`20in
X#`20all`20copies`20of`20the`20software`20and`20related`20documentation,`20and
V`20(ii)`20the`20names`20of
X#`20Sam`20Leffler`20and`20Silicon`20Graphics`20may`20not`20be`20used`20in`20an
Vy`20advertising`20or
X#`20publicity`20relating`20to`20the`20software`20without`20the`20specific,`20p
Vrior`20written
X#`20permission`20of`20Stanford`20and`20Silicon`20Graphics.
X#
X#`20THE`20SOFTWARE`20IS`20PROVIDED`20"AS-IS"`20AND`20WITHOUT`20WARRANTY`20OF
V`20ANY`20KIND,
X#`20EXPRESS,`20IMPLIED`20OR`20OTHERWISE,`20INCLUDING`20WITHOUT`20LIMITATION,
V`20ANY
X#`20WARRANTY`20OF`20MERCHANTABILITY`20OR`20FITNESS`20FOR`20A`20PARTICULAR`20PU
VRPOSE.
X#
X#`20IN`20NO`20EVENT`20SHALL`20SAM`20LEFFLER`20OR`20SILICON`20GRAPHICS`20BE`20L
VIABLE`20FOR
X#`20ANY`20SPECIAL,`20INCIDENTAL,`20INDIRECT`20OR`20CONSEQUENTIAL`20DAMAGES`20O
VF`20ANY`20KIND,
X#`20OR`20ANY`20DAMAGES`20WHATSOEVER`20RESULTING`20FROM`20LOSS`20OF`20USE,`20DA
VTA`20OR`20PROFITS,
X#`20WHETHER`20OR`20NOT`20ADVISED`20OF`20THE`20POSSIBILITY`20OF`20DAMAGE,`20AND
V`20ON`20ANY`20THEORY`20OF
X#`20LIABILITY,`20ARISING`20OUT`20OF`20OR`20IN`20CONNECTION`20WITH`20THE`20USE
V`20OR`20PERFORMANCE
X#`20OF`20THIS`20SOFTWARE.
X#
X#`20This`20MMS`20description`20file`20was`20written`20by`20Rick`20Dyson`20on
V`20or`20before`2011-NOV-1991
X#`09(dyson@iowasp.physics.uiowa.edu)
X#`09and`20was`20updated`2028-APR-1992`20for`20LIBTIFF`20v3.0`20dated`2019-FEB-
V1992
X#
X#`20It`20is`20based`20on`20the`20Unix`20Makefile`20by`20Leffler
X#
X
XNULL`20=
X
XIPATH`20=`09`5B`5D
X#
X#`20Library-wide`20configuration`20defines:
X#`20`20`20`20MMAP_SUPPORT`09add`20support`20for`20memory`20mapping`20read-only
V`20files
X#`20`20`20`20COLORIMETRY_SUPPORT`20add`20support`20for`206.0`20colorimetry`20t
Vags
X#`20`20`20`20JPEG_SUPPORT`09add`20support`20for`206.0`20JPEG`20tags`20`26`20JP
VEG`20algorithms
X#`20`20`20`20YCBCR_SUPPORT`09add`20support`20for`206.0`20YCbCr`20tags
X#`20`20`20`20CMYK_SUPPORT`09add`20support`20for`206.0`20CMYK`20tags
X#
X#`20Compression`20configuration`20defines:
X#`20`20`20`20CCITT_SUPPORT`09add`20support`20for`20CCITT`20Group`203`20`26`204
V`20algorithms
X#`20`20`20`20PACKBITS_SUPPORT`09add`20support`20for`20Macintosh`20PackBits`20a
Vlgorithm
X#`20`20`20`20LZW_SUPPORT`09add`20support`20for`20LZW`20algorithm
X#`20`20`20`20THUNDER_SUPPORT`09add`20support`20for`20ThunderScan`204-bit`20RLE
V`20algorithm
X#`20`20`20`20NEXT_SUPPORT`09add`20support`20for`20NeXT`202-bit`20RLE`20algorit
Vhm
X#`20`20`20`20JPEG_SUPPORT`09add`20support`20for`20JPEG`20DCT`20algorithm
X#
X#`20Note`20that`20if`20you`20change`20the`20library-wide`20configuration,`20yo
Vu'll
X#`20need`20to`20manual`20force`20a`20full`20rebuild.`20`20Changing`20the`20con
Vfiguration
X#`20of`20which`20compression`20algorithms`20are`20included`20in`20the`20librar
Vy`20is
X#`20automatically`20handled`20(i.e.`20tif_compress.o`20has`20a`20dependency
V`20on
X#`20the`20Makefile).
X#
X
XCOMPDEFS`20=`20$(CFLAGS)`20/Include_Directory`20=`20($(IPATH))`20/Define`20=
V`20("BSDTYPES=1",__STDC__,LZW_SUPPORT,COLORIMETRY_SUPPORT,JPEG_SUPPORT,YCBCR_S
VUPPORT,CMYK_SUPPORT)
XDEFS`20=`20/Define`20=`20("BSDTYPES=1",__STDC__,COLORIMETRY_SUPPORT,JPEG_SUPPO
VRT,YCBCR_SUPPORT,CMYK_SUPPORT)
XOPTIMIZE`20=`20/Optimize
XDEBUG`20=`20/NoDebug
XCFLAGS`20=`20$(CFLAGS)`20/Include_Directory`20=`20($(IPATH))`20$(DEFS)`20$(DEB
VUG)`20$(OPTIMIZE)
XOPT`20=`20Sys$Disk:`5B-`5DOPTIONS.OPT/Option
X
XINCS`20=`09tiff.h`20tiffio.h
X
XSRCS`20=`09tif_fax3.c`20\
X`09tif_fax4.c`20\
X`09tif_aux.c`20\
X`09tif_ccittrle.c`20\
X`09tif_close.c`20\
X`09tif_compat.c`20\
X`09tif_compress.c`20\
X`09tif_dir.c`20\
X`09tif_dirinfo.c`20\
X`09tif_dirread.c`20\
X`09tif_dirwrite.c`20\
X`09tif_dumpmode.c`20\
X`09tif_error.c`20\
X`09tif_getimage.c`20\
X`09tif_jpeg.c`20\
X`09tif_flush.c`20\
X`09tif_lzw.c`20\
X`09tif_machdep.c`20\
X`09tif_open.c`20\
X`09tif_packbits.c`20\
X`09tif_print.c`20\
X`09tif_read.c`20\
X`09tif_swab.c`20\
X`09tif_strip.c`20\
X`09tif_thunder.c`20\
X`09tif_tile.c`20\
X`09tif_version.c`20\
X`09tif_warning.c`20\
X`09tif_write.c
X
XOBJS`20=`09tif_fax3.obj`20\
X`09tif_fax4.obj`20\
X`09tif_aux.obj`20\
X`09tif_ccittrle.obj`20\
X`09tif_close.obj`20\
X`09tif_compat.obj`20\
X`09tif_compress.obj`20\
X`09tif_dir.obj`20\
X`09tif_dirinfo.obj`20\
X`09tif_dirread.obj`20\
X`09tif_dirwrite.obj`20\
X`09tif_dumpmode.obj`20\
X`09tif_error.obj`20\
X`09tif_getimage.obj`20\
X`09tif_jpeg.obj`20\
X`09tif_flush.obj`20\
X`09tif_lzw.obj`20\
X`09tif_machdep.obj`20\
X`09tif_open.obj`20\
X`09tif_packbits.obj`20\
X`09tif_print.obj`20\
X`09tif_read.obj`20\
X`09tif_strip.obj`20\
X`09tif_swab.obj`20\
X`09tif_thunder.obj`20\
X`09tif_tile.obj`20\
X`09tif_version.obj`20\
X`09tif_warning.obj`20\
X`09tif_write.obj
X
XOBJLIST`20=`20tif_fax3.obj,tif_fax4.obj,tif_aux.obj,tif_ccittrle.obj,tif_close
V.obj,tif_compat.obj,tif_compress.obj,tif_dir.obj,tif_dirinfo.obj,tif_dirread.o
Vbj,tif_dirwrite.obj,tif_dumpmode.obj,tif_error.obj,tif_getimage.obj,tif_jpeg.o
Vbj,tif_flush.obj,tif_lzw.obj,tif_machdep.obj,tif_open.obj,tif_packbits.obj,tif
V_print.obj,tif_read.obj,tif_strip.obj,tif_swab.obj,tif_thunder.obj,tif_tile.ob
Vj,tif_version.obj,tif_warning.obj,tif_write.obj
X
XLIBTIFF`20=`09libtiff.olb
X
X.first
X`09@`20Define`20/NoLog`20Sys`20Sys$Library
X
X$(LIBTIFF)`20:`09$(OBJS)
X`20`20`20`20`20`20`20`20If`20"''F$Search`20("$(LIBTIFF)")'"`20.eqs.`20""`20The
Vn`20Library`20/Create`20$(LIBTIFF)
X`09Library`20/Replace`20$(LIBTIFF)`20$(OBJLIST)
X
X$(OBJS)`20:`20`09tiffio.h`20tiff.h`20tiffcompat.h`20tiffioP.h
X
Xtif_compress.obj`20:`09tif_compress.c
X`09$(CC)`20$(COMPDEFS)`20tif_compress.c
X
Xtif_dir.obj`20:`09tif_dir.c
X
Xtif_fax3.obj`20:`09tif_fax3.c`20g3states.h`20t4.h`20tif_fax3.h
X
Xmkg3states.exe`20:`09mkg3states.c`20t4.h`20`5B-`5Dargproc.obj
X`09$(CC)`20$(CFLAGS)`20/Define`20=`20("USE_PROTOTYPES=1",`20"USE_VARARGS=0")
V`20mkg3states.c
X`09$(LINK)`20$(LINKFLAGS)`20mkg3states,`5B-`5Dargproc,$(OPT)
X
Xg3states.h`20:`09`09mkg3states.exe
X`09Mcr`20Sys$Disk:`5B`5Dmkg3states.exe`20>g3states.h
X
X`5B-`5Dargproc.obj`20:`09`5B-`5Dargproc.c`20`5B-`5Dincludes.h
X`09$(CC)`20$(CFLAGS)`20`5B-`5Dargproc.c
X
Xclean`20:
X`09@-`20Set`20Protection`20=`20Owner:RWED`20*.*;-1,*.obj
X`09-`20Purge`20/NoLog`20/NoConfirm`20*.*
X`09-`20Delete`20/NoLog`20/NoConfirm`20*.obj;*,*.exe;*
$ call unpack [.TIFF]MAKEFILE.VMS;222 460065838 ""
$!
$ create 'f'
X-`20`20264,`20`20266
X#ifndef`20VMS
Xvoid
X#endif
XDECLARE2(main,`20int,`20argc,`20char**,`20argv)
X`7B
X#ifdef`20VMS
X`20`20`20`20getredirection(`26argc,`20`26argv);
X#endif
X/
$ call unpack [.TIFF]MKG3STATES.DIF;222 1969715145 ""
$!
$ create 'f'
X-`20`20117,`20`20119
X#ifdef`20VMS
X#define`09TIFFOpenFile(name,`20mode,`20prot)`09open(name,`20mode,`20prot,`20"c
Vtx=stm")
X#else
X#define`09TIFFOpenFile(name,`20mode,`20prot)`09open(name,`20mode,`20prot)
X#endif`20/*`20VMS`20*/
X#endif`20/*`20MSDOS`20*/
X#endif`20/*`20applec`20or`20THINK_C`20*/
X/
$ call unpack [.TIFF]TIFFCOMPAT.DIF;222 1467622352 ""
$!
$ create 'f'
X-`20`20`2059,`20`20`2063
X#ifdef`20VMS
X-`20`20`2067,`20`20`2067
X#else
X#if`20defined(__STDC__)`20`7C`7C`20defined(__EXTENDED__)`20`7C`7C`20USE_CONST
Xextern`20const`20char`20TIFFVersion`5B`5D;
Xextern`20const`20unsigned`20char`20TIFFBitRevTable`5B256`5D;
Xextern`20const`20unsigned`20char`20TIFFNoBitRevTable`5B256`5D;
X#else
Xextern`20char`20TIFFVersion`5B`5D;
Xextern`20unsigned`20char`20TIFFBitRevTable`5B256`5D;
Xextern`20unsigned`20char`20TIFFNoBitRevTable`5B256`5D;
X#endif
X#endif`20/*`20VMS`20*/
X/
$ call unpack [.TIFF]TIFFIO.DIF;222 906759781 ""
$!
$ create 'f'
X***`20mkg3states.c
X---`20oldtiff:mkg3states.c
X**************
X***`20261,266
X`20`20int`09verbose`20=`20FALSE;
X`20`20char`09*storage_class`20=`20"";
X`20`20
X`20`20void
X`20`20DECLARE2(main,`20int,`20argc,`20char**,`20argv)
X`20`20`7B
X---`20261,267`20-----
X`20`20int`09verbose`20=`20FALSE;
X`20`20char`09*storage_class`20=`20"";
X`20`20
X+`20#ifndef`20VMS
X`20`20void
X`20`20#endif
X`20`20DECLARE2(main,`20int,`20argc,`20char**,`20argv)
X**************
X***`20262,267
X`20`20char`09*storage_class`20=`20"";
X`20`20
X`20`20void
X`20`20DECLARE2(main,`20int,`20argc,`20char**,`20argv)
X`20`20`7B
X`20`20`20`20`20`20while`20(argc`20>`201`20`26`26`20argv`5B1`5D`5B0`5D`20==`20'
V-')`20`7B
X---`20263,269`20-----
X`20`20
X`20`20#ifndef`20VMS
X`20`20void
X+`20#endif
X`20`20DECLARE2(main,`20int,`20argc,`20char**,`20argv)
X`20`20`7B
X`20`20#ifdef`20VMS
X**************
X***`20264,269
X`20`20void
X`20`20DECLARE2(main,`20int,`20argc,`20char**,`20argv)
X`20`20`7B
X`20`20`20`20`20`20while`20(argc`20>`201`20`26`26`20argv`5B1`5D`5B0`5D`20==`20'
V-')`20`7B
X`20`20`09if`20(strcmp(argv`5B1`5D,`20"-v")`20==`200)`20`7B
X`20`20`09`20`20`20`20verbose`20=`20TRUE;
X---`20266,274`20-----
X`20`20#endif
X`20`20DECLARE2(main,`20int,`20argc,`20char**,`20argv)
X`20`20`7B
X+`20#ifdef`20VMS
X+`20`20`20`20`20getredirection(`26argc,`20`26argv);
X+`20#endif
X`20`20`20`20`20`20while`20(argc`20>`201`20`26`26`20argv`5B1`5D`5B0`5D`20==`20'
V-')`20`7B
X`20`20`09if`20(strcmp(argv`5B1`5D,`20"-v")`20==`200)`20`7B
X`20`20`09`20`20`20`20verbose`20=`20TRUE;
X***`20tiffcompat.h
X---`20oldtiff:tiffcompat.h
X**************
X***`20114,119
X`20`20#if`20defined(MSDOS)
X`20`20#define`09TIFFOpenFile(name,`20mode,`20prot)`09open(name,`20mode`7CO_BIN
VARY,`20prot)
X`20`20#else
X`20`20#define`09TIFFOpenFile(name,`20mode,`20prot)`09open(name,`20mode,`20prot
V)
X`20`20#endif
X`20`20#endif
X---`20114,122`20-----
X`20`20#if`20defined(MSDOS)
X`20`20#define`09TIFFOpenFile(name,`20mode,`20prot)`09open(name,`20mode`7CO_BIN
VARY,`20prot)
X`20`20#else
X+`20#ifdef`20VMS
X+`20#define`09TIFFOpenFile(name,`20mode,`20prot)`09open(name,`20mode,`20prot,
V`20"ctx=stm")
X+`20#else
X`20`20#define`09TIFFOpenFile(name,`20mode,`20prot)`09open(name,`20mode,`20prot
V)
X`20`20#endif`20/*`20VMS`20*/
X`20`20#endif`20/*`20MSDOS`20*/
X**************
X***`20115,122
X`20`20#define`09TIFFOpenFile(name,`20mode,`20prot)`09open(name,`20mode`7CO_BIN
VARY,`20prot)
X`20`20#else
X`20`20#define`09TIFFOpenFile(name,`20mode,`20prot)`09open(name,`20mode,`20prot
V)
X!`20#endif
X!`20#endif
X`20`20
X`20`20/*
X`20`20`20*`20Return`20the`20size`20in`20bytes`20of`20the`20file
X---`20118,126`20-----
X`20`20#define`09TIFFOpenFile(name,`20mode,`20prot)`09open(name,`20mode,`20prot
V,`20"ctx=stm")
X`20`20#else
X`20`20#define`09TIFFOpenFile(name,`20mode,`20prot)`09open(name,`20mode,`20prot
V)
X!`20#endif`20/*`20VMS`20*/
X!`20#endif`20/*`20MSDOS`20*/
X!`20#endif`20/*`20applec`20or`20THINK_C`20*/
X`20`20
X`20`20/*
X`20`20`20*`20Return`20the`20size`20in`20bytes`20of`20the`20file
X***`20tiffio.h
X---`20oldtiff:tiffio.h
X**************
X***`2056,61
X`20`20#define`09TIFFPRINT_JPEGACTABLES`090x200`09`09/*`20JPEG`20AC`20tables
V`20*/
X`20`20#define`09TIFFPRINT_JPEGDCTABLES`090x200`09`09/*`20JPEG`20DC`20tables
V`20*/
X`20`20
X`20`20#if`20defined(__STDC__)`20`7C`7C`20defined(__EXTENDED__)`20`7C`7C`20USE_
VCONST
X`20`20extern`20const`20char`20TIFFVersion`5B`5D;
X`20`20extern`20const`20unsigned`20char`20TIFFBitRevTable`5B256`5D;
X---`2056,66`20-----
X`20`20#define`09TIFFPRINT_JPEGACTABLES`090x200`09`09/*`20JPEG`20AC`20tables
V`20*/
X`20`20#define`09TIFFPRINT_JPEGDCTABLES`090x200`09`09/*`20JPEG`20DC`20tables
V`20*/
X`20`20
X+`20#ifdef`20VMS
X+`20extern`20char`20TIFFVersion`5B`5D;
X+`20extern`20unsigned`20char`20TIFFBitRevTable`5B256`5D;
X+`20extern`20unsigned`20char`20TIFFNoBitRevTable`5B256`5D;
X+`20#else
X`20`20#if`20defined(__STDC__)`20`7C`7C`20defined(__EXTENDED__)`20`7C`7C`20USE_
VCONST
X`20`20extern`20const`20char`20TIFFVersion`5B`5D;
X`20`20extern`20const`20unsigned`20char`20TIFFBitRevTable`5B256`5D;
X**************
X***`2065,70
X`20`20extern`20unsigned`20char`20TIFFBitRevTable`5B256`5D;
X`20`20extern`20unsigned`20char`20TIFFNoBitRevTable`5B256`5D;
X`20`20#endif
X`20`20
X`20`20/*
X`20`20`20*`20Macros`20for`20extracting`20components`20from`20the
X---`2070,76`20-----
X`20`20extern`20unsigned`20char`20TIFFBitRevTable`5B256`5D;
X`20`20extern`20unsigned`20char`20TIFFNoBitRevTable`5B256`5D;
X`20`20#endif
X+`20#endif`20/*`20VMS`20*/
X`20`20
X`20`20/*
X`20`20`20*`20Macros`20for`20extracting`20components`20from`20the
X***`20tif_machdep.c
X---`20oldtiff:tif_machdep.c
X**************
X***`2076,82
X`20`20`7D
X`20`20#endif`20/*`20tahoe`20*/
X`20`20
X!`20#ifdef`20vax
X`20`20typedef`09struct`20ieeedouble`20`7B
X`20`20`09u_long`09mant`09:`2020,
X`20`20`09`09exp`09:`2011,
X---`2076,82`20-----
X`20`20`7D
X`20`20#endif`20/*`20tahoe`20*/
X`20`20
X!`20#if`20defined(vax)`20`7C`7C`20defined(VMS)
X`20`20typedef`09struct`20ieeedouble`20`7B
X`20`20`09u_long`09mant`09:`2020,
X`20`20`09`09exp`09:`2011,
X***`20tif_swab.c
X---`20oldtiff:tif_swab.c
X**************
X***`20101,107
X`20`20`20*`20for`20algorithms`20that`20want`20an`20equivalent`20table`20that
X`20`20`20*`20do`20not`20reverse`20bit`20values.
X`20`20`20*/
X!`20#if`20defined(__STDC__)`20`7C`7C`20defined(__EXTENDED__)`20`7C`7C`20USE_CO
VNST
X`20`20const`20unsigned`20char`20TIFFBitRevTable`5B256`5D`20=`20`7B
X`20`20#else
X`20`20unsigned`20char`20TIFFBitRevTable`5B256`5D`20=`20`7B
X---`20101,107`20-----
X`20`20`20*`20for`20algorithms`20that`20want`20an`20equivalent`20table`20that
X`20`20`20*`20do`20not`20reverse`20bit`20values.
X`20`20`20*/
X!`20#if`20(defined(__STDC__)`20`7C`7C`20defined(__EXTENDED__)`20`7C`7C`20USE_C
VONST)`20`26`26`20!defined(VMS)
X`20`20const`20unsigned`20char`20TIFFBitRevTable`5B256`5D`20=`20`7B
X`20`20#else
X`20`20unsigned`20char`20TIFFBitRevTable`5B256`5D`20=`20`7B
X**************
X***`20139,145
X`20`20`20`20`20`200x0f,`200x8f,`200x4f,`200xcf,`200x2f,`200xaf,`200x6f,`200xef
V,
X`20`20`20`20`20`200x1f,`200x9f,`200x5f,`200xdf,`200x3f,`200xbf,`200x7f,`200xff
V
X`20`20`7D;
X!`20#if`20defined(__STDC__)`20`7C`7C`20defined(__EXTENDED__)`20`7C`7C`20USE_CO
VNST
X`20`20const`20unsigned`20char`20TIFFNoBitRevTable`5B256`5D`20=`20`7B
X`20`20#else
X`20`20unsigned`20char`20TIFFNoBitRevTable`5B256`5D`20=`20`7B
X---`20139,145`20-----
X`20`20`20`20`20`200x0f,`200x8f,`200x4f,`200xcf,`200x2f,`200xaf,`200x6f,`200xef
V,
X`20`20`20`20`20`200x1f,`200x9f,`200x5f,`200xdf,`200x3f,`200xbf,`200x7f,`200xff
V
X`20`20`7D;
X!`20#if`20(defined(__STDC__)`20`7C`7C`20defined(__EXTENDED__)`20`7C`7C`20USE_C
VONST)`20`26`26`20!defined(VMS)
X`20`20const`20unsigned`20char`20TIFFNoBitRevTable`5B256`5D`20=`20`7B
X`20`20#else
X`20`20unsigned`20char`20TIFFNoBitRevTable`5B256`5D`20=`20`7B
$ call unpack [.TIFF]TIFF_VMS.DIFF;222 911268938 ""
$!
$ create 'f'
X-`20`20`2079,`20`20`2079
X#if`20defined(vax)`20`7C`7C`20defined(VMS)
X/
$ call unpack [.TIFF]TIF_MACHDEP.DIF;222 956956744 ""
$!
$ create 'f'
X-`20`20104,`20`20104
X#if`20(defined(__STDC__)`20`7C`7C`20defined(__EXTENDED__)`20`7C`7C`20USE_CONST
V)`20`26`26`20!defined(VMS)
X-`20`20142,`20`20142
X#if`20(defined(__STDC__)`20`7C`7C`20defined(__EXTENDED__)`20`7C`7C`20USE_CONST
V)`20`26`26`20!defined(VMS)
X/
$ call unpack [.TIFF]TIF_SWAB.DIF;222 100927275 ""
$ v=f$verify(v)
$ exit
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads