%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 .moveto (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 (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 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 (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 (slide1) {.pushdc .7 .7 .scale blue 0 0 1000 1000 .drawbox .true .setopaque .pushdc 72 144 .translate .pushdc .4 .4 .scale white monk white 0 613 687 814 5 mbox .popdc 5 72 .mul 72 .translate .pushdc .4 .4 .scale -30 .rotate white emonk .popdc .popdc .popdc .pushdc white 467 280 .translate 180 .rotate 18 2 arrow .popdc .pushdc white 129 295 .translate 210 .rotate 18 2 arrow .popdc .pushdc white 315 212 .translate 180 .rotate 40 8 arrow .popdc .pushdc white (timesroman18) .setfont 200 387 .translate 0 0 .moveto white (Scan converting an image) .drawtext .popdc} .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 .moveto white (Transformation and clipping of an image) .drawtext .popdc .pushdc white (timesroman12) .setfont 36 341 .translate 0 0 .moveto white (Memory buffer load) .drawtext .popdc .pushdc white (timesroman12) .setfont 284 341 .translate 0 0 .moveto white (Transformation) .drawtext .popdc .pushdc white (timesroman12) .setfont 420 341 .translate 0 0 .moveto white (Intersection of shape) .drawtext 0 -12 .translate 0 0 .moveto(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 .moveto(Transformation, reduction, clipping ).drawtext 30 -20 .translate 0 0 .moveto(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 .moveto .drawtext .popdc}.cvx .def (text18out) {.pushdc white (timesroman18) .setfont white .translate 0 0 .moveto .drawtext .popdc}.cvx .def (warrow) {.pushdc white .55 72 .mul 36 .translate 180 .rotate 22 4.5 arrow .popdc}.cvx .def (star) {22 33 .moveto 98 181 .drawto 178 40 .drawto 29 121 .drawto 158 164 .drawto 22 33 .drawto}.cvx .def (cstar) {22 33 .moveto 98 181 .drawto 115 150 .drawto 125 132 .moveto 178 40 .drawto 83 91 .drawto 58 104 .moveto 29 121 .drawto 158 164 .drawto 125 132 .drawto 83 91 .moveto 22 33 .drawto 75 136 .moveto 125 132 .drawto 75 136 .moveto 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 (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