%slides.jam

(mbox)
{ (lw) .exch .def (ury) .exch .def (urx) .exch .def (lly) .exch .def (llx) .exch .def
llx lly llx lw .add ury .drawbox
llx ury lw .sub urx ury .drawbox
urx lw .sub lly urx ury .drawbox
llx lly urx lly lw .add .drawbox}.cvx .def


(monk) { 0 0 .setcp white (monk.ais) .drawimage black 0 0 687 813 5 mbox } .cvx .def


(elipse)
{(ht) .exch .def (wt) .exch .def
0 ht 2. .div .moveto 0 ht 7  .mul 6. .div wt ht 7  .mul 6. .div wt ht 2. .div .curveto
wt ht 6. .div .neg  0 ht 6. .div .neg 0 ht 2. .div .curveto}.cvx .def

(belipse) 
{(ht) .exch .def (wt) .exch .def
(bht) .exch .def (bwt) .exch .def
0 ht 2. .div 0 ht 7  .mul 6. .div wt ht 7  .mul 6. .div wt ht 2. .div bht bwt givenborder
wt ht 2. .div wt ht 6. .div .neg  0 ht 6. .div .neg 0 ht 2. .div bht bwt givenborder}.cvx .def


(nelipse)
{(ht) .exch .def (wt) .exch .def
0 ht 2. .div .moveto  0 ht 6. .div .neg wt ht 6. .div .neg wt ht 2. .div .curveto
wt ht 7  .mul 6. .div 0 ht 7  .mul 6. .div 0 ht 2. .div  .curveto}.cvx .def

(emonk)
{ .pushdc black  687 813 5 outlineelipse 5 5 .translate 677 803 elipse .cliparea white monk .popdc .pushdc 0 613 687 813 .clipbox 687 814 elipse .cliparea  white 687 814 5 outlineelipse white 0 613 687 814 5 mbox  .popdc}.cvx .def

(plainemonk)
{.pushdc black  687 813 5 outlineelipse 5 5 .translate 677 803 elipse .cliparea monk .popdc}.cvx .def

(wbox) {.pushdc white .hsvcolor mbox}.cvx .def

(r) (e .initdc).cvx .def
(outlineelipse)
{.pushdc (lw) .exch .def 2 .copy elipse  lw lw .translate
lw 2 .mul .sub .exch lw 2 .mul .sub .exch nelipse .drawarea
.popdc
}.cvx .def

(arrow)
{(aw) .exch .def (al).exch .def
0 0 .moveto 3 aw .mul aw 1.5 .mul .lineto 3 aw .mul aw 2. .div .lineto al aw 2. .div .lineto
al aw -2. .div .lineto 3 aw .mul aw -2. .div .lineto 3 aw .mul aw .neg 1.5 .mul .lineto .drawarea}.cvx .def

(tmonk)
{ .pushdc black  687 813 5 outlineelipse 5 5 .translate 677 803 elipse .cliparea white monk .popdc}.cvx .def


(slide1)
{.pushdc .7 .7 .scale blue 0 0 1000 1000 .drawbox
 .true .setopaque .pushdc 72 144 .translate .pushdc .4 .4 .scale white monk .popdc
 5 72 .mul 72 .translate .pushdc .4 .4 .scale -30 .rotate tmonk  .popdc .popdc .popdc 
.pushdc white 315 212 .translate 180 .rotate 40 8 arrow .popdc
.pushdc white (timesroman18) .setfont 200 387 .translate 0 0 .setcp white (Scaled, rotated and clipped images) .drawtext .popdc}
.cvx .def
 
 (sygirl)
{.pushdc darkBlue 0 0  1000 1000 .drawbox
  .6 .6 .scale 250 150 .translate
  ygirl .popdc} .cvx .def

(ygirl) 
(0 0 .setcp .true .setopaque (ygn-grn.ais) showg .false .setopaque (ygn-red.ais) showr (ygn-blu.ais) showb .true .setopaque).cvx .def
 
(goldencream) (.11 .5 .97  .hsvcolor).cvx .def
(goldenrod) (.11 1 1  .hsvcolor).cvx .def
(oldrose) (.97 .4 .8  .hsvcolor).cvx .def
(darkmoss) (.31 .17 .42  .hsvcolor).cvx .def
(lightmoss) (.31 .17 .8  .hsvcolor).cvx .def

(color1) (oldrose).load .def
(color2) (goldencream) .load .def
(cback) (darkmoss)  .load .def

(cameo) (.pushdc cback 0 0  1000 1000 .drawbox
  .6 .6 .scale 250 150 .translate
  390 500 elipse .cliparea darkGray 0 0 1000 1000 .drawbox
  0 0 .setcp girl
  .popdc).cvx .def
 
