From 0cfbbb9bdff8780f0f10cdffdb6697864da091ff Mon Sep 17 00:00:00 2001 From: Neil Toronto Date: Tue, 10 Jan 2012 15:21:49 -0700 Subject: [PATCH] Better debugger icon bomb (cherry picked from commit 5736695baec21d1b9e14e93dc574e4f3ca5e2bdb) --- collects/drracket/private/unit.rkt | 5 ++--- collects/icons/bomb-32x32.png | Bin 2357 -> 2262 bytes collects/images/icons/misc.rkt | 20 ++++++++++-------- collects/images/icons/tool.rkt | 2 +- collects/images/private/utils.rkt | 32 ++++++++++++++++++++++++++++- 5 files changed, 46 insertions(+), 13 deletions(-) diff --git a/collects/drracket/private/unit.rkt b/collects/drracket/private/unit.rkt index b18001286d..c6e7167d37 100644 --- a/collects/drracket/private/unit.rkt +++ b/collects/drracket/private/unit.rkt @@ -386,12 +386,11 @@ module browser threading seems wrong. frame program-filename)))]))) - (define disk-color (make-object color% 255 233 112)) (define execute-bitmap (icons:play-icon icons:run-icon-color (icons:toolbar-icon-height))) (define break-bitmap (icons:stop-icon icons:halt-icon-color (icons:toolbar-icon-height))) - (define small-save-bitmap (icons:small-save-icon icons:syntax-icon-color disk-color + (define small-save-bitmap (icons:small-save-icon icons:syntax-icon-color "gold" (icons:toolbar-icon-height))) - (define save-bitmap (icons:save-icon icons:syntax-icon-color disk-color + (define save-bitmap (icons:save-icon icons:syntax-icon-color "gold" (icons:toolbar-icon-height))) (define-values (get-program-editor-mixin add-to-program-editor-mixin) diff --git a/collects/icons/bomb-32x32.png b/collects/icons/bomb-32x32.png index fd0af43583b329377e72a11221a1dc369ad7072d..2b491a0d17adff3b500d9f6de4c5e5bd755e2689 100644 GIT binary patch delta 2232 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 indent-fm) (* -2 scale))] + [indent-dfm (deep-flomap-raise (flomap->deep-flomap indent-fm) (* -1 scale))] [fm (regular-polygon-flomap 8 (/ (* 2 pi) 16) color height)] [dfm (flomap->deep-flomap fm)] [dfm (deep-flomap-cc-superimpose 'add dfm indent-dfm)] @@ -218,16 +218,20 @@ (define scale (/ height 32)) (define fuse-fm (let* ([fm (draw-icon-flomap - 16 16 (λ (dc) - (send dc set-pen "black" 1/2 'solid) + 10 25 (λ (dc) + (send dc set-pen "darkred" 1 'solid) (send dc set-brush "gold" 'solid) (draw-path-commands dc 0 0 - '((m 0.5 5.5) - (c -1.5 -2 -0.5 -5 2 -5.5 - 3 0.5 5 2.5 6 5 - 0.5 2.5 -1.5 4.5 -4 4 - -1 -2 -1.5 -3.5 -4 -3.5)))) + '((m 3.5 0) + (c -5 0 -3.29080284 10.4205 -3 11.5 + 1.1137011 4.1343 2 6.5 0 8.5 + -0.5711131 2.0524 1.5 4 3.5 3.5 + 2.5711131 -2.5524 3.1327042 -5.5355 2 -9.5 + -2 -7 -2 -9 -1.5 -9 + 0 1 -0.5 2 1 3.5 + 2 0.5 4 -1.5 3.5 -3.5 + -2 -2 -2 -5 -5.5 -5)))) scale)] [dfm (flomap->deep-flomap fm)] [dfm (deep-flomap-icon-style dfm)] diff --git a/collects/images/icons/tool.rkt b/collects/images/icons/tool.rkt index 33ce9166b6..06ccc52b6b 100644 --- a/collects/images/icons/tool.rkt +++ b/collects/images/icons/tool.rkt @@ -10,7 +10,7 @@ (provide (all-defined-out)) -(define debugger-bomb-color (make-object color% 128 64 64)) +(define debugger-bomb-color (make-object color% 128 32 32)) (define macro-stepper-hash-color (make-object color% 30 96 30)) (define (check-syntax-flomap [height (toolbar-icon-height)] [material (default-icon-material)]) diff --git a/collects/images/private/utils.rkt b/collects/images/private/utils.rkt index 033313818e..08b96724f5 100644 --- a/collects/images/private/utils.rkt +++ b/collects/images/private/utils.rkt @@ -10,7 +10,6 @@ (define (get-num-callbacks) num-callbacks) (define (register-gc-callback proc) - (printf "registering~n") (register-finalizer (malloc 4) (λ (val) (set! num-callbacks (+ 1 num-callbacks)) (printf "here~n") @@ -143,6 +142,37 @@ (scale-path-commands cmds sx sy))] [(list) (list)])) +(define (relativize-path-commands cmds) + (let loop ([x 0] [y 0] [cmds cmds]) + (cond + [(empty? cmds) empty] + [else + (define cmd (first cmds)) + (match cmd + ;; absolute commands + [`(M) (loop x y (rest cmds))] + [`(L) (loop x y (rest cmds))] + [`(C) (loop x y (rest cmds))] + [`(M ,ax ,ay ,as ...) (cons `(m ,(- ax x) ,(- ay y)) + (loop ax ay (cons `(M ,@as) (rest cmds))))] + [`(L ,ax ,ay ,as ...) (cons `(l ,(- ax x) ,(- ay y)) + (loop ax ay (cons '(L ,@as) (rest cmds))))] + [`(C ,ax1 ,ay1 ,ax2 ,ay2 ,ax ,ay ,as ...) + (cons `(c ,(- ax1 x) ,(- ay1 y) ,(- ax2 x) ,(- ay2 y) ,(- ax x) ,(- ay y)) + (loop ax ay (cons `(C ,@as) (rest cmds))))] + ;; relative commands + [`(m) (loop x y (rest cmds))] + [`(l) (loop x y (rest cmds))] + [`(c) (loop x y (rest cmds))] + [`(m ,dx ,dy ,ds ...) (cons `(m ,dx ,dy) (loop (+ x dx) (+ y dy) + (cons `(m ,@ds) (rest cmds))))] + [`(l ,dx ,dy ,ds ...) (cons `(l ,dx ,dy) (loop (+ x dx) (+ y dy) + (cons `(l ,@ds) (rest cmds))))] + [`(c ,dx1 ,dy1 ,dx2 ,dy2 ,dx ,dy ,ds ...) + (cons `(c ,dx1 ,dy1 ,dx2 ,dy2 ,dx ,dy) + (loop (+ x dx) (+ y dy) (cons `(c ,@ds) (rest cmds))))] + [_ (error 'apply-path-commands "unknown path command ~e" cmd)])]))) + (define (get-text-size str font) (define bm (make-bitmap 1 1)) (define dc (make-object bitmap-dc% bm))