Changeset 2837
- Timestamp:
- 03/31/08 15:56:14 (9 months ago)
- Files:
-
- trunk/projects/bos/m2/config.lisp (modified) (1 diff)
- trunk/projects/bos/m2/geometry.lisp (modified) (1 diff)
- trunk/projects/bos/m2/m2.lisp (modified) (2 diffs)
- trunk/projects/bos/m2/map.lisp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/projects/bos/m2/config.lisp
r2396 r2837 74 74 ;; Einschalten des Mail-Versands (normalerweise aus) 75 75 (defvar *enable-mails* nil) 76 77 ;;; rect-publisher 78 (defvar *rect-publisher*) 79 trunk/projects/bos/m2/geometry.lisp
r2836 r2837 348 348 own rectangle intersects with RECTANGLE will be notified." 349 349 (dolist (subscriber (rect-publisher-subscribers publisher)) 350 (when (rectangle-intersects-p rectangle (rect-subscriber-rectangle subscriber)) 350 (when (rectangle-intersects-p rectangle (rect-subscriber-rectangle subscriber)) 351 351 (funcall (rect-subscriber-callback-fn subscriber) (rect-subscriber-object subscriber))))) 352 352 353 trunk/projects/bos/m2/m2.lisp
r2834 r2837 265 265 (error "invalid contract id (wrong type) ~A" id))))) 266 266 267 (defmethod contract-changed ((contract contract)) 268 ( mapc #'(lambda (tile) (image-tile-changed tile)) (contract-image-tilescontract)))267 (defmethod contract-changed ((contract contract)) 268 (publish-rect-change *rect-publisher* (contract-bounding-box contract))) 269 269 270 270 (defmethod contract-is-expired ((contract contract)) … … 496 496 (setf *enable-mails* enable-mails) 497 497 (setf *website-url* website-url) 498 (setf *rect-publisher* (make-rect-publisher)) 498 499 (unless directory 499 500 (error ":DIRECTORY parameter not set in m2.rc")) trunk/projects/bos/m2/map.lisp
r2371 r2837 95 95 (layers :initarg :layers :reader image-tile-layers)) 96 96 (:default-initargs :type :png :changed-time (get-universal-time) :layers '(background areas contracts palette))) 97 98 (defmethod initialize-instance :after ((tile image-tile) &key nw-x nw-y width &allow-other-keys) 99 (register-rect-subscriber *rect-publisher* tile 100 (list nw-x nw-y width width) #'image-tile-changed)) 97 101 98 102 (defmethod image-tile-original-image ((tile image-tile))
