(DunnSlides.JaM
Created by Rick Beach, August 1, 1983 4:34 pm) =
% Life is hard!
% The following crock can be used to paint over the JaMGraphics header to make an all blue slide!!!
% To the UserExecutive:
% ← &dc ← ColorWorld.NewContext[]
% ← &dc.procs.SetColor[&dc, GraphicsColor.blue]
% ← &dc.procs.DrawBox[&dc, [0, 725, 1024, 768]]
% Repeat when necessary. . .
(setup) {
(.setfont) .where {.pop} {(TJaMGraphicsPackage not loaded. run it first) = .exit} .ifelse .cvx .exec
(.setcp) .where {.pop} {(Graphics.JaM) .run} .ifelse .cvx .exec
largeFont
2 .67 .95 .5 .sethsvmap
}.cvx .def
(backgroundBlue) {.67 .95 .5 .hsvcolor} .cvx .def
(textBlack) {.black} .cvx .def
(textWhite) {.white} .cvx .def
(largeFont) {
(TimesRomanD36.ks) .setfont
}.cvx .def
(medFont) {
(TimesRomanD30.ks) .setfont
}.cvx .def
(smallFont) {
(TimesRomanD24.ks) .setfont
}.cvx .def
(pixelExpansion) 1024.0 640.0 .div .def
(unshadowedText) {
.pushdc pixelExpansion 1.0 .exch .div .dup .scale .drawtext .popdc
}.cvx .def
(textBox) {
.pushdc pixelExpansion 1.0 .exch .div .dup .scale .textbox .popdc
}.cvx .def
(shadowedText) {
(txt) .exch .store
.getpos .getpos 2 -2 .rsetpos textBlack txt unshadowedText
.setpos 1 -1 .rsetpos textBlack txt unshadowedText
.setpos textWhite txt unshadowedText
}.cvx .def
(textline) {
largeFont
newline shadowedText
}.cvx .def
(centerText) {
.dup textBox .pop .exch .pop .add pixelExpansion .div 640 .exch .sub 2 .div (x) .exch .def
newline .getpos .exch .pop x .exch .setpos shadowedText
}.cvx .def
(bulletText) {
halfLineSpace
newline bullet shadowedText
}.cvx .def
(indentText) {
newline indent shadowedText
}.cvx .def
(newline) {
.getpos .exch .pop baseline .sub leftmargin .exch .setpos
}.cvx .def
(baseline) 30 .store
(leftmargin) 120 .store
(titlemargin) 400 .store
(lineSpace) {0 baseline .neg .rsetpos} .cvx .def
(halfLineSpace) {0 baseline 2 .div .neg .rsetpos} .cvx .def
(space) {15 0 .rsetpos} .cvx .def
(unitcircle) {
1 0 .moveto 1 1.5 -1 1.5 -1 0 .curveto -1 -1.5 1 -1.5 1 0 .curveto .drawarea
}.cvx .def
(dot) {
.getpos 2 .copy .translate 5 5 .scale unitcircle 1.0 5 .div .dup .scale .neg .exch .neg .exch .translate
}.cvx .def
(bullet) {
0 baseline 4 .div .rsetpos
.getpos .getpos
2 -2 .rsetpos textBlack dot
.setpos 1 -1 .rsetpos dot
.setpos textWhite dot
0 baseline 4 .div .neg .rsetpos
space
}.cvx .def
(indent) {
space space space space
}.cvx .def
(InitDC) {
.initdc
pixelExpansion .dup .scale
}.cvx .def
(blueBackground) {
InitDC
largeFont
backgroundBlue -1000 -1000 10000 10000 .drawbox textWhite
}.cvx .def
(title) {
blueBackground
leftmargin titlemargin .setpos
largeFont centerText
medFont
} .cvx .def
(XeroxLogo) {
(Logo24.ks) .setfont
40 20 .setpos (XEROX) shadowedText
}.cvx .def
(sampleSlide) {
(Sample Title Text) title
halfLineSpace
(Sample Point) bulletText
 (Indented point underneath) indentText
(Sample Point) bulletText
 (Indented point underneath) indentText
(Sample Point) bulletText
 (You don't want much more text than this) centerText
XeroxLogo
} .cvx .def
(titleSlide) {
(Graphical Style) title
(Towards High Quality Illustrations) centerText
halfLineSpace
halfLineSpace
medFont
(Richard J. Beach and Maureen Stone) centerText
(Imaging Sciences Laboratory) centerText
(XEROX Palo Alto Research Center) centerText
XeroxLogo
}.cvx .def
(slidexxx) {
(title) title
halfLineSpace
(point) bulletText
 (point) indentText
XeroxLogo
} .cvx .def
(PARCLogo) {
-- check that the parc logo JaM file is loaded
(parc) .where {.pop} {
(a pause while we load the parc JaM file) =
(parc.jam) .run
(circlepatches.jam) .run
} .ifelse .cvx .exec
blueBackground
2 0.06 .9 .4 .sethsvmap
.pushdc 55 150 .translate 0 0 .setcp 80 3. .div .dup .scale parc .popdc
XeroxLogo
} .cvx .def
setup