#lang racket/base (require racket/class slideshow racket/gui/base) (define (pict->snip pic) (make-object image-snip% (pict->bitmap pic))) (define (at pic x y) (vc-append (blank x) (hc-append (blank y) pic))) (provide item-callback) (define (item-callback str #:editor ed) (send ed insert (pict->snip (let ([p (apply hc-append (for/list ([w (regexp-split #px"\\s+" str)]) (text w '() 24 (/ pi 6)) ))]) (cc-superimpose (colorize p "black") (colorize (at p 3 3) "white") )) )) #f)