From 4bd1ec132fc21b771949c7db513aec435919c3cd Mon Sep 17 00:00:00 2001 From: Matthias Felleisen Date: Thu, 13 Dec 2007 12:33:30 +0000 Subject: [PATCH] svn: r7988 original commit: fa0c028d261f49fcd8dd80e6bfba5d6d1685add3 --- collects/mrlib/cache-image-snip.ss | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/collects/mrlib/cache-image-snip.ss b/collects/mrlib/cache-image-snip.ss index fd2b60d8..12eadb20 100644 --- a/collects/mrlib/cache-image-snip.ss +++ b/collects/mrlib/cache-image-snip.ss @@ -6,6 +6,7 @@ (lib "list.ss")) (provide cache-image-snip% + cache-image-snip-class% snip-class) ;; type argb = (make-argb (vectorof rational[between 0 & 255]) int) @@ -143,18 +144,24 @@ (define cache-image-snip-class% (class snip-class% (define/override (read f) - (let ([data (read-from-string (send f get-bytes) (lambda () #f))]) - (if data + (data->snip (read-from-string (send f get-bytes) (lambda () #f)))) + (define/public (data->snip data) + (if data (argb->cache-image-snip (make-argb (first data) (second data)) (third data) (fourth data)) - (make-null-cache-image-snip)))) + (make-null-cache-image-snip))) (super-new))) (define snip-class (new cache-image-snip-class%)) (send snip-class set-version 1) (send snip-class set-classname (format "~s" `(lib "cache-image-snip.ss" "mrlib"))) - (send (get-the-snip-class-list) add snip-class) + + ;; ***** WARNING: illegal activities **** -- MF + (define the-drscheme-snip-class (get-the-snip-class-list)) + (send the-drscheme-snip-class add snip-class) + (provide the-drscheme-snip-class) + ;; ***** WARNING: illegal activities **** (define (make-null-cache-image-snip) (define size 10)