%(borderpattern) (spiral) .load .def 15 80 cameoborder
(cameoborder) {.pushdc .6 .6 .scale 250 150 .translate 390 500 belipse .popdc}.cvx .def

(spiral) {color1 0 0 move 0 .5 line 1 -.5 line .5 -.5 line 0 0 line drawarea 1 .5 move .5 .5 line 1 0 line 1 .5 line drawarea color2 0 -.5 move 0 0 line .5 -.5 line 0 -.5 line drawarea .5 -.5 move 1 -.5 line 0 drawstroke 0 .5 move 1 -.5 line 1 0 line .5 .5 line 0 .5 line drawarea .5 .5 move 1 .5 line 0 drawstroke}.cvx .def
(lowred) (.8 0 0 .rgbcolor .drawimage).cvx .def
(lowgreen) (0 .8 0 .rgbcolor .drawimage).cvx .def
(lowblue) (0 0 .8 .rgbcolor .drawimage).cvx .def
(girl) (0 0 .setcp .true .setopaque (ygn-grn.ais) lowgreen .false .setopaque (ygn-red.ais) lowred (ygn-blu.ais) lowblue .true .setopaque).cvx .def

(slide2)
{.pushdc .7 .7 .scale blue 0 0 1000 1000 .drawbox
 .true .setopaque .pushdc 54 3 72 .mul .translate .pushdc .31 .31 .scale white monk white 0 613 687 814 5 mbox .popdc
3. 72 .mul 53 .translate .pushdc .31 .31 .scale -30 .rotate white 687 814 5 outlineelipse white 0 613 687 814 5 mbox  .popdc 
 280.01  0 .translate .pushdc .31 .31 .scale -30 .rotate white emonk  .popdc .popdc .popdc 
.pushdc white 211 230 .translate 180 .rotate 18 4 arrow .popdc
.pushdc white 410 230 .translate 180 .rotate 18 4 arrow .popdc
.pushdc white (timesroman18) .setfont 170 387 .translate 0 0 .setcp white (Transformation and clipping of an image) .drawtext .popdc
.pushdc white (timesroman12) .setfont 36 341 .translate 0 0 .setcp white (Memory buffer load) .drawtext .popdc
.pushdc white (timesroman12) .setfont 284 341 .translate 0 0 .setcp white (Transformation) .drawtext .popdc
.pushdc white (timesroman12) .setfont 420 341 .translate 0 0 .setcp white (Intersection of shape) .drawtext
0 -12 .translate 0 0 .setcp(and buffer boundary) .drawtext .popdc}
.cvx .def
 
 (slide3)
{.pushdc .6 .6 .scale blue 0 0 1200 1200 .drawbox
 .true .setopaque .pushdc 
 54 3 72 .mul .translate .pushdc white star .popdc
0 60 .translate
2.5 72 .mul 0 .translate .pushdc -30 .rotate white star  .popdc 
 warrow
 2.5 72 .mul  0 .translate .pushdc -30 .rotate white cstar  .popdc
warrow
2.5 72 .mul  0 .translate .pushdc white wcbox cbox -30 .rotate clipstar white cstar  .popdc 
warrow
2.5 72 .mul  0 .translate .pushdc white wcbox cbox -30 .rotate orange fstar  .popdc 
warrow
.popdc  .popdc
.pushdc white (timesroman18) .setfont  white 
180 370 .translate 0 0 .setcp(Transformation, reduction, clipping ).drawtext
30 -20 .translate 0 0 .setcp(and scan conversion of a shape) .drawtext .popdc
(Original)  63 259 text12out
(Transformed)  164 259 text12out
(Reduced)  294 259 text12out
(Clipped)  400 259 text12out
(Scan Converted)  500 259 text12out
}.cvx .def

(text12out)
{.pushdc white (timesroman12) .setfont  white 
 .translate 0 0 .setcp .drawtext .popdc}.cvx .def

(text18out)
{.pushdc white (timesroman18) .setfont  white 
 .translate 0 0 .setcp .drawtext .popdc}.cvx .def

(warrow)
{.pushdc white .55 72 .mul  36 .translate 180 .rotate 22 4.5 arrow .popdc}.cvx .def

 (star)
 {22 33 .setcp 98 181 .drawto 178 40 .drawto 29 121 .drawto 158 164 .drawto 22 33 .drawto}.cvx .def
 
(tr18) ((timesroman18) .setfont) .cvx .def
(tr12) ((timesroman12) .setfont) .cvx .def

 (cstar)
 {22 33 .setcp  98 181 .drawto 115 150 .drawto
 125 132 .setcp 178 40 .drawto 83 91 .drawto 
 58 104 .setcp 29 121 .drawto 158 164 .drawto 125 132 .drawto 
 83 91 .setcp 22 33 .drawto 
 75 136 .setcp 125 132 .drawto  
 75 136 .setcp 83 91 .drawto}.cvx .def

