XEROX SHOWTIME 2 4 1 SHOWTIME 1 4 By: Timothy Bigham Last modified by: Gary Gocek (Gocek.Henr@Xerox.COM, Gocek:Henr801C:Xerox) BITMAPFNS, SCALEBITMAP, READBRUSH, DEFAULTSUBITEMFN This document last edited on 28 July, 1988. INTRODUCTION SHOWTIME provides a user interface to read, write, and edit bitmaps in several different formats. Among the supported formats is RES, used in VIEWPOINT Freehand Graphics. Other supported formats include Press; Brush (Mesa Doodle format); and Lisp. SHOWTIME has been written to readily accomodate new formats. Users may add new formats to Showtime by writing format-specific read and/or write functions and adding them to those Showtime knows about (described below). Selecting SHOWTIME from the background will provide the user the opportunity to specifiy and area to use as the SHOWTIME window. After the user creates a SHOWTIME window, a left mouse button within the window will popup a menu of available options. There may only be one bitmap displayed in a SHOWTIME window at a time, but any number of SHOWTIME windows may be opened. Shrinking a SHOWTIME window will create an icon with the name of the bitmap that is displayed in the window. 28 July, 1988: SHOWTIME now resets the global variable BRUSHDIRECTORY to NIL so that READBRUSH doesn't go to the network (in particular, Goofy:OSBU North) when loading a brush file. All file operations are now wrapped inside RESETLST so that files cannot be inadvertantly left open. Therefore, brush files made by SHOWTIME are now properly closed, i.e. there was a bug that is now fixed. Functions, Variables, and Lisp Code Examples SHOWTIME.FORMAT.FNS [Showtime Variable] A global association list that maintains a list of all the formats Showtime knows about and the read and write functions to use with those formats. This variable should be updated by calling the function SHOWTIME.ADD.FORMAT to ensure successful integration of any new bitmap formats. SHOWTIME.DEFAULT.FORMAT [Showtime Variable] A variable that is initially set to 'LISP. This format uses the binary storage routines found in the lispusers package BITMAPFNS. (SHOWTIME.ADD.FORMAT FORMAT READFN SAVEFN ) [Showtime Function] A function that should be called when the user wants Showtime to know about new bitmap formats. FORMAT may be any descriptive atom, such as RES or LISP. READFN and SAVEFN must be functions that have as the first two arguments FILENAME and BITMAP. In addition, the READFN must return a bitmap. For example, the READFN code for LISP format is: (LAMBDA (FILENAME) (* this function must <1> read a bitmap from a file and <2> return the value of the bitmap) (READBM (OPENFILE FILENAME (QUOTE INPUT)))) For example, the WRITEN code for LISP format is: (LAMBDA (FILENAME BITMAP) (* TBigham "30-Dec-86 13:09") (* this function must write a bitmap to a file) (WRITEBM (OPENFILE FILENAME (QUOTE OUTPUT)) BITMAP)) ACKNOWLEDGEMENTS SHOWTIME was originally developed to provide a user interface in the exchange of bitmaps between the VIEWPOINT and INTERLISP-D environments. Tom Wall initiated the idea to exchange bitmaps between these environemts and was instrumental in developing the code to write RES files. Gary Gocek originally wrote the code to read RES files; Mitch Garnnat wrote the code to write BRUSH files; reading brush files is supported by the lispusers package READBRUSH written by Larry Masinter. The SHOWTIME icon was designed and created by Mary Baecher-Cocca.(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)))))(È(È1È È1È ¼È(ŠŠ8(È (ŠŠ8DÈÈ PAGEHEADING RUNNINGHEADGACHA  HELVETICA MODERN MODERN MODERN MODERNMODERN LOGO  HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN   HRULE.GETFNMODERN  HRULE.GETFNMODERN J4, ûÝå‡.„a4}1]-1916' ›Yzº