1 Lisp Library Modules, Medley Release 1.15, EDITBITMAP 1 Lisp Library Modules, Medley Release 1.15, EDITBITMAP EDITBITMAP 1 EDITBITMAP 1 EDITBITMAP 6 EditBitMap(EDITBITMAP NIL EditBitMap NIL NIL 61) provides an interface (EDIT.BITMAP) for creating and editing bitmaps, which may exist as named files or as part of another type of a file (for example, a document written in TEdit). EditBitMap puts up a menu of bitmap-manipulation commands, one of which is HAND.EDIT, which accesses EDITBM(EDITBM (function) NIL NIL NIL 61), the Interlisp-D bitmap editor. EditBitMap also works on cursors (produces new cursor) and symbols (works on the value and resets the value with the result). Requirements 1 READNUMBER SCALEBITMAP Installation 1 Load EDITBITMAP.LCOM and the required .LCOM modules from the library. User Interface 1 The user interface consists of a function (EDIT.BITMAP), a main operation menu, and a three-part window for low-level pixel editing. There are two principal ways of entering the bitmap editor. If the bitmap is an object in a document being edited, you can enter the bitmap editor by pressing the left button over the bitmap. If the bitmap is an object you are manipulating as part of a program, you can call the function EDIT.BITMAP from the Executive, passing it the bitmap (typically the value of some variable). In either case, EditBitMap presents its main menu, from which you select the operation you desire. If the operation is "Hand Edit", EditBitMap brings up a three-part window to show, create, or edit a bitmap. The individual EditBitMap operations can also be performed programmatically or from the Executive (see "Functions"). EDIT.BITMAP The function EDIT.BITMAP is the principal way to create, view or edit bitmaps stored as the values of variables (or other easily accessible Lisp values): (EDIT.BITMAP(EDIT.BITMAP (function) NIL NIL NIL 61) BITMAP) [Function] BITMAP may be a bitmap, a cursor, or a symbol. If BITMAP is a bit map, then EDIT.BITMAP returns a new bitmap as the result of the edit. If BITMAP is a cursor, then EDIT.BITMAP operates on its bitmap and returns a new cursor. If BITMAP is a symbol, then EDIT.BITMAP operates on the symbol's value (a bitmap or cursor), and resets the symbol's value to the result of the edit. EditBitMap brings up a main menu containing the following items: Y?????Μ~ttRs?mm[m?amq??om}m?8vv[b???   '? $  $ D ? $?D $ D  D Hd"  H'?     <~?  BA   A   A?  ~   A  BA `  H( H`BA" H AC      0A @0A (@P (~P D@ |@ @"  #      ?! @BD@"  @BD@$ @C@$ ? BD$y BD$  @BDH" CH!     '@?? $@@  $@@  '@~> $@@  $@@  $@@  $~      ?? $ $@  @ >@ D @ $ $@ $ "d@  "@     ??xF$ $ F&   F% > )D D  )D $  )DP $ "0  #x     'A> $A! $A! 'A! $A> $A  $A  $>     "A?A>?!#"a D$AA !"#"Q HD (@$#"I?H$?(@("I $ D@4"E H |@""C D$ C !!B"A?C =? B     ~ @A$" H A H$ H ~ H$ H A O H A H$ DA$" ~'     O HB H$ H$ H$ H$ B O  ?00O0A0 A0 A0 A0IA01A0A0?? EditBitMap performs each command you select, until you select QUIT, at which point it returns the final result of all the edits. You can select UNDO to undo the most recent operation (selecting it several times undoes several operations). If you select HAND.EDIT, you enter the pixel editor EDITBM (see the IRM). If you select FROM.SCREEN, EditBitMap prompts you for a screen region from which to initialize a new bit map. The remaining menu items are described under the corresponding "Function" below. Window The EditBitMap window(EDITBITMAP% WINDOW NIL EditBitMap% window NIL NIL 62) consists of three parts. The main, lower part is the region where the bitmap is displayed on a grid by means of fat pixels. The smaller top part is a gray background against which the middle-button submenu is displayed. The small portion in the upper left corner displays a miniature picture of the entire bitmap. S3ݢ3öKmmݶۍ~mݶm~mò3UUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUT@ @ @ @ @ @ @ @ @ @ @ @  Submenu The EditBitMap submenu (EDITBITMAP% SUB-MENU% NIL EditBitMap% sub-menu% NIL NIL 62)is displayed when you press the middle button in the upper gray region of the window. It contains the following items: ffWu  @ @ \  b@ rB@ B@ B@ B0        A B !   D D    @ @@x<;@@B"  GA\ Hb" #HAB"  HHAB " HB@B" HG@xB@<"     |> A Z:@' jF< BB! BB" BFA$ zB:>'       Ç< $H ㏐ H $H Ç    @ x  X "h @ 2@ "@ x@       %@ "!!! H @#"!!! H"D "!#! G8a!!!@ G=9 p<?bH"D! >@! H @! H"D! G8` p  sÞHđ$HI2$HrI$$H2$qÆԄ@ @#9$$D$@$@$$d@$$D$@#:g0@?@ 

!G`D !H`"D "!%H`D G`````8`@`8`D@`|@`@@`D@`8@````````````` f` ` ` `````````<`f``0```f`f`<``x``````<`xf```|`f`f`f`<````````<``f`f`f`>``f`<````````0 `0 `><`3dm`3po`3m`3Ll`>xf````````` Limitations 1 Selecting OK in the submenu does NOT save the edits made in the bitmap. Edits are saved only if you specify a new bitmap name before you begin editing an old one, or if you pass a quoted name to EDIT.BITMAP. [This page intentionally left blank] (LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "") STARTINGPAGE# 61) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (TEXT NIL NIL (54 54 504 702) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD LEFT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (54 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGV) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE VERSOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE RECTOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL)))))5l5ll22HH2Hl l5HH l-HHT,HH,HH -T2ll2ll3$$T3T2HH 2HH2HH3T-T-TF PAGEHEADING VERSOHEADF PAGEHEADING RECTOHEADE PAGEHEADINGFOOTINGVE PAGEHEADINGFOOTINGR HELVETICA CLASSICCLASSIC TITAN TITAN CLASSIC  HELVETICA  HELVETICA HELVETICAMODERN MODERN MODERN MODERNMODERNMODERN  HRULE.GETFNMODERN  6 HRULE.GETFNMODERN  6  HRULE.GETFNMODERN    HRULE.GETFNMODERN    HRULE.GETFNMODERN &IM.INDEX.GETFN K "IM.INDEX.GETFNCLASSIC "~  HRULE.GETFNMODERN      HRULE.GETFNMODERN  HRULE.GETFNMODERN * N" SG  'IM.INDEX.GETFNCLASSIC   . 6 6 o A  BMOBJ.GETFN3MODERN   >Oj -   6IM.INDEX.GETFN? BMOBJ.GETFN3MODERN    >IM.INDEX.GETFNx BMOBJ.GETFN3MODERN  U  jV  BMOBJ.GETFN3MODERN   BMOBJ.GETFN3MODERN  sLIM.INDEX.GETFN F$&(eVLIM.INDEX.GETFN  eFIM.INDEX.GETFN  F$3 h#7 @# ,sG *XIM.INDEX.GETFN    BMOBJ.GETFN3MODERN  #    HRULE.GETFNMODERN    0IM.INDEX.GETFN  9)IM.INDEX.GETFN    &IM.INDEX.GETFN   -IM.INDEX.GETFN ]V4IM.INDEX.GETFNCLASSIC  G 6IM.INDEX.GETFNCLASSIC  )4IM.INDEX.GETFNCLASSIC  +.IM.INDEX.GETFNCLASSIC  L /IM.INDEX.GETFNCLASSIC  E -IM.INDEX.GETFNCLASSIC    D+IM.INDEX.GETFNCLASSIC    G-IM.INDEX.GETFNCLASSIC    8.IM.INDEX.GETFNCLASSIC    8 'IM.INDEX.GETFNCLASSIC  I.IM.INDEX.GETFNCLASSIC  E6IM.INDEX.GETFNCLASSIC  ("7IM.INDEX.GETFNCLASSIC  (#6IM.INDEX.GETFNCLASSIC  ("3IM.INDEX.GETFNCLASSIC  ( 9IM.INDEX.GETFNCLASSIC  3 6IM.INDEX.GETFN t BMOBJ.GETFN3MODERN    HRULE.GETFNMODERN   % z