(FILECREATED " 8-May-87 17:26:08" {QV}<NOTECARDS>1.3K>NEXT>BMOBJPATCH.;1 3490 changes to: (VARS BMOBJPATCHCOMS) (FNS BMOBJ.BUTTONEVENTINFN)) (* Copyright (c) 1987 by Xerox Corporation. All rights reserved.) (PRETTYCOMPRINT BMOBJPATCHCOMS) (RPAQQ BMOBJPATCHCOMS ((FNS BMOBJ.BUTTONEVENTINFN))) (DEFINEQ (BMOBJ.BUTTONEVENTINFN (LAMBDA (IMAGEOBJ WINDOW SELECTION X Y SELWINDOW TEXTSTREAM BUTTON OPERATION) (* rht: " 8-May-87 17:21") (* ;;; "the user has pressed a button inside the bitmap object IMAGEOBJ. Bring up a menu of bitmap edit operations.") (PROG* ((OBJ (IMAGEOBJPROP IMAGEOBJ (QUOTE OBJECTDATUM))) (OLDSCALE (fetch (BITMAPOBJ BMOBJSCALEFACTOR) of OBJ)) NEW.BITMAP COMMAND.MENU COMMAND PREVIOUS.BITMAP NAME TEMP X Y) (COND ((OR (EQ BUTTON (QUOTE RIGHT)) (AND OPERATION (NEQ OPERATION 'NORMAL))) (* ; " If he's extending a selection, or is selecting for move/copy/delete, DON'T bring up the bitmap editing menu!") (RETURN))) (SETQ PREVIOUS.BITMAP (BITMAPCOPY (fetch (BITMAPOBJ BITMAP) of OBJ))) (SETQ NEW.BITMAP (SELECTQ (MENU (COND ((type? MENU BITMAP.OBJ.MENU) BITMAP.OBJ.MENU) (T (SETQ BITMAP.OBJ.MENU (BMOBJ.CREATE.MENU)))) ) (CHANGE.SCALE (* ; "Change the scale on the bitmap.") (replace (BITMAPOBJ BMOBJSCALEFACTOR) of OBJ with (OR (NUMBERP (MKATOM (PROMPTFORWORD "Scale Factor: " OLDSCALE NIL (GETPROMPTWINDOW WINDOW)))) OLDSCALE)) (* ; "Return the prevous bitmap, so we don't change the bits.") PREVIOUS.BITMAP) (HAND.EDIT (EDITBM PREVIOUS.BITMAP)) (TRIM (TRIM.BITMAP PREVIOUS.BITMAP)) (INVERT.HORIZONTALLY (INVERT.BITMAP.HORIZONTALLY PREVIOUS.BITMAP)) (INVERT.VERTICALLY (INVERT.BITMAP.VERTICALLY PREVIOUS.BITMAP)) (INVERT.DIAGONALLY (INVERT.BITMAP.DIAGONALLY PREVIOUS.BITMAP)) (ROTATE.BITMAP.LEFT (ROTATE.BITMAP.LEFT PREVIOUS.BITMAP)) (ROTATE.BITMAP.RIGHT (ROTATE.BITMAP.RIGHT PREVIOUS.BITMAP)) (SHIFT.LEFT (INTERACT&SHIFT.BITMAP.LEFT PREVIOUS.BITMAP)) (SHIFT.RIGHT (INTERACT&SHIFT.BITMAP.RIGHT PREVIOUS.BITMAP)) (SHIFT.DOWN (INTERACT&SHIFT.BITMAP.DOWN PREVIOUS.BITMAP)) (SHIFT.UP (INTERACT&SHIFT.BITMAP.UP PREVIOUS.BITMAP)) (INTERCHANGE.BLACK/WHITE (INVERT.BITMAP.B/W PREVIOUS.BITMAP)) (ADD.BORDER (INTERACT&ADD.BORDER.TO.BITMAP PREVIOUS.BITMAP) ) (RETURN NIL))) (replace (BITMAPOBJ BITMAP) of OBJ with NEW.BITMAP) (IMAGEOBJPROP IMAGEOBJ (QUOTE CACHED.BITMAP) NIL) (* ; "And clear any cached shrunk bitmaps so the display looks reasonable.") (RETURN (QUOTE CHANGED))))) ) (PUTPROPS BMOBJPATCH COPYRIGHT ("Xerox Corporation" 1987)) (DECLARE: DONTCOPY (FILEMAP (NIL (322 3409 (BMOBJ.BUTTONEVENTINFN 332 . 3407))))) STOP