(fstar)
 {22 33 .moveto 98 181 .lineto 178 40 .lineto 29 121 .lineto 158 164 .lineto .drawarea}.cvx .def

(cbox)
{78 -27 187 137 .clipbox}.cvx .def
 
 (wcbox)
{75 -30 190 140 3 mbox}.cvx .def

(clipstar)
 {22 33 .moveto 98 181 .lineto 178 40 .lineto 29 121 .lineto 158 164 .lineto .cliparea}.cvx .def

(slide4)
{.pushdc 0 -30 .translate
blue 0 0 1200 1200 .drawbox
(Device independence over a wide range of raster devices) 100 350 text18out
(High resolution raster printers and plotters) 144 300 text18out
(High resolution film recorders) 144 270 text18out
(Low resolution bit-mapped displays) 144 240 text18out
(Low resolution grey-scale and color displays) 144 210 text18out
.popdc}.cvx .def

(slide5)
{.pushdc
blue 0 0 1200 1200 .drawbox
(Both output device and scanned source image coordinate systems) 80 350 text18out
(are isolated from the user's virtual coordinate system) 80 330 text18out
(Each output device implementation provides: ) 100 280 text18out
(A mapping from the virtual to the device's coordinate system, and) 100 260 text18out
(a clipping shape that bounds an area of the device.) 100 240 text18out
(Each input source implementation provides: ) 100 200 text18out
(A mapping from the source to the virtual coordinate system, and) 100 180 text18out
(a clipping shape that bounds an area of the source.) 100 160 text18out
.popdc}.cvx .def

(slide6)
{.pushdc 0 -30 .translate
blue 0 0 1200 1200 .drawbox
(Independence over a wide range of scanned image sources) 100 350 text18out
(Images represented as bitmaps (1 bit/pixel)) 144 300 text18out
(Grey-scale images (multi-bit/pixel)) 144 270 text18out
(Color images (multi-sample/pixel)) 144 240 text18out
(Images scanned in various directions) 144 210 text18out
.popdc}.cvx .def

(slide7)
{.pushdc 0 -30 .translate
blue 0 0 1200 1200 .drawbox
(A Device Independent Graphics Imaging Model) 120 280 text18out
(for use with Raster Devices) 190 260 text18out
(John Warnock and Douglas Wyatt) 170 230 text12out
(XEROX Palo Alto Research Center) 170 218 text12out
.popdc}.cvx .def

(slide8)
{.pushdc 
blue 0 0 1200 1200 .drawbox
(Integrates scanned images, text, and synthetically generated graphics) 72 350 text18out
(into a uniform device independent metaphore) 72 330 text18out
(Isolates the device dependent portions of the implementation )72 280 text18out
(to a small set of primitives) 72 260 text18out
(Device modules have been implemented for binary, grey-scale,) 72 210 text18out
(and color raster display systems, and for high resolution)  72 190 text18out
(black/white and color raster printers) 72 170 text18out
.popdc
}.cvx .def

(slide9)
{.pushdc 
blue 0 0 1200 1200 .drawbox
180  54 .translate .4 .4 .scale plainemonk .popdc
(A Sample of Device Independence) 190 400 text18out
.popdc}.cvx .def

(slide10)
{.pushdc 
0 -30 .translate
blue 0 0 1200 1200 .drawbox 
185 149 .moveto 343 338 .lineto 
385 153 .lineto
270 129 186 242 240 310 .curveto orange
427 257 .lineto orange .drawarea 
white
185 149 dot 343 338 dot 
385 153 dot
270 129 dot 186 242 dot 240 310 dot
427 257 dot 
(moveto (1)) 165 132 text12out
(lineto (2)) 352 333 text12out
(lineto (3)) 393 147 text12out
(4) 278 123 text12out
(5) 194 238 text12out
(curveto (6))  226 317 text12out
(lineto (7)) 436 252 text12out
.popdc
(Specification of a Path) 230 360 text18out
}.cvx .def

(dot)(2 .copy 3 .add .exch 3 .add .exch .drawbox).cvx .def

(patternslide)
{.pushdc 
blue 0 0 1200 1200 .drawbox
(Define a pattern and map it on a curve) 172 350 text18out
.popdc
}.cvx .def


(white){0 0 1 .hsvcolor}.cvx .def
(black){0 0 0 .hsvcolor}.cvx .def
(blue){.6 .75 .6 .hsvcolor}.cvx .def
(setblue){ 128 .6 .75 .6 .sethsvmap}.cvx .def
(orange){.05 1 .8 .hsvcolor}.cvx .def
(setorange){ 130 .05 1 .8 .sethsvmap}.cvx .def