XEROX BACKGROUNDIMAGES 2 4 1 BACKGROUNDIMAGES 1 4 By: Tayloe Stansbury (Stansbury.pa@Xerox.COM) Accessory files: Background-DurerCat.bitmap Background-Parc.press Background-Rhine.press Background-Steinheim.press Background-Tiffany.press Background-TwoDollar.press INTRODUCTION BackgroundImages is a package which makes it easy to apply graphically interesting static images to the background of one's Lisp screen. To use the package in the simplest way, load it and call (BACKGROUND.SETUP) This will put an entry called "Background" on your background menu (in a manner compatible with the package BACKGROUNDMENU), so that it will look something like this: ~mZmmmmkmo[mmm[}omZmkmo[m[iomZmݵo[m?[kn޵oݕmkZmmo[mͽm޵oݽmkZm?Vmo[mm޵ojkZmkmo[mZݶ޵nkmZm uo[m q.Zmn 1"kmZm !>Zo[m ! mn !"ukmm ![oo[mukmnmmmko[m[mmn> mmA vmko[m@yĸq,mmm<"$ĉ3%mnjm#䄄"&""'A"$"%B>Ąq"&"pRP#*DHVP*ӸR DH"@#B"&$@ "P#$""$!!!\;ý\w2}mw۷7DO8|;طŽžDPDՀ**dPD:P Ë$L@mnݷpD!@mn{km$&H@$$L@{V#m{wmmmpmր{m{[kڭv݀AnkpAZvۀ Bmnݷmp €Zv D@{vmm GmPH ֶ{nH {[k{ZPݭmm[kwnݭoo{p݀1{^[wwm$1mmp$1m[oonڀ#Jw!JֻVnխpJ{m[m֭խpnwݵڀknpvn݀۶kkk$nmP mkk۫mowv݀Pdkkk$mݶv$mݶZրpdom{`[]޵wmp[nmW^p u뀰|$knuwZ[p8t$oumxDČ${k޷u|$mm@$׷nkvpD$mݽm|8tw[kmpmݶ[nֶZmv޽[{k[{ݭ۷u]o[v[n[[vm[u{[kz[m If you select "Background," it will change the background of your screen to plain gray. If you select one of the subitems of "Background," it will cover your background with the image whose name you selected. The backgrounds currently available are DurerCats: a reflected picture of a cat from an engraving by Albrecht Durer Parc: a picture of the Xerox Palo Alto Research Center Rhine: a picture of a village on the Rhine river Steinheim: a picture of a relatively unfortified castle Tiffany: a picture of a girl TwoDollar: a picture of part of a two dollar bill DETAILS Background images to be used with this package must be represented in files that can be read by either HREAD or READPRESS. For convenience, they should be named according to the conventions mentioned below under BACKGROUND.FILES. BackgroundImages does take some pains to reduce user wait time. First, it is very lazy about file interactions, and defers them until it is quite clear they cannot be avoided. And second, when one selects a background, it is cached so that changing back to it will be significantly faster than fetching it the first time. Since the cached background bitmaps consume quite a bit of space, they can be removed by the GAINSPACE mechanism. The public interface to this package, more fully described, is as follows: (BACKGROUND.SETUP NAMES) [Function] Puts an entry on the background menu which enables users to change backgrounds easily. The entry will be labeled "Backgrounds" and if invoked will turn the screen background gray. The entry will have several subitems, each labeled with the name of the background image it will, if selected, put on the screen. The argument NAMES is meant to specify the names of the images; it must be a list either of dotted pairs (whose CAR is the name of an image and whose CDR is the name of the file in which a representation of that image can be found) or of atoms (each of which is the name of an image). If NAMES is NIL, BACKGROUND.SETUP will call (BACKGROUND.FILES) to generate a set of background image names. (BACKGROUND.FILES WHICH) [Function] Returns a list of dotted pairs whose CAR is the name of an image and whose CDR is the name of the file in which a representation of that image can be found. Generates this list by looking on LISPUSERSDIRECTORIES for files of the form "background-*.bitmap" or "background-*.press"; all such files are taken to be representations of background images. Image representation files that are not named and located according to this convention will have to be specified directly to BACKGROUND.SETUP. If WHICH is T, it will search all the LISPUSERSDIRECTORIES; otherwise it will search till it finds the first directory with background images in it. (BACKGROUND.FETCH NAME FILENAME MODE) [Function] Causes the image whose name is NAME, and for which there is a representation in file FILENAME, to be applied to the screen background. It is this function which the background menu subitems call to apply new images. If FILENAME is not specified, BACKGROUND.FETCH will attempt to find an image representation file whose name is either "background-NAME.bitmap" or "background-NAME.press" on any of the LISPUSERSDIRECTORIES. MODE specifies how the image will be applied to the background if it is a different size than the screen. MODE should be one of the atoms CENTER, TILE, or REFLECT; it defaults to CENTER. CENTER causes the image to be centered with a white border around it; TILE causes the image to tile the screen; and REFLECT causes the image to tile the screen such that each tile is a reflection of those adjacent to it. (BACKGROUND.MODE MODE) [Function] Sets and accesses the mode (as described above) which will be passed to BACKGROUND.FETCH when the latter is invoked from the background menu subitems. MODE, if provided, gives the new mode setting. Returns the previous mode setting. (BACKGROUND.CENTER BITMAP) [Function] Returns a screen-sized bitmap with BITMAP centered in it with a white border. (BACKGROUND.TILE BITMAP) [Function] Returns a screen-sized bitmap that is tiled with BITMAP with one of the tiles centered. (BACKGROUND.REFECT BITMAP) [Function] Returns a screen-sized tiled bitmap such that each tile is a reflection of those adjacent to it and such that the center tile is a copy of BITMAP. (LIST ((PAGE NIL (FOLIOINFO (ARABIC) STARTINGPAGE# 1) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF SLOPE REGULAR WEIGHT MEDIUM) FORMATINFO (ARABIC)) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 444 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL NIL (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF SLOPE REGULAR WEIGHT MEDIUM)) (282 42 72 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 444 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL NIL (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF SLOPE REGULAR WEIGHT MEDIUM)) (282 42 72 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 444 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))))) . T( .T(1 (8( (8D PAGEHEADING RUNNINGHEAD HELVETICA MODERN MODERN MODERN MODERNMODERN LOGO   HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN /   BMOBJ.GETFN3 HELVETICA K=/sK   \  N X vz