(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP") (FILECREATED "30-Jan-89 18:51:18" {QV}<NOTECARDS>1.3MNEXT>PMIPATCH115.;1 9522 changes to%: (FNS NC.PointerIconImageBoxFn NC.PointerIconDisplayFn)) (* " Copyright (c) 1989 by Xerox Corporation. All rights reserved. ") (PRETTYCOMPRINT PMIPATCH115COMS) (RPAQQ PMIPATCH115COMS ((DECLARE%: DONTCOPY (PROPS (PMIPATCH115 MAKEFILE-ENVIRONMENT) (PMIPATCH115 FILETYPE))) (* ;; "pmi 1/30/89: Fixes problem with display of pointer icons where image box wasn't being updated when title changed.") (* ;; "Changed in NCLINKS") (FNS NC.PointerIconImageBoxFn NC.PointerIconDisplayFn))) (DECLARE%: DONTCOPY (PUTPROPS PMIPATCH115 MAKEFILE-ENVIRONMENT (:PACKAGE "INTERLISP" :READTABLE "INTERLISP")) (PUTPROPS PMIPATCH115 FILETYPE :BCOMPL) ) (* ;; "pmi 1/30/89: Fixes problem with display of pointer icons where image box wasn't being updated when title changed." ) (* ;; "Changed in NCLINKS") (DEFINEQ (NC.PointerIconImageBoxFn [LAMBDA (ImageObj ImageStream CurrentX RightMargin DummyArg DisplayType Title Label LinkIconString) (* ; "Edited 30-Jan-89 18:48 by pmi") (* ;;; "Compute the image box for pointer icon.") (* ;; "rht 1/21/88: Now passes extra BorderWidthIncrement argument to NC.ComputeLinkOrPointerImageBox which it grabs off IMAGEOBJPROP.") (* ;; "pmi 1/30/89: Now stores CurrentX and RightMargin on ImageObj so that NC.PointerIconDisplayFn can get at them when it calculates the ImageBox.") (DECLARE (GLOBALVARS NC.LinkIconShowLinkTypeFlg NC.LinkIconShowTitleFlg NC.LinkIconAttachBitmapFlg)) (RESETLST [RESETSAVE NIL `(DSPFONT ,(DSPFONT NC.LinkIconFont ImageStream) ,ImageStream] (PROG ((Pointer (NC.FetchPointerFromPointerIcon ImageObj)) Card ShowTitleFlg AttachBitmapFlg ShowLinkTypeFlg) (* ;; "Save CurrentX and RightMarginon ImageObj") (IMAGEOBJPROP ImageObj 'CurrentX CurrentX) (IMAGEOBJPROP ImageObj 'RightMargin RightMargin) (* ;; "Check for bad Pointer") (if [NOT (NC.ValidCardP (SETQ Card (fetch (NCPointer DestinationCard) of Pointer] then (* ;; "Delete the offending link, smash its image object into a 'Deleted' image object, and return by displaying it.") (RETURN (NC.DeletedLinkImageBoxFn ImageObj ImageStream))) (* ;; "Determine what type of Display to do") (OR DisplayType (SETQ DisplayType (fetch (NCPointer DisplayMode) of Pointer))) (SETQ ShowTitleFlg (fetch (LINKDISPLAYMODE SHOWTITLEFLG) of DisplayType)) (SETQ ShowLinkTypeFlg (fetch (LINKDISPLAYMODE SHOWLINKTYPEFLG) of DisplayType)) (SETQ AttachBitmapFlg (fetch (LINKDISPLAYMODE ATTACHBITMAPFLG) of DisplayType)) (SETQ AttachBitmapFlg (if (EQ AttachBitmapFlg 'FLOAT) then NC.LinkIconAttachBitmapFlg else AttachBitmapFlg)) (* ;; "Construct the text for the link icon") [if (NOT LinkIconString) then (OR Title (SETQ Title (if (AND ShowTitleFlg (OR (NEQ ShowTitleFlg 'FLOAT) NC.LinkIconShowTitleFlg )) then (NC.RetrieveTitle Card) else NIL))) [OR Label (SETQ Label (AND (if (EQ ShowLinkTypeFlg 'FLOAT) then NC.LinkIconShowLinkTypeFlg else ShowLinkTypeFlg) (fetch (NCPointer Label) of Pointer] (SETQ LinkIconString (CONCAT (COND (Label (CONCAT "<" Label ">")) (T "")) (COND ((AND Label Title) " ") (T "")) (OR Title ""] (* ;; "Now do the hard work.") (RETURN (NC.ComputeLinkOrPointerImageBox ImageStream LinkIconString AttachBitmapFlg Card RightMargin (IMAGEOBJPROP ImageObj 'BorderWidthIncrement) CurrentX))))]) (NC.PointerIconDisplayFn [LAMBDA (ImageObj ImageStream StreamType TextStream Scale) (* ; "Edited 30-Jan-89 18:48 by pmi") (* ;;; "Display a pointer icon") (* ;; "rht 1/21/88: Now passes extra BorderWidthIncrement argument to NC.DrawLinkOrPointerIcon which it grabs off IMAGEOBJPROP.") (* ;; "pmi 1/30/89: Now uses CurrentX and RightMargin stored on ImageObj in call to NC.PointerIconImageBoxFn.") (DECLARE (GLOBALVARS NC.LinkIconAttachBitmapFlg NC.LinkIconShowLinkTypeFlg NC.LinkIconShowTitleFlg)) (RESETLST [RESETSAVE NIL `(DSPFONT ,(DSPFONT NC.LinkIconFont ImageStream) ,ImageStream] [PROG ((Scale (DSPSCALE NIL ImageStream)) (Pointer (NC.FetchPointerFromPointerIcon ImageObj)) Card ShowTitleFlg ShowLinkTypeFlg AttachBitmapFlg DisplayType Title Label LinkIconString) (* ;; "Check for bad Pointer") (if [NOT (NC.ValidCardP (SETQ Card (fetch (NCPointer DestinationCard) of Pointer] then (* ;; "Delete the offending link, smash its image object into a 'Deleted' image object, and return by displaying it.") (NC.DeleteBadPointer Pointer ImageObj ImageStream StreamType TextStream Scale ) (RETURN)) (* ;; "Pointer is okay, continue") (* ;; "Determine what type of Display to do") (SETQ DisplayType (fetch (NCPointer DisplayMode) of Pointer)) (SETQ ShowTitleFlg (fetch (LINKDISPLAYMODE SHOWTITLEFLG) of DisplayType)) (SETQ ShowLinkTypeFlg (fetch (LINKDISPLAYMODE SHOWLINKTYPEFLG) of DisplayType)) (SETQ AttachBitmapFlg (fetch (LINKDISPLAYMODE ATTACHBITMAPFLG) of DisplayType)) (if (EQ AttachBitmapFlg 'FLOAT) then (SETQ AttachBitmapFlg NC.LinkIconAttachBitmapFlg)) (* ;; "Construct the text for the link icon") (SETQ Title (if (AND ShowTitleFlg (OR (NEQ ShowTitleFlg 'FLOAT) NC.LinkIconShowTitleFlg)) then (NC.RetrieveTitle Card) else NIL)) (SETQ Label (AND (COND ((EQ ShowLinkTypeFlg 'FLOAT) NC.LinkIconShowLinkTypeFlg) (T ShowLinkTypeFlg)) (fetch (NCPointer Label) of Pointer))) (SETQ LinkIconString (CONCAT (COND (Label (CONCAT "<" Label ">")) (T "")) (COND ((AND Label Title) " ") (T "")) (OR Title ""))) (* ;; "Now do all the hard work.") (NC.DrawLinkOrPointerIcon ImageStream (NC.PointerIconImageBoxFn ImageObj ImageStream (IMAGEOBJPROP ImageObj 'CurrentX) (IMAGEOBJPROP ImageObj 'RightMargin) NIL DisplayType Title Label LinkIconString ) LinkIconString AttachBitmapFlg Card T (IMAGEOBJPROP ImageObj 'BorderWidthIncrement])]) ) (PUTPROPS PMIPATCH115 COPYRIGHT ("Xerox Corporation" 1989)) (DECLARE%: DONTCOPY (FILEMAP (NIL (1205 9439 (NC.PointerIconImageBoxFn 1215 . 5419) (NC.PointerIconDisplayFn 5421 . 9437)) ))) STOP