XEROX PLOTINSKETCH 2 4 1 PLOTINSKETCH 1 4 By: Tad Hogg (hogg.pa) uses: PLOT (which must be loaded before PLOTINSKETCH) This document last edited on April 9, 1987. INTRODUCTION This module modifies PLOT to allow plot image objects to work in Sketch (in addition to TEdit). Since Sketch allows objects to overlap, this can be used to make plots with insets and annotated plots. Previously, a plot could be included in a sketch as a bitmap or by drawing the plot in a sketch stream. In either case, the ability to make further edits to the object as a plot (e.g. reshaping the plot and having it automatically rescaled) is lost. With this module loaded, plots can be copy selected into a sketch and later edited in a new plot window, just as is currently possible for plots in TEdit. CHANGES TO PLOT FUNCTIONS: PLIO.IMAGEBOXFN no longer checks RIGHTMARGIN. Sketch, unlike TEdit, is able to display partial image objects and has no RIGHTMARGIN. PLIO.BUTTONEVENTINFN checks for edit of a plot image object if BUTTON is LEFT or NIL (required for compatability with old Koto version of Sketch which does not pass down the BUTTON arg to this function). Also, this now returns T rather than NIL if a plot edit is started. This could allow the host (i.e. Sketch or TEdit) to distinuish between events meant for the image object (in which case the BUTTONEVENTINFN returns something non-NIL, e.g. CHANGED or T) and those meant for the host (by returning NIL). PLIO.REINSERTOBJ Reinserting a modified plot image object is now handled by a CLOSEFN (like Sketch image objects) rather than be an extra item in the right plot menu. Thus when done with changes to the plot, attempting to close the window will ask if the plot should be reinserted. Note that this will happen even if the plot has not been changed since plots don't record whether they have been modified. PROBLEMS If other objects overlap the plot, changes to the plot image object may not correctly display the other objects. In this case, just redisplay the window. IMAGE OBJECTS (IMAGE.OBJECT.CHANGED HOST OBJECT) [Function] This function is used to notify HOST that image object OBJECT has changed. It is similar to the function TEDIT.OBJECT.CHANGED but works for other hosts. In particular, HOST can be a textstream (in which case TEDIT.OBJECT.CHANGED is called) or a sketch viewer (in which case the sketch is redisplayed). The function will not work for other hosts (e.g. grapher), so they will not be able to support edits of plot image objects. (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È È(ŠŠ8(È (ŠŠ8DÈÈ PAGEHEADING RUNNINGHEAD HELVETICA MODERN MODERN MODERN MODERNMODERN LOGO  HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN   HRULE.GETFNMODERN  HRULE.GETFNMODERN 6, Ȩ æuæ„ š   kþ ÏHzº