diff --git a/collects/drracket/private/debug.rkt b/collects/drracket/private/debug.rkt index fa27a9d63e..25e88bbfe1 100644 --- a/collects/drracket/private/debug.rkt +++ b/collects/drracket/private/debug.rkt @@ -26,7 +26,7 @@ profile todo: net/url racket/match mrlib/include-bitmap - icons + images/icons/misc images/icons/style images/icons/control (for-syntax racket/base)) (define orig (current-output-port)) @@ -187,10 +187,11 @@ profile todo: (super-make-object bitmap))]) note%))) - (define bug-note% (make-note% "stop-multi.png" (stop-signs-icon))) + (define file-note% (make-note% "stop-22x22.png" (stop-sign-icon halt-icon-color))) + (define bug-note% (make-note% "stop-multi.png" (stop-signs-icon halt-icon-color))) + (define mf-note% (make-note% "mf.gif" (include-bitmap (lib "icons/mf.gif") 'gif))) - (define file-note% (make-note% "stop-22x22.png" (stop-sign-icon))) - (define small-planet-bitmap (earth-icon)) + (define small-planet-bitmap (record-icon "blue")) (define planet-note% (make-note% "small-planet.png" small-planet-bitmap)) ;; display-stats : (syntax -> syntax) diff --git a/collects/drracket/private/unit.rkt b/collects/drracket/private/unit.rkt index 1d3cfe0d00..dbd7a57293 100644 --- a/collects/drracket/private/unit.rkt +++ b/collects/drracket/private/unit.rkt @@ -38,7 +38,7 @@ module browser threading seems wrong. "local-member-names.rkt" "eval-helpers.rkt" (prefix-in drracket:arrow: "../arrow.rkt") - (prefix-in icons: icons) (prefix-in pict: slideshow/pict) + (prefix-in icons: (combine-in images/icons/file images/icons/control images/icons/style)) mred (prefix-in mred: mred) @@ -385,18 +385,12 @@ module browser threading seems wrong. frame program-filename)))]))) - (define execute-bitmap (icons:go-icon 'green (icons:toolbar-icon-height))) - (define break-bitmap (icons:stop-icon 'red (icons:toolbar-icon-height))) - - (define blue-arrow-pict (icons:right-arrow-icon-pict 'blue (* 3/4 (icons:toolbar-icon-height)))) - (define disk-pict (icons:disk-icon-pict 'orange (icons:toolbar-icon-height))) - - (define small-save-bitmap - (pict:pict->bitmap - (pict:rc-superimpose - disk-pict (pict:inset blue-arrow-pict 0 0 (* 1/2 (icons:toolbar-icon-height)) 0)))) - - (define save-bitmap (pict:pict->bitmap (pict:hc-append blue-arrow-pict disk-pict))) + (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 icons:metal-icon-color + (icons:toolbar-icon-height))) + (define save-bitmap (icons:save-icon icons:syntax-icon-color icons:metal-icon-color + (icons:toolbar-icon-height))) (define-values (get-program-editor-mixin add-to-program-editor-mixin) (let* ([program-editor-mixin @@ -4702,7 +4696,7 @@ module browser threading seems wrong. [(null? l) '()] [else (cons (car l) (loop (cdr l) (- n 1)))]))) - (define very-small-planet-bitmap (icons:earth-icon (icons:toolbar-icon-height))) + (define very-small-planet-bitmap (icons:record-icon "blue" (icons:toolbar-icon-height))) (define saved-bug-reports-window #f) (define saved-bug-reports-panel #f) diff --git a/collects/drracket/syncheck-drracket-button.rkt b/collects/drracket/syncheck-drracket-button.rkt index 92f7769b04..56f4d19dae 100644 --- a/collects/drracket/syncheck-drracket-button.rkt +++ b/collects/drracket/syncheck-drracket-button.rkt @@ -2,7 +2,7 @@ (require racket/class racket/gui/base string-constants/string-constant - icons slideshow/pict) + images/icons/tool images/icons/style) (provide syncheck-drracket-button syncheck-bitmap syncheck-small-bitmap @@ -10,14 +10,8 @@ (define-local-member-name syncheck:button-callback) -(define syncheck-bitmap - (pict->bitmap (hb-append (magnifying-glass-left-icon-pict (* 7/8 (toolbar-icon-height))) - (check-icon-pict 'green (toolbar-icon-height))))) - -(define syncheck-small-bitmap - (pict->bitmap (rb-superimpose (hc-append (check-icon-pict 'green (toolbar-icon-height)) - (blank (* 1/4 (toolbar-icon-height)))) - (magnifying-glass-icon-pict (* 3/4 (toolbar-icon-height)))))) +(define syncheck-bitmap (check-syntax-icon (toolbar-icon-height))) +(define syncheck-small-bitmap (small-check-syntax-icon (toolbar-icon-height))) (define syncheck-drracket-button (list diff --git a/collects/gui-debugger/debug-tool.rkt b/collects/gui-debugger/debug-tool.rkt index 47442ea5b6..eb6c04ae64 100644 --- a/collects/gui-debugger/debug-tool.rkt +++ b/collects/gui-debugger/debug-tool.rkt @@ -15,7 +15,7 @@ framework string-constants lang/debugger-language-interface - icons) + images/icons/tool) (provide tool@) @@ -40,6 +40,7 @@ (new switchable-button% (label (string-constant debug-tool-button-name)) (bitmap debug-bitmap) + (alternate-bitmap small-debug-bitmap) (parent parent) (callback (λ (button) (send frame debug-callback))))) 'macro-stepper) @@ -1081,7 +1082,8 @@ (super-new))) - (define debug-bitmap (step-icon 'green (toolbar-icon-height))) + (define debug-bitmap (debugger-icon)) + (define small-debug-bitmap (small-debugger-icon)) (define make-pause-label (bitmap-label-maker @@ -1353,6 +1355,7 @@ (new switchable-button% (label (string-constant debug-tool-button-name)) (bitmap debug-bitmap) + (alternate-bitmap small-debug-bitmap) (parent (new vertical-pane% [parent (get-button-panel)] [alignment '(center center)])) diff --git a/collects/gui-debugger/info.rkt b/collects/gui-debugger/info.rkt index 8db27a7d6b..e652e9f58c 100644 --- a/collects/gui-debugger/info.rkt +++ b/collects/gui-debugger/info.rkt @@ -2,4 +2,4 @@ (define tools '(("debug-tool.rkt"))) (define tool-names '("Graphical Debugger")) -(define tool-icons '(("clanbomber-32x32.png" "gui-debugger" "icons"))) +(define tool-icons '(("bomb-32x32.png" "icons"))) diff --git a/collects/icons/bomb-32x32.png b/collects/icons/bomb-32x32.png new file mode 100644 index 0000000000..fd0af43583 Binary files /dev/null and b/collects/icons/bomb-32x32.png differ diff --git a/collects/icons/info.rkt b/collects/icons/info.rkt deleted file mode 100644 index 112d511a53..0000000000 --- a/collects/icons/info.rkt +++ /dev/null @@ -1,5 +0,0 @@ -#lang setup/infotab - -(define scribblings '(["scribblings/icons.scrbl" () (gui-library)])) - -(define compile-omit-paths '("tests" "private/svg")) diff --git a/collects/icons/main.rkt b/collects/icons/main.rkt deleted file mode 100644 index 210ffbe61a..0000000000 --- a/collects/icons/main.rkt +++ /dev/null @@ -1,51 +0,0 @@ -#lang racket/base - -(require unstable/latent-contract - "private/svg.rkt" - "private/utils.rkt") - -(provide (activate-contract-out - icon-colors - icon-color/c - icon-styles - icon-style/c - toolbar-icon-height - default-icon-height - default-icon-style - load-icon-pict - load-icon - icon-categories - icon-names - - go-icon go-icon-pict - bar-icon bar-icon-pict - back-icon back-icon-pict - stop-icon stop-icon-pict - record-icon record-icon-pict - step-icon step-icon-pict - step-back-icon step-back-icon-pict - continue-icon continue-icon-pict - continue-back-icon continue-back-icon-pict - fast-forward-icon fast-forward-icon-pict - rewind-icon rewind-icon-pict - pause-icon pause-icon-pict - stop-sign-icon stop-sign-icon-pict - check-icon check-icon-pict - x-icon x-icon-pict - magnifying-glass-icon magnifying-glass-icon-pict - magnifying-glass-left-icon magnifying-glass-left-icon-pict - disk-icon disk-icon-pict - standing-icon standing-icon-pict - running-icon running-icon-pict - up-arrow-icon up-arrow-icon-pict - down-arrow-icon down-arrow-icon-pict - left-arrow-icon left-arrow-icon-pict - right-arrow-icon right-arrow-icon-pict - stop-signs-icon stop-signs-icon-pict - earth-icon earth-icon-pict - moon-icon moon-icon-pict - hash-quote-icon hash-quote-icon-pict - plus-icon plus-icon-pict - times-icon times-icon-pict - plt-logo plt-logo-pict - planet-logo planet-logo-pict)) diff --git a/collects/icons/private/doc.rkt b/collects/icons/private/doc.rkt deleted file mode 100644 index 7dc8654ab3..0000000000 --- a/collects/icons/private/doc.rkt +++ /dev/null @@ -1,9 +0,0 @@ -#lang racket/base - -(require unstable/latent-contract/defthing - "svg.rkt" - "utils.rkt") - -(provide (only-doc-out - (combine-out (all-from-out "svg.rkt") - (all-from-out "utils.rkt")))) diff --git a/collects/icons/private/svg.rkt b/collects/icons/private/svg.rkt deleted file mode 100644 index 4ce73cbced..0000000000 --- a/collects/icons/private/svg.rkt +++ /dev/null @@ -1,238 +0,0 @@ -#lang racket/base - -(require racket/class racket/draw racket/list - racket/contract - unstable/latent-contract/defthing - (for-syntax racket/base - racket/syntax) - "utils.rkt" - slideshow/pict) - -(provide (all-defined-out)) - -(defthing icon-styles (listof symbol?) #:document-value '(diffuse shiny)) -(defcontract icon-style/c (or/c #f 'diffuse 'shiny)) - -(defparam toolbar-icon-height (>/c 1) 16) -(defparam default-icon-height (>/c 1) 24) -(defparam default-icon-style (or/c 'diffuse 'shiny) 'diffuse) - -(define (icon-file-name category name color height style) string? - (define cs-name (cond [(and color style) (format "~a/~a-~a" color name style)] - [color (format "~a/~a" color name)] - [style (format "~a-~a" name style)] - [else (format "~a" name)])) - (format "~a/~a/~a.png" category height cs-name)) - -(defproc (load-icon-pict [category string?] - [name string?] - [color icon-color/c] - [height (>=/c 0) (default-icon-height)] - [style icon-style/c (default-icon-style)]) pict? - (define hs (icon-category-heights category)) - (define icon-height - (let ([h (for/first ([h (in-list hs)] #:when (height . <= . h)) h)]) - (if h h (last hs)))) - (define icon-path - (build-path svg-icons-base-path (icon-file-name category name color icon-height style))) - (scale (bitmap icon-path) (/ height icon-height))) - -(defproc (load-icon [category string?] - [name string?] - [color icon-color/c] - [height (>=/c 0) (default-icon-height)] - [style icon-style/c (default-icon-style)]) (is-a?/c bitmap%) - (pict->bitmap (load-icon-pict category name color height style))) - -(defproc (icon-categories) (listof string?) - (remove-duplicates - (let loop ([dirs empty] [res empty]) - (define dir (apply build-path svg-icons-base-path dirs)) - (define files (directory-list dir)) - (append* - (for/list ([file (in-list files)]) - (define file-path (build-path dir file)) - (cond [(exact-integer? (string->number (path->string file))) - res] - [(directory-exists? file-path) - (define subdirs (append dirs (list file))) - (loop subdirs (cons (path->string (apply build-path subdirs)) res))] - [else - empty])))))) - -(defproc (icon-names [category string?]) (listof string?) - (define files - (filter svg-file? (directory-list (build-path svg-icons-base-path category)))) - (for/list ([file (in-list files)]) - (define-values (base-dir dir-path _) (split-path file)) - (path->string (path-replace-suffix dir-path "")))) - -;; =================================================================================================== -;; Icon pict contructors - -(define-syntax-rule (define-make-colorized-icon-pict [make-icon-pict category name] ...) - (begin - (defproc (make-icon-pict [color icon-color/c] - [height (>=/c 0) (default-icon-height)] - [style icon-style/c (default-icon-style)]) pict? - (load-icon-pict category name color height style)) - ...)) - -(define-syntax-rule (define-make-icon-pict [make-icon-pict category name] ...) - (begin - (defproc (make-icon-pict [height (>=/c 0) (default-icon-height)] - [style icon-style/c (default-icon-style)]) pict? - (load-icon-pict category name #f height style)) - ...)) - -(define-make-colorized-icon-pict - [go-icon-pict "control" "go"] - [bar-icon-pict "control" "bar"] - [stop-icon-pict "control" "stop"] - [record-icon-pict "control" "record"] - [check-icon-pict "check" "check"] - [x-icon-pict "check" "x"] - [disk-icon-pict "misc" "disk"] - [standing-icon-pict "misc" "standing"] - [running-icon-pict "misc" "running"] - [plus-icon-pict "symbol" "plus"] - [times-icon-pict "symbol" "times"] - [up-arrow-icon-pict "arrow" "up"] - [down-arrow-icon-pict "arrow" "down"] - [right-arrow-icon-pict "arrow" "right"] - ) - -(define-make-icon-pict - [stop-sign-icon-pict "sign" "stop"] - [magnifying-glass-icon-pict "misc" "magnifying-glass"] - [earth-icon-pict "misc" "earth"] - [moon-icon-pict "misc" "moon"] - [hash-quote-icon-pict "symbol" "hash-quote"] - [plt-logo-pict "logo" "plt"] - [planet-logo-pict "logo" "planet"] - ) - -(defproc (back-icon-pict [color icon-color/c] - [height (>=/c 0) (default-icon-height)] - [style icon-style/c (default-icon-style)]) pict? - (pict-mirror-x (go-icon-pict color height style))) - -(defproc (left-arrow-icon-pict [color icon-color/c] - [height (>=/c 0) (default-icon-height)] - [style icon-style/c (default-icon-style)]) pict? - (pict-mirror-x (right-arrow-icon-pict color height style))) - -(defproc (magnifying-glass-left-icon-pict [height (>=/c 0) (default-icon-height)] - [style icon-style/c (default-icon-style)]) pict? - (pict-mirror-x (magnifying-glass-icon-pict height style))) - -(defproc (step-icon-pict [color icon-color/c] - [height (>=/c 0) (default-icon-height)] - [style icon-style/c (default-icon-style)]) pict? - (hc-append (go-icon-pict color height style) (bar-icon-pict color height style))) - -(defproc (step-back-icon-pict [color icon-color/c] - [height (>=/c 0) (default-icon-height)] - [style icon-style/c (default-icon-style)]) pict? - (hc-append (bar-icon-pict color height style) (back-icon-pict color height style))) - -(defproc (continue-icon-pict [color icon-color/c] - [height (>=/c 0) (default-icon-height)] - [style icon-style/c (default-icon-style)]) pict? - (hc-append (bar-icon-pict color height style) (go-icon-pict color height style))) - -(defproc (continue-back-icon-pict [color icon-color/c] - [height (>=/c 0) (default-icon-height)] - [style icon-style/c (default-icon-style)]) pict? - (hc-append (back-icon-pict color height style) (bar-icon-pict color height style))) - -(defproc (fast-forward-icon-pict [color icon-color/c] - [height (>=/c 0) (default-icon-height)] - [style icon-style/c (default-icon-style)]) pict? - (define go (go-icon-pict color height style)) - (scale (hc-append go go) 3/4 1)) - -(defproc (rewind-icon-pict [color icon-color/c] - [height (>=/c 0) (default-icon-height)] - [style icon-style/c (default-icon-style)]) pict? - (define back (back-icon-pict color height style)) - (scale (hc-append back back) 3/4 1)) - -(defproc (pause-icon-pict [color icon-color/c] - [height (>=/c 0) (default-icon-height)] - [style icon-style/c (default-icon-style)]) pict? - (define gap (blank (* 1/16 height))) - (define bar (bar-icon-pict color height style)) - (hc-append gap bar gap bar gap)) - -(defproc (stop-signs-icon-pict [height (>=/c 0) (default-icon-height)] - [style icon-style/c (default-icon-style)]) pict? - (define h (* 2/3 height)) - (define s1 (inset (stop-sign-icon-pict h style) (* 1/4 h) (* 1/2 h) 0 0)) - (define s2 (inset (stop-sign-icon-pict h style) (* 1/8 h) (* 1/4 h) 0 0)) - (define s3 (stop-sign-icon-pict h style)) - (inset (lt-superimpose s3 s2 s1) (* 1/8 h) 0 (* 1/8 h) 0)) - -;; =================================================================================================== -;; Icon contructors - -(define-syntax (define-make-colorized-icon stx) - (syntax-case stx () - [(_ f ...) - (with-syntax ([(f-pict ...) (map (λ (f) (format-id f "~a-pict" f)) - (syntax->list #'(f ...)))]) - (syntax/loc stx - (begin (defproc (f [color icon-color/c] - [height (>=/c 0) (default-icon-height)] - [style icon-style/c (default-icon-style)]) (is-a?/c bitmap%) - (pict->bitmap (f-pict color height style))) - ...)))])) - -(define-syntax (define-make-icon stx) - (syntax-case stx () - [(_ f ...) - (with-syntax ([(f-pict ...) (map (λ (f) (format-id f "~a-pict" f)) - (syntax->list #'(f ...)))]) - (syntax/loc stx - (begin (defproc (f [height (>=/c 0) (default-icon-height)] - [style icon-style/c (default-icon-style)]) (is-a?/c bitmap%) - (pict->bitmap (f-pict height style))) - ...)))])) - -(define-make-colorized-icon - go-icon - bar-icon - back-icon - stop-icon - record-icon - step-icon - step-back-icon - continue-icon - continue-back-icon - fast-forward-icon - rewind-icon - pause-icon - check-icon - x-icon - disk-icon - standing-icon - running-icon - plus-icon - times-icon - up-arrow-icon - down-arrow-icon - left-arrow-icon - right-arrow-icon - ) - -(define-make-icon - stop-sign-icon - stop-signs-icon - magnifying-glass-icon - magnifying-glass-left-icon - earth-icon - moon-icon - hash-quote-icon - plt-logo - planet-logo - ) diff --git a/collects/icons/private/svg/arrow/16/black/down-diffuse.png b/collects/icons/private/svg/arrow/16/black/down-diffuse.png deleted file mode 100644 index 38017c267d..0000000000 Binary files a/collects/icons/private/svg/arrow/16/black/down-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/black/down-shiny.png b/collects/icons/private/svg/arrow/16/black/down-shiny.png deleted file mode 100644 index 03961cd67a..0000000000 Binary files a/collects/icons/private/svg/arrow/16/black/down-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/black/right-diffuse.png b/collects/icons/private/svg/arrow/16/black/right-diffuse.png deleted file mode 100644 index 37bd29067a..0000000000 Binary files a/collects/icons/private/svg/arrow/16/black/right-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/black/right-over-diffuse.png b/collects/icons/private/svg/arrow/16/black/right-over-diffuse.png deleted file mode 100644 index c6640065c0..0000000000 Binary files a/collects/icons/private/svg/arrow/16/black/right-over-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/black/right-over-shiny.png b/collects/icons/private/svg/arrow/16/black/right-over-shiny.png deleted file mode 100644 index c38c346b2d..0000000000 Binary files a/collects/icons/private/svg/arrow/16/black/right-over-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/black/right-shiny.png b/collects/icons/private/svg/arrow/16/black/right-shiny.png deleted file mode 100644 index 7e0738b367..0000000000 Binary files a/collects/icons/private/svg/arrow/16/black/right-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/black/up-diffuse.png b/collects/icons/private/svg/arrow/16/black/up-diffuse.png deleted file mode 100644 index 734367c704..0000000000 Binary files a/collects/icons/private/svg/arrow/16/black/up-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/black/up-shiny.png b/collects/icons/private/svg/arrow/16/black/up-shiny.png deleted file mode 100644 index 04786a8075..0000000000 Binary files a/collects/icons/private/svg/arrow/16/black/up-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/blue/down-diffuse.png b/collects/icons/private/svg/arrow/16/blue/down-diffuse.png deleted file mode 100644 index bcb9e88d27..0000000000 Binary files a/collects/icons/private/svg/arrow/16/blue/down-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/blue/down-shiny.png b/collects/icons/private/svg/arrow/16/blue/down-shiny.png deleted file mode 100644 index 9afcabede9..0000000000 Binary files a/collects/icons/private/svg/arrow/16/blue/down-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/blue/right-diffuse.png b/collects/icons/private/svg/arrow/16/blue/right-diffuse.png deleted file mode 100644 index 4ddc884b45..0000000000 Binary files a/collects/icons/private/svg/arrow/16/blue/right-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/blue/right-over-diffuse.png b/collects/icons/private/svg/arrow/16/blue/right-over-diffuse.png deleted file mode 100644 index 4055aca351..0000000000 Binary files a/collects/icons/private/svg/arrow/16/blue/right-over-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/blue/right-over-shiny.png b/collects/icons/private/svg/arrow/16/blue/right-over-shiny.png deleted file mode 100644 index ed6d25b88d..0000000000 Binary files a/collects/icons/private/svg/arrow/16/blue/right-over-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/blue/right-shiny.png b/collects/icons/private/svg/arrow/16/blue/right-shiny.png deleted file mode 100644 index 67bc232256..0000000000 Binary files a/collects/icons/private/svg/arrow/16/blue/right-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/blue/up-diffuse.png b/collects/icons/private/svg/arrow/16/blue/up-diffuse.png deleted file mode 100644 index b83f9d898a..0000000000 Binary files a/collects/icons/private/svg/arrow/16/blue/up-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/blue/up-shiny.png b/collects/icons/private/svg/arrow/16/blue/up-shiny.png deleted file mode 100644 index 2a177495cb..0000000000 Binary files a/collects/icons/private/svg/arrow/16/blue/up-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/cyan/down-diffuse.png b/collects/icons/private/svg/arrow/16/cyan/down-diffuse.png deleted file mode 100644 index 766e4f8847..0000000000 Binary files a/collects/icons/private/svg/arrow/16/cyan/down-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/cyan/down-shiny.png b/collects/icons/private/svg/arrow/16/cyan/down-shiny.png deleted file mode 100644 index 422828733f..0000000000 Binary files a/collects/icons/private/svg/arrow/16/cyan/down-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/cyan/right-diffuse.png b/collects/icons/private/svg/arrow/16/cyan/right-diffuse.png deleted file mode 100644 index f0c5cdc59e..0000000000 Binary files a/collects/icons/private/svg/arrow/16/cyan/right-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/cyan/right-over-diffuse.png b/collects/icons/private/svg/arrow/16/cyan/right-over-diffuse.png deleted file mode 100644 index aea3c1ebde..0000000000 Binary files a/collects/icons/private/svg/arrow/16/cyan/right-over-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/cyan/right-over-shiny.png b/collects/icons/private/svg/arrow/16/cyan/right-over-shiny.png deleted file mode 100644 index 6e03f09894..0000000000 Binary files a/collects/icons/private/svg/arrow/16/cyan/right-over-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/cyan/right-shiny.png b/collects/icons/private/svg/arrow/16/cyan/right-shiny.png deleted file mode 100644 index e7c559d5fc..0000000000 Binary files a/collects/icons/private/svg/arrow/16/cyan/right-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/cyan/up-diffuse.png b/collects/icons/private/svg/arrow/16/cyan/up-diffuse.png deleted file mode 100644 index 3bc6ad4fff..0000000000 Binary files a/collects/icons/private/svg/arrow/16/cyan/up-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/cyan/up-shiny.png b/collects/icons/private/svg/arrow/16/cyan/up-shiny.png deleted file mode 100644 index ef0183658a..0000000000 Binary files a/collects/icons/private/svg/arrow/16/cyan/up-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/down-diffuse.png b/collects/icons/private/svg/arrow/16/down-diffuse.png deleted file mode 100644 index 5795e78b4e..0000000000 Binary files a/collects/icons/private/svg/arrow/16/down-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/down-shiny.png b/collects/icons/private/svg/arrow/16/down-shiny.png deleted file mode 100644 index 028d2b32f9..0000000000 Binary files a/collects/icons/private/svg/arrow/16/down-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/green/down-diffuse.png b/collects/icons/private/svg/arrow/16/green/down-diffuse.png deleted file mode 100644 index 2223ed5f69..0000000000 Binary files a/collects/icons/private/svg/arrow/16/green/down-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/green/down-shiny.png b/collects/icons/private/svg/arrow/16/green/down-shiny.png deleted file mode 100644 index 2db5377bc2..0000000000 Binary files a/collects/icons/private/svg/arrow/16/green/down-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/green/right-diffuse.png b/collects/icons/private/svg/arrow/16/green/right-diffuse.png deleted file mode 100644 index 6b5936861f..0000000000 Binary files a/collects/icons/private/svg/arrow/16/green/right-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/green/right-over-diffuse.png b/collects/icons/private/svg/arrow/16/green/right-over-diffuse.png deleted file mode 100644 index c826ee9bbb..0000000000 Binary files a/collects/icons/private/svg/arrow/16/green/right-over-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/green/right-over-shiny.png b/collects/icons/private/svg/arrow/16/green/right-over-shiny.png deleted file mode 100644 index fadd8b72b3..0000000000 Binary files a/collects/icons/private/svg/arrow/16/green/right-over-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/green/right-shiny.png b/collects/icons/private/svg/arrow/16/green/right-shiny.png deleted file mode 100644 index a2da590def..0000000000 Binary files a/collects/icons/private/svg/arrow/16/green/right-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/green/up-diffuse.png b/collects/icons/private/svg/arrow/16/green/up-diffuse.png deleted file mode 100644 index 5281b042eb..0000000000 Binary files a/collects/icons/private/svg/arrow/16/green/up-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/green/up-shiny.png b/collects/icons/private/svg/arrow/16/green/up-shiny.png deleted file mode 100644 index 18ec47a25b..0000000000 Binary files a/collects/icons/private/svg/arrow/16/green/up-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/orange/down-diffuse.png b/collects/icons/private/svg/arrow/16/orange/down-diffuse.png deleted file mode 100644 index 785706f501..0000000000 Binary files a/collects/icons/private/svg/arrow/16/orange/down-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/orange/down-shiny.png b/collects/icons/private/svg/arrow/16/orange/down-shiny.png deleted file mode 100644 index bbf94a4114..0000000000 Binary files a/collects/icons/private/svg/arrow/16/orange/down-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/orange/right-diffuse.png b/collects/icons/private/svg/arrow/16/orange/right-diffuse.png deleted file mode 100644 index aaf4e5f287..0000000000 Binary files a/collects/icons/private/svg/arrow/16/orange/right-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/orange/right-over-diffuse.png b/collects/icons/private/svg/arrow/16/orange/right-over-diffuse.png deleted file mode 100644 index b40112400b..0000000000 Binary files a/collects/icons/private/svg/arrow/16/orange/right-over-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/orange/right-over-shiny.png b/collects/icons/private/svg/arrow/16/orange/right-over-shiny.png deleted file mode 100644 index a2861c1eb8..0000000000 Binary files a/collects/icons/private/svg/arrow/16/orange/right-over-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/orange/right-shiny.png b/collects/icons/private/svg/arrow/16/orange/right-shiny.png deleted file mode 100644 index 6ae0e60a9c..0000000000 Binary files a/collects/icons/private/svg/arrow/16/orange/right-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/orange/up-diffuse.png b/collects/icons/private/svg/arrow/16/orange/up-diffuse.png deleted file mode 100644 index 72bfb46427..0000000000 Binary files a/collects/icons/private/svg/arrow/16/orange/up-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/orange/up-shiny.png b/collects/icons/private/svg/arrow/16/orange/up-shiny.png deleted file mode 100644 index c666374d51..0000000000 Binary files a/collects/icons/private/svg/arrow/16/orange/up-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/purple/down-diffuse.png b/collects/icons/private/svg/arrow/16/purple/down-diffuse.png deleted file mode 100644 index 0fd4d9816e..0000000000 Binary files a/collects/icons/private/svg/arrow/16/purple/down-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/purple/down-shiny.png b/collects/icons/private/svg/arrow/16/purple/down-shiny.png deleted file mode 100644 index 80e3dabf9d..0000000000 Binary files a/collects/icons/private/svg/arrow/16/purple/down-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/purple/right-diffuse.png b/collects/icons/private/svg/arrow/16/purple/right-diffuse.png deleted file mode 100644 index 8a30403529..0000000000 Binary files a/collects/icons/private/svg/arrow/16/purple/right-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/purple/right-over-diffuse.png b/collects/icons/private/svg/arrow/16/purple/right-over-diffuse.png deleted file mode 100644 index 66f6ce6bd3..0000000000 Binary files a/collects/icons/private/svg/arrow/16/purple/right-over-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/purple/right-over-shiny.png b/collects/icons/private/svg/arrow/16/purple/right-over-shiny.png deleted file mode 100644 index f19825a671..0000000000 Binary files a/collects/icons/private/svg/arrow/16/purple/right-over-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/purple/right-shiny.png b/collects/icons/private/svg/arrow/16/purple/right-shiny.png deleted file mode 100644 index 70352d8cd6..0000000000 Binary files a/collects/icons/private/svg/arrow/16/purple/right-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/purple/up-diffuse.png b/collects/icons/private/svg/arrow/16/purple/up-diffuse.png deleted file mode 100644 index e18e38cf0b..0000000000 Binary files a/collects/icons/private/svg/arrow/16/purple/up-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/purple/up-shiny.png b/collects/icons/private/svg/arrow/16/purple/up-shiny.png deleted file mode 100644 index bf0ea2ec10..0000000000 Binary files a/collects/icons/private/svg/arrow/16/purple/up-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/red/down-diffuse.png b/collects/icons/private/svg/arrow/16/red/down-diffuse.png deleted file mode 100644 index fbdf854ffb..0000000000 Binary files a/collects/icons/private/svg/arrow/16/red/down-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/red/down-shiny.png b/collects/icons/private/svg/arrow/16/red/down-shiny.png deleted file mode 100644 index bc274440ac..0000000000 Binary files a/collects/icons/private/svg/arrow/16/red/down-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/red/right-diffuse.png b/collects/icons/private/svg/arrow/16/red/right-diffuse.png deleted file mode 100644 index fe3828333a..0000000000 Binary files a/collects/icons/private/svg/arrow/16/red/right-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/red/right-over-diffuse.png b/collects/icons/private/svg/arrow/16/red/right-over-diffuse.png deleted file mode 100644 index 80296a963e..0000000000 Binary files a/collects/icons/private/svg/arrow/16/red/right-over-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/red/right-over-shiny.png b/collects/icons/private/svg/arrow/16/red/right-over-shiny.png deleted file mode 100644 index c250079ec8..0000000000 Binary files a/collects/icons/private/svg/arrow/16/red/right-over-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/red/right-shiny.png b/collects/icons/private/svg/arrow/16/red/right-shiny.png deleted file mode 100644 index 4cead2c35b..0000000000 Binary files a/collects/icons/private/svg/arrow/16/red/right-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/red/up-diffuse.png b/collects/icons/private/svg/arrow/16/red/up-diffuse.png deleted file mode 100644 index 4413482e06..0000000000 Binary files a/collects/icons/private/svg/arrow/16/red/up-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/red/up-shiny.png b/collects/icons/private/svg/arrow/16/red/up-shiny.png deleted file mode 100644 index c7f4f23baa..0000000000 Binary files a/collects/icons/private/svg/arrow/16/red/up-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/right-diffuse.png b/collects/icons/private/svg/arrow/16/right-diffuse.png deleted file mode 100644 index bce3a4bee9..0000000000 Binary files a/collects/icons/private/svg/arrow/16/right-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/right-over-diffuse.png b/collects/icons/private/svg/arrow/16/right-over-diffuse.png deleted file mode 100644 index 26a74dcae8..0000000000 Binary files a/collects/icons/private/svg/arrow/16/right-over-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/right-over-shiny.png b/collects/icons/private/svg/arrow/16/right-over-shiny.png deleted file mode 100644 index 59ab5f3014..0000000000 Binary files a/collects/icons/private/svg/arrow/16/right-over-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/right-shiny.png b/collects/icons/private/svg/arrow/16/right-shiny.png deleted file mode 100644 index 0376e76e00..0000000000 Binary files a/collects/icons/private/svg/arrow/16/right-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/up-diffuse.png b/collects/icons/private/svg/arrow/16/up-diffuse.png deleted file mode 100644 index 9ecf9b5443..0000000000 Binary files a/collects/icons/private/svg/arrow/16/up-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/up-shiny.png b/collects/icons/private/svg/arrow/16/up-shiny.png deleted file mode 100644 index a503fde07e..0000000000 Binary files a/collects/icons/private/svg/arrow/16/up-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/white/down-diffuse.png b/collects/icons/private/svg/arrow/16/white/down-diffuse.png deleted file mode 100644 index 43ed602c9a..0000000000 Binary files a/collects/icons/private/svg/arrow/16/white/down-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/white/down-shiny.png b/collects/icons/private/svg/arrow/16/white/down-shiny.png deleted file mode 100644 index 697d9fc684..0000000000 Binary files a/collects/icons/private/svg/arrow/16/white/down-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/white/right-diffuse.png b/collects/icons/private/svg/arrow/16/white/right-diffuse.png deleted file mode 100644 index bef35863a6..0000000000 Binary files a/collects/icons/private/svg/arrow/16/white/right-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/white/right-over-diffuse.png b/collects/icons/private/svg/arrow/16/white/right-over-diffuse.png deleted file mode 100644 index 07c6284d55..0000000000 Binary files a/collects/icons/private/svg/arrow/16/white/right-over-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/white/right-over-shiny.png b/collects/icons/private/svg/arrow/16/white/right-over-shiny.png deleted file mode 100644 index d17088cb7f..0000000000 Binary files a/collects/icons/private/svg/arrow/16/white/right-over-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/white/right-shiny.png b/collects/icons/private/svg/arrow/16/white/right-shiny.png deleted file mode 100644 index 1810d302ea..0000000000 Binary files a/collects/icons/private/svg/arrow/16/white/right-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/white/up-diffuse.png b/collects/icons/private/svg/arrow/16/white/up-diffuse.png deleted file mode 100644 index f57ddc3f7c..0000000000 Binary files a/collects/icons/private/svg/arrow/16/white/up-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/16/white/up-shiny.png b/collects/icons/private/svg/arrow/16/white/up-shiny.png deleted file mode 100644 index 3e68a934fc..0000000000 Binary files a/collects/icons/private/svg/arrow/16/white/up-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/black/down-diffuse.png b/collects/icons/private/svg/arrow/32/black/down-diffuse.png deleted file mode 100644 index 72b265a45a..0000000000 Binary files a/collects/icons/private/svg/arrow/32/black/down-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/black/down-shiny.png b/collects/icons/private/svg/arrow/32/black/down-shiny.png deleted file mode 100644 index 52de47cfb0..0000000000 Binary files a/collects/icons/private/svg/arrow/32/black/down-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/black/right-diffuse.png b/collects/icons/private/svg/arrow/32/black/right-diffuse.png deleted file mode 100644 index 581c52875a..0000000000 Binary files a/collects/icons/private/svg/arrow/32/black/right-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/black/right-over-diffuse.png b/collects/icons/private/svg/arrow/32/black/right-over-diffuse.png deleted file mode 100644 index 91fd1d4cb5..0000000000 Binary files a/collects/icons/private/svg/arrow/32/black/right-over-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/black/right-over-shiny.png b/collects/icons/private/svg/arrow/32/black/right-over-shiny.png deleted file mode 100644 index c76d8527f7..0000000000 Binary files a/collects/icons/private/svg/arrow/32/black/right-over-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/black/right-shiny.png b/collects/icons/private/svg/arrow/32/black/right-shiny.png deleted file mode 100644 index a1f5bb9e8a..0000000000 Binary files a/collects/icons/private/svg/arrow/32/black/right-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/black/up-diffuse.png b/collects/icons/private/svg/arrow/32/black/up-diffuse.png deleted file mode 100644 index 7dcf42b778..0000000000 Binary files a/collects/icons/private/svg/arrow/32/black/up-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/black/up-shiny.png b/collects/icons/private/svg/arrow/32/black/up-shiny.png deleted file mode 100644 index 17f2c99d05..0000000000 Binary files a/collects/icons/private/svg/arrow/32/black/up-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/blue/down-diffuse.png b/collects/icons/private/svg/arrow/32/blue/down-diffuse.png deleted file mode 100644 index ad60a44c71..0000000000 Binary files a/collects/icons/private/svg/arrow/32/blue/down-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/blue/down-shiny.png b/collects/icons/private/svg/arrow/32/blue/down-shiny.png deleted file mode 100644 index 466df3bf1d..0000000000 Binary files a/collects/icons/private/svg/arrow/32/blue/down-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/blue/right-diffuse.png b/collects/icons/private/svg/arrow/32/blue/right-diffuse.png deleted file mode 100644 index fa44d2af43..0000000000 Binary files a/collects/icons/private/svg/arrow/32/blue/right-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/blue/right-over-diffuse.png b/collects/icons/private/svg/arrow/32/blue/right-over-diffuse.png deleted file mode 100644 index f5858e5bc6..0000000000 Binary files a/collects/icons/private/svg/arrow/32/blue/right-over-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/blue/right-over-shiny.png b/collects/icons/private/svg/arrow/32/blue/right-over-shiny.png deleted file mode 100644 index 5af660e932..0000000000 Binary files a/collects/icons/private/svg/arrow/32/blue/right-over-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/blue/right-shiny.png b/collects/icons/private/svg/arrow/32/blue/right-shiny.png deleted file mode 100644 index 88951a629c..0000000000 Binary files a/collects/icons/private/svg/arrow/32/blue/right-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/blue/up-diffuse.png b/collects/icons/private/svg/arrow/32/blue/up-diffuse.png deleted file mode 100644 index 3ccc890518..0000000000 Binary files a/collects/icons/private/svg/arrow/32/blue/up-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/blue/up-shiny.png b/collects/icons/private/svg/arrow/32/blue/up-shiny.png deleted file mode 100644 index dfca38bb8c..0000000000 Binary files a/collects/icons/private/svg/arrow/32/blue/up-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/cyan/down-diffuse.png b/collects/icons/private/svg/arrow/32/cyan/down-diffuse.png deleted file mode 100644 index db5f06716c..0000000000 Binary files a/collects/icons/private/svg/arrow/32/cyan/down-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/cyan/down-shiny.png b/collects/icons/private/svg/arrow/32/cyan/down-shiny.png deleted file mode 100644 index 5ef46dc174..0000000000 Binary files a/collects/icons/private/svg/arrow/32/cyan/down-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/cyan/right-diffuse.png b/collects/icons/private/svg/arrow/32/cyan/right-diffuse.png deleted file mode 100644 index f82cf16d95..0000000000 Binary files a/collects/icons/private/svg/arrow/32/cyan/right-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/cyan/right-over-diffuse.png b/collects/icons/private/svg/arrow/32/cyan/right-over-diffuse.png deleted file mode 100644 index 232ffc5a88..0000000000 Binary files a/collects/icons/private/svg/arrow/32/cyan/right-over-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/cyan/right-over-shiny.png b/collects/icons/private/svg/arrow/32/cyan/right-over-shiny.png deleted file mode 100644 index 4521a6152c..0000000000 Binary files a/collects/icons/private/svg/arrow/32/cyan/right-over-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/cyan/right-shiny.png b/collects/icons/private/svg/arrow/32/cyan/right-shiny.png deleted file mode 100644 index 0676efe9a0..0000000000 Binary files a/collects/icons/private/svg/arrow/32/cyan/right-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/cyan/up-diffuse.png b/collects/icons/private/svg/arrow/32/cyan/up-diffuse.png deleted file mode 100644 index e36b44f56c..0000000000 Binary files a/collects/icons/private/svg/arrow/32/cyan/up-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/cyan/up-shiny.png b/collects/icons/private/svg/arrow/32/cyan/up-shiny.png deleted file mode 100644 index 63f477ac86..0000000000 Binary files a/collects/icons/private/svg/arrow/32/cyan/up-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/down-diffuse.png b/collects/icons/private/svg/arrow/32/down-diffuse.png deleted file mode 100644 index 7fade7a83f..0000000000 Binary files a/collects/icons/private/svg/arrow/32/down-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/down-shiny.png b/collects/icons/private/svg/arrow/32/down-shiny.png deleted file mode 100644 index 752acd34bf..0000000000 Binary files a/collects/icons/private/svg/arrow/32/down-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/green/down-diffuse.png b/collects/icons/private/svg/arrow/32/green/down-diffuse.png deleted file mode 100644 index 6bb0c92fd8..0000000000 Binary files a/collects/icons/private/svg/arrow/32/green/down-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/green/down-shiny.png b/collects/icons/private/svg/arrow/32/green/down-shiny.png deleted file mode 100644 index 6b6f30c911..0000000000 Binary files a/collects/icons/private/svg/arrow/32/green/down-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/green/right-diffuse.png b/collects/icons/private/svg/arrow/32/green/right-diffuse.png deleted file mode 100644 index 12f020f5f9..0000000000 Binary files a/collects/icons/private/svg/arrow/32/green/right-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/green/right-over-diffuse.png b/collects/icons/private/svg/arrow/32/green/right-over-diffuse.png deleted file mode 100644 index e36289b725..0000000000 Binary files a/collects/icons/private/svg/arrow/32/green/right-over-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/green/right-over-shiny.png b/collects/icons/private/svg/arrow/32/green/right-over-shiny.png deleted file mode 100644 index 45a3e99ea2..0000000000 Binary files a/collects/icons/private/svg/arrow/32/green/right-over-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/green/right-shiny.png b/collects/icons/private/svg/arrow/32/green/right-shiny.png deleted file mode 100644 index d23a966020..0000000000 Binary files a/collects/icons/private/svg/arrow/32/green/right-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/green/up-diffuse.png b/collects/icons/private/svg/arrow/32/green/up-diffuse.png deleted file mode 100644 index b3d96f6ea8..0000000000 Binary files a/collects/icons/private/svg/arrow/32/green/up-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/green/up-shiny.png b/collects/icons/private/svg/arrow/32/green/up-shiny.png deleted file mode 100644 index f692ecd216..0000000000 Binary files a/collects/icons/private/svg/arrow/32/green/up-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/orange/down-diffuse.png b/collects/icons/private/svg/arrow/32/orange/down-diffuse.png deleted file mode 100644 index 1a7e5256fc..0000000000 Binary files a/collects/icons/private/svg/arrow/32/orange/down-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/orange/down-shiny.png b/collects/icons/private/svg/arrow/32/orange/down-shiny.png deleted file mode 100644 index e8be1d52c5..0000000000 Binary files a/collects/icons/private/svg/arrow/32/orange/down-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/orange/right-diffuse.png b/collects/icons/private/svg/arrow/32/orange/right-diffuse.png deleted file mode 100644 index ec5201745e..0000000000 Binary files a/collects/icons/private/svg/arrow/32/orange/right-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/orange/right-over-diffuse.png b/collects/icons/private/svg/arrow/32/orange/right-over-diffuse.png deleted file mode 100644 index 2a6fc3805f..0000000000 Binary files a/collects/icons/private/svg/arrow/32/orange/right-over-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/orange/right-over-shiny.png b/collects/icons/private/svg/arrow/32/orange/right-over-shiny.png deleted file mode 100644 index 4d5adf9e65..0000000000 Binary files a/collects/icons/private/svg/arrow/32/orange/right-over-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/orange/right-shiny.png b/collects/icons/private/svg/arrow/32/orange/right-shiny.png deleted file mode 100644 index 6115caa655..0000000000 Binary files a/collects/icons/private/svg/arrow/32/orange/right-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/orange/up-diffuse.png b/collects/icons/private/svg/arrow/32/orange/up-diffuse.png deleted file mode 100644 index df22fc0a24..0000000000 Binary files a/collects/icons/private/svg/arrow/32/orange/up-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/orange/up-shiny.png b/collects/icons/private/svg/arrow/32/orange/up-shiny.png deleted file mode 100644 index e23020f55f..0000000000 Binary files a/collects/icons/private/svg/arrow/32/orange/up-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/purple/down-diffuse.png b/collects/icons/private/svg/arrow/32/purple/down-diffuse.png deleted file mode 100644 index 1280eeae1f..0000000000 Binary files a/collects/icons/private/svg/arrow/32/purple/down-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/purple/down-shiny.png b/collects/icons/private/svg/arrow/32/purple/down-shiny.png deleted file mode 100644 index 8902712477..0000000000 Binary files a/collects/icons/private/svg/arrow/32/purple/down-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/purple/right-diffuse.png b/collects/icons/private/svg/arrow/32/purple/right-diffuse.png deleted file mode 100644 index f35cdbb8fb..0000000000 Binary files a/collects/icons/private/svg/arrow/32/purple/right-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/purple/right-over-diffuse.png b/collects/icons/private/svg/arrow/32/purple/right-over-diffuse.png deleted file mode 100644 index bc751541e8..0000000000 Binary files a/collects/icons/private/svg/arrow/32/purple/right-over-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/purple/right-over-shiny.png b/collects/icons/private/svg/arrow/32/purple/right-over-shiny.png deleted file mode 100644 index 21c325ee40..0000000000 Binary files a/collects/icons/private/svg/arrow/32/purple/right-over-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/purple/right-shiny.png b/collects/icons/private/svg/arrow/32/purple/right-shiny.png deleted file mode 100644 index 3d06ecc3a8..0000000000 Binary files a/collects/icons/private/svg/arrow/32/purple/right-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/purple/up-diffuse.png b/collects/icons/private/svg/arrow/32/purple/up-diffuse.png deleted file mode 100644 index 82767ff243..0000000000 Binary files a/collects/icons/private/svg/arrow/32/purple/up-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/purple/up-shiny.png b/collects/icons/private/svg/arrow/32/purple/up-shiny.png deleted file mode 100644 index e45f4d9e6f..0000000000 Binary files a/collects/icons/private/svg/arrow/32/purple/up-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/red/down-diffuse.png b/collects/icons/private/svg/arrow/32/red/down-diffuse.png deleted file mode 100644 index 86f8ae1980..0000000000 Binary files a/collects/icons/private/svg/arrow/32/red/down-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/red/down-shiny.png b/collects/icons/private/svg/arrow/32/red/down-shiny.png deleted file mode 100644 index 8c8330a225..0000000000 Binary files a/collects/icons/private/svg/arrow/32/red/down-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/red/right-diffuse.png b/collects/icons/private/svg/arrow/32/red/right-diffuse.png deleted file mode 100644 index 38e9152512..0000000000 Binary files a/collects/icons/private/svg/arrow/32/red/right-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/red/right-over-diffuse.png b/collects/icons/private/svg/arrow/32/red/right-over-diffuse.png deleted file mode 100644 index dc1b9180d5..0000000000 Binary files a/collects/icons/private/svg/arrow/32/red/right-over-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/red/right-over-shiny.png b/collects/icons/private/svg/arrow/32/red/right-over-shiny.png deleted file mode 100644 index 6649b507ef..0000000000 Binary files a/collects/icons/private/svg/arrow/32/red/right-over-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/red/right-shiny.png b/collects/icons/private/svg/arrow/32/red/right-shiny.png deleted file mode 100644 index 95009e031f..0000000000 Binary files a/collects/icons/private/svg/arrow/32/red/right-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/red/up-diffuse.png b/collects/icons/private/svg/arrow/32/red/up-diffuse.png deleted file mode 100644 index 237002ba08..0000000000 Binary files a/collects/icons/private/svg/arrow/32/red/up-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/red/up-shiny.png b/collects/icons/private/svg/arrow/32/red/up-shiny.png deleted file mode 100644 index 36ca9b1f51..0000000000 Binary files a/collects/icons/private/svg/arrow/32/red/up-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/right-diffuse.png b/collects/icons/private/svg/arrow/32/right-diffuse.png deleted file mode 100644 index eb1cd7b49a..0000000000 Binary files a/collects/icons/private/svg/arrow/32/right-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/right-over-diffuse.png b/collects/icons/private/svg/arrow/32/right-over-diffuse.png deleted file mode 100644 index b54d0ed0be..0000000000 Binary files a/collects/icons/private/svg/arrow/32/right-over-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/right-over-shiny.png b/collects/icons/private/svg/arrow/32/right-over-shiny.png deleted file mode 100644 index df3af27847..0000000000 Binary files a/collects/icons/private/svg/arrow/32/right-over-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/right-shiny.png b/collects/icons/private/svg/arrow/32/right-shiny.png deleted file mode 100644 index 1cf9bac50d..0000000000 Binary files a/collects/icons/private/svg/arrow/32/right-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/up-diffuse.png b/collects/icons/private/svg/arrow/32/up-diffuse.png deleted file mode 100644 index 2ad560c442..0000000000 Binary files a/collects/icons/private/svg/arrow/32/up-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/up-shiny.png b/collects/icons/private/svg/arrow/32/up-shiny.png deleted file mode 100644 index 8eaaa28e79..0000000000 Binary files a/collects/icons/private/svg/arrow/32/up-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/white/down-diffuse.png b/collects/icons/private/svg/arrow/32/white/down-diffuse.png deleted file mode 100644 index 79c095e4f6..0000000000 Binary files a/collects/icons/private/svg/arrow/32/white/down-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/white/down-shiny.png b/collects/icons/private/svg/arrow/32/white/down-shiny.png deleted file mode 100644 index 8770e8d7be..0000000000 Binary files a/collects/icons/private/svg/arrow/32/white/down-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/white/right-diffuse.png b/collects/icons/private/svg/arrow/32/white/right-diffuse.png deleted file mode 100644 index 89d7898223..0000000000 Binary files a/collects/icons/private/svg/arrow/32/white/right-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/white/right-over-diffuse.png b/collects/icons/private/svg/arrow/32/white/right-over-diffuse.png deleted file mode 100644 index 2fa4c1b1ae..0000000000 Binary files a/collects/icons/private/svg/arrow/32/white/right-over-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/white/right-over-shiny.png b/collects/icons/private/svg/arrow/32/white/right-over-shiny.png deleted file mode 100644 index 0776644c2f..0000000000 Binary files a/collects/icons/private/svg/arrow/32/white/right-over-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/white/right-shiny.png b/collects/icons/private/svg/arrow/32/white/right-shiny.png deleted file mode 100644 index 845c81855e..0000000000 Binary files a/collects/icons/private/svg/arrow/32/white/right-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/white/up-diffuse.png b/collects/icons/private/svg/arrow/32/white/up-diffuse.png deleted file mode 100644 index 7baa05234a..0000000000 Binary files a/collects/icons/private/svg/arrow/32/white/up-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/32/white/up-shiny.png b/collects/icons/private/svg/arrow/32/white/up-shiny.png deleted file mode 100644 index 5da38ee105..0000000000 Binary files a/collects/icons/private/svg/arrow/32/white/up-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/black/down-diffuse.png b/collects/icons/private/svg/arrow/64/black/down-diffuse.png deleted file mode 100644 index 02c7e1f204..0000000000 Binary files a/collects/icons/private/svg/arrow/64/black/down-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/black/down-shiny.png b/collects/icons/private/svg/arrow/64/black/down-shiny.png deleted file mode 100644 index cb30a9fb1c..0000000000 Binary files a/collects/icons/private/svg/arrow/64/black/down-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/black/right-diffuse.png b/collects/icons/private/svg/arrow/64/black/right-diffuse.png deleted file mode 100644 index 6c1d9cd09a..0000000000 Binary files a/collects/icons/private/svg/arrow/64/black/right-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/black/right-over-diffuse.png b/collects/icons/private/svg/arrow/64/black/right-over-diffuse.png deleted file mode 100644 index b5380a09bf..0000000000 Binary files a/collects/icons/private/svg/arrow/64/black/right-over-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/black/right-over-shiny.png b/collects/icons/private/svg/arrow/64/black/right-over-shiny.png deleted file mode 100644 index f518c0d476..0000000000 Binary files a/collects/icons/private/svg/arrow/64/black/right-over-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/black/right-shiny.png b/collects/icons/private/svg/arrow/64/black/right-shiny.png deleted file mode 100644 index aaab466f25..0000000000 Binary files a/collects/icons/private/svg/arrow/64/black/right-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/black/up-diffuse.png b/collects/icons/private/svg/arrow/64/black/up-diffuse.png deleted file mode 100644 index b93d2ee65e..0000000000 Binary files a/collects/icons/private/svg/arrow/64/black/up-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/black/up-shiny.png b/collects/icons/private/svg/arrow/64/black/up-shiny.png deleted file mode 100644 index c4e699c5b1..0000000000 Binary files a/collects/icons/private/svg/arrow/64/black/up-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/blue/down-diffuse.png b/collects/icons/private/svg/arrow/64/blue/down-diffuse.png deleted file mode 100644 index 11fd0eccce..0000000000 Binary files a/collects/icons/private/svg/arrow/64/blue/down-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/blue/down-shiny.png b/collects/icons/private/svg/arrow/64/blue/down-shiny.png deleted file mode 100644 index 3c195ee978..0000000000 Binary files a/collects/icons/private/svg/arrow/64/blue/down-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/blue/right-diffuse.png b/collects/icons/private/svg/arrow/64/blue/right-diffuse.png deleted file mode 100644 index b7f9a093df..0000000000 Binary files a/collects/icons/private/svg/arrow/64/blue/right-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/blue/right-over-diffuse.png b/collects/icons/private/svg/arrow/64/blue/right-over-diffuse.png deleted file mode 100644 index c11ed2da1c..0000000000 Binary files a/collects/icons/private/svg/arrow/64/blue/right-over-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/blue/right-over-shiny.png b/collects/icons/private/svg/arrow/64/blue/right-over-shiny.png deleted file mode 100644 index cba1e6a379..0000000000 Binary files a/collects/icons/private/svg/arrow/64/blue/right-over-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/blue/right-shiny.png b/collects/icons/private/svg/arrow/64/blue/right-shiny.png deleted file mode 100644 index e1558f4eb0..0000000000 Binary files a/collects/icons/private/svg/arrow/64/blue/right-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/blue/up-diffuse.png b/collects/icons/private/svg/arrow/64/blue/up-diffuse.png deleted file mode 100644 index bd0073b0cc..0000000000 Binary files a/collects/icons/private/svg/arrow/64/blue/up-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/blue/up-shiny.png b/collects/icons/private/svg/arrow/64/blue/up-shiny.png deleted file mode 100644 index 994cd53fe5..0000000000 Binary files a/collects/icons/private/svg/arrow/64/blue/up-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/cyan/down-diffuse.png b/collects/icons/private/svg/arrow/64/cyan/down-diffuse.png deleted file mode 100644 index e4598c1d0c..0000000000 Binary files a/collects/icons/private/svg/arrow/64/cyan/down-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/cyan/down-shiny.png b/collects/icons/private/svg/arrow/64/cyan/down-shiny.png deleted file mode 100644 index a46cd6c994..0000000000 Binary files a/collects/icons/private/svg/arrow/64/cyan/down-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/cyan/right-diffuse.png b/collects/icons/private/svg/arrow/64/cyan/right-diffuse.png deleted file mode 100644 index 1dc70a8f72..0000000000 Binary files a/collects/icons/private/svg/arrow/64/cyan/right-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/cyan/right-over-diffuse.png b/collects/icons/private/svg/arrow/64/cyan/right-over-diffuse.png deleted file mode 100644 index d8a2468214..0000000000 Binary files a/collects/icons/private/svg/arrow/64/cyan/right-over-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/cyan/right-over-shiny.png b/collects/icons/private/svg/arrow/64/cyan/right-over-shiny.png deleted file mode 100644 index 14d19d3b3b..0000000000 Binary files a/collects/icons/private/svg/arrow/64/cyan/right-over-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/cyan/right-shiny.png b/collects/icons/private/svg/arrow/64/cyan/right-shiny.png deleted file mode 100644 index 3b2d84a566..0000000000 Binary files a/collects/icons/private/svg/arrow/64/cyan/right-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/cyan/up-diffuse.png b/collects/icons/private/svg/arrow/64/cyan/up-diffuse.png deleted file mode 100644 index 4a3fb18852..0000000000 Binary files a/collects/icons/private/svg/arrow/64/cyan/up-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/cyan/up-shiny.png b/collects/icons/private/svg/arrow/64/cyan/up-shiny.png deleted file mode 100644 index 752b65fe86..0000000000 Binary files a/collects/icons/private/svg/arrow/64/cyan/up-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/down-diffuse.png b/collects/icons/private/svg/arrow/64/down-diffuse.png deleted file mode 100644 index ecc43f18c4..0000000000 Binary files a/collects/icons/private/svg/arrow/64/down-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/down-shiny.png b/collects/icons/private/svg/arrow/64/down-shiny.png deleted file mode 100644 index 8e97c502fa..0000000000 Binary files a/collects/icons/private/svg/arrow/64/down-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/green/down-diffuse.png b/collects/icons/private/svg/arrow/64/green/down-diffuse.png deleted file mode 100644 index 47743d3de6..0000000000 Binary files a/collects/icons/private/svg/arrow/64/green/down-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/green/down-shiny.png b/collects/icons/private/svg/arrow/64/green/down-shiny.png deleted file mode 100644 index 0bfaca9b2b..0000000000 Binary files a/collects/icons/private/svg/arrow/64/green/down-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/green/right-diffuse.png b/collects/icons/private/svg/arrow/64/green/right-diffuse.png deleted file mode 100644 index bbf5913b3e..0000000000 Binary files a/collects/icons/private/svg/arrow/64/green/right-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/green/right-over-diffuse.png b/collects/icons/private/svg/arrow/64/green/right-over-diffuse.png deleted file mode 100644 index 9457d27818..0000000000 Binary files a/collects/icons/private/svg/arrow/64/green/right-over-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/green/right-over-shiny.png b/collects/icons/private/svg/arrow/64/green/right-over-shiny.png deleted file mode 100644 index 93f3ce155d..0000000000 Binary files a/collects/icons/private/svg/arrow/64/green/right-over-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/green/right-shiny.png b/collects/icons/private/svg/arrow/64/green/right-shiny.png deleted file mode 100644 index 3b3432adfa..0000000000 Binary files a/collects/icons/private/svg/arrow/64/green/right-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/green/up-diffuse.png b/collects/icons/private/svg/arrow/64/green/up-diffuse.png deleted file mode 100644 index 0eb64bd93d..0000000000 Binary files a/collects/icons/private/svg/arrow/64/green/up-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/green/up-shiny.png b/collects/icons/private/svg/arrow/64/green/up-shiny.png deleted file mode 100644 index 0ee2cb45df..0000000000 Binary files a/collects/icons/private/svg/arrow/64/green/up-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/orange/down-diffuse.png b/collects/icons/private/svg/arrow/64/orange/down-diffuse.png deleted file mode 100644 index 94035e3cd2..0000000000 Binary files a/collects/icons/private/svg/arrow/64/orange/down-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/orange/down-shiny.png b/collects/icons/private/svg/arrow/64/orange/down-shiny.png deleted file mode 100644 index 38b105fa1b..0000000000 Binary files a/collects/icons/private/svg/arrow/64/orange/down-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/orange/right-diffuse.png b/collects/icons/private/svg/arrow/64/orange/right-diffuse.png deleted file mode 100644 index 8ca3a15ba0..0000000000 Binary files a/collects/icons/private/svg/arrow/64/orange/right-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/orange/right-over-diffuse.png b/collects/icons/private/svg/arrow/64/orange/right-over-diffuse.png deleted file mode 100644 index c530acbc08..0000000000 Binary files a/collects/icons/private/svg/arrow/64/orange/right-over-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/orange/right-over-shiny.png b/collects/icons/private/svg/arrow/64/orange/right-over-shiny.png deleted file mode 100644 index a34092d3ee..0000000000 Binary files a/collects/icons/private/svg/arrow/64/orange/right-over-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/orange/right-shiny.png b/collects/icons/private/svg/arrow/64/orange/right-shiny.png deleted file mode 100644 index 5b7cb5166d..0000000000 Binary files a/collects/icons/private/svg/arrow/64/orange/right-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/orange/up-diffuse.png b/collects/icons/private/svg/arrow/64/orange/up-diffuse.png deleted file mode 100644 index eb1a5fe614..0000000000 Binary files a/collects/icons/private/svg/arrow/64/orange/up-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/orange/up-shiny.png b/collects/icons/private/svg/arrow/64/orange/up-shiny.png deleted file mode 100644 index 50c8888ada..0000000000 Binary files a/collects/icons/private/svg/arrow/64/orange/up-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/purple/down-diffuse.png b/collects/icons/private/svg/arrow/64/purple/down-diffuse.png deleted file mode 100644 index e1938fa09c..0000000000 Binary files a/collects/icons/private/svg/arrow/64/purple/down-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/purple/down-shiny.png b/collects/icons/private/svg/arrow/64/purple/down-shiny.png deleted file mode 100644 index 0bab1d12d4..0000000000 Binary files a/collects/icons/private/svg/arrow/64/purple/down-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/purple/right-diffuse.png b/collects/icons/private/svg/arrow/64/purple/right-diffuse.png deleted file mode 100644 index fa42a59057..0000000000 Binary files a/collects/icons/private/svg/arrow/64/purple/right-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/purple/right-over-diffuse.png b/collects/icons/private/svg/arrow/64/purple/right-over-diffuse.png deleted file mode 100644 index f3f2873b68..0000000000 Binary files a/collects/icons/private/svg/arrow/64/purple/right-over-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/purple/right-over-shiny.png b/collects/icons/private/svg/arrow/64/purple/right-over-shiny.png deleted file mode 100644 index ab7e1483eb..0000000000 Binary files a/collects/icons/private/svg/arrow/64/purple/right-over-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/purple/right-shiny.png b/collects/icons/private/svg/arrow/64/purple/right-shiny.png deleted file mode 100644 index 0132906341..0000000000 Binary files a/collects/icons/private/svg/arrow/64/purple/right-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/purple/up-diffuse.png b/collects/icons/private/svg/arrow/64/purple/up-diffuse.png deleted file mode 100644 index f0e4391177..0000000000 Binary files a/collects/icons/private/svg/arrow/64/purple/up-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/purple/up-shiny.png b/collects/icons/private/svg/arrow/64/purple/up-shiny.png deleted file mode 100644 index 4920b1c2f1..0000000000 Binary files a/collects/icons/private/svg/arrow/64/purple/up-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/red/down-diffuse.png b/collects/icons/private/svg/arrow/64/red/down-diffuse.png deleted file mode 100644 index 565024c8f6..0000000000 Binary files a/collects/icons/private/svg/arrow/64/red/down-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/red/down-shiny.png b/collects/icons/private/svg/arrow/64/red/down-shiny.png deleted file mode 100644 index 1de681fef8..0000000000 Binary files a/collects/icons/private/svg/arrow/64/red/down-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/red/right-diffuse.png b/collects/icons/private/svg/arrow/64/red/right-diffuse.png deleted file mode 100644 index ebedafebae..0000000000 Binary files a/collects/icons/private/svg/arrow/64/red/right-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/red/right-over-diffuse.png b/collects/icons/private/svg/arrow/64/red/right-over-diffuse.png deleted file mode 100644 index 887759dfb9..0000000000 Binary files a/collects/icons/private/svg/arrow/64/red/right-over-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/red/right-over-shiny.png b/collects/icons/private/svg/arrow/64/red/right-over-shiny.png deleted file mode 100644 index 84a8c600b6..0000000000 Binary files a/collects/icons/private/svg/arrow/64/red/right-over-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/red/right-shiny.png b/collects/icons/private/svg/arrow/64/red/right-shiny.png deleted file mode 100644 index 2a5a25df75..0000000000 Binary files a/collects/icons/private/svg/arrow/64/red/right-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/red/up-diffuse.png b/collects/icons/private/svg/arrow/64/red/up-diffuse.png deleted file mode 100644 index 416105861c..0000000000 Binary files a/collects/icons/private/svg/arrow/64/red/up-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/red/up-shiny.png b/collects/icons/private/svg/arrow/64/red/up-shiny.png deleted file mode 100644 index 1d122cc439..0000000000 Binary files a/collects/icons/private/svg/arrow/64/red/up-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/right-diffuse.png b/collects/icons/private/svg/arrow/64/right-diffuse.png deleted file mode 100644 index 9c672d8420..0000000000 Binary files a/collects/icons/private/svg/arrow/64/right-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/right-over-diffuse.png b/collects/icons/private/svg/arrow/64/right-over-diffuse.png deleted file mode 100644 index 7cbfa72a89..0000000000 Binary files a/collects/icons/private/svg/arrow/64/right-over-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/right-over-shiny.png b/collects/icons/private/svg/arrow/64/right-over-shiny.png deleted file mode 100644 index 4c3c733937..0000000000 Binary files a/collects/icons/private/svg/arrow/64/right-over-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/right-shiny.png b/collects/icons/private/svg/arrow/64/right-shiny.png deleted file mode 100644 index c678e43146..0000000000 Binary files a/collects/icons/private/svg/arrow/64/right-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/up-diffuse.png b/collects/icons/private/svg/arrow/64/up-diffuse.png deleted file mode 100644 index 8c5147fd4e..0000000000 Binary files a/collects/icons/private/svg/arrow/64/up-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/up-shiny.png b/collects/icons/private/svg/arrow/64/up-shiny.png deleted file mode 100644 index bedc7c1481..0000000000 Binary files a/collects/icons/private/svg/arrow/64/up-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/white/down-diffuse.png b/collects/icons/private/svg/arrow/64/white/down-diffuse.png deleted file mode 100644 index beb0b64f75..0000000000 Binary files a/collects/icons/private/svg/arrow/64/white/down-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/white/down-shiny.png b/collects/icons/private/svg/arrow/64/white/down-shiny.png deleted file mode 100644 index 5611f8348a..0000000000 Binary files a/collects/icons/private/svg/arrow/64/white/down-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/white/right-diffuse.png b/collects/icons/private/svg/arrow/64/white/right-diffuse.png deleted file mode 100644 index e86f699081..0000000000 Binary files a/collects/icons/private/svg/arrow/64/white/right-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/white/right-over-diffuse.png b/collects/icons/private/svg/arrow/64/white/right-over-diffuse.png deleted file mode 100644 index d0ea36499e..0000000000 Binary files a/collects/icons/private/svg/arrow/64/white/right-over-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/white/right-over-shiny.png b/collects/icons/private/svg/arrow/64/white/right-over-shiny.png deleted file mode 100644 index b81c81c931..0000000000 Binary files a/collects/icons/private/svg/arrow/64/white/right-over-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/white/right-shiny.png b/collects/icons/private/svg/arrow/64/white/right-shiny.png deleted file mode 100644 index 9d402a9cd4..0000000000 Binary files a/collects/icons/private/svg/arrow/64/white/right-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/white/up-diffuse.png b/collects/icons/private/svg/arrow/64/white/up-diffuse.png deleted file mode 100644 index 21b61c2af6..0000000000 Binary files a/collects/icons/private/svg/arrow/64/white/up-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/64/white/up-shiny.png b/collects/icons/private/svg/arrow/64/white/up-shiny.png deleted file mode 100644 index 672be8f551..0000000000 Binary files a/collects/icons/private/svg/arrow/64/white/up-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/arrow/down-diffuse.svg b/collects/icons/private/svg/arrow/down-diffuse.svg deleted file mode 100644 index 7e28066feb..0000000000 --- a/collects/icons/private/svg/arrow/down-diffuse.svg +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - diff --git a/collects/icons/private/svg/arrow/down-shiny.svg b/collects/icons/private/svg/arrow/down-shiny.svg deleted file mode 100644 index 47d0346d51..0000000000 --- a/collects/icons/private/svg/arrow/down-shiny.svg +++ /dev/null @@ -1,192 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - diff --git a/collects/icons/private/svg/arrow/right-diffuse.svg b/collects/icons/private/svg/arrow/right-diffuse.svg deleted file mode 100644 index 81cbf6e292..0000000000 --- a/collects/icons/private/svg/arrow/right-diffuse.svg +++ /dev/null @@ -1,195 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - diff --git a/collects/icons/private/svg/arrow/right-over-diffuse.svg b/collects/icons/private/svg/arrow/right-over-diffuse.svg deleted file mode 100644 index d55bedd78e..0000000000 --- a/collects/icons/private/svg/arrow/right-over-diffuse.svg +++ /dev/null @@ -1,307 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - diff --git a/collects/icons/private/svg/arrow/right-over-shiny.svg b/collects/icons/private/svg/arrow/right-over-shiny.svg deleted file mode 100644 index 629a04b72c..0000000000 --- a/collects/icons/private/svg/arrow/right-over-shiny.svg +++ /dev/null @@ -1,397 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - diff --git a/collects/icons/private/svg/arrow/right-shiny.svg b/collects/icons/private/svg/arrow/right-shiny.svg deleted file mode 100644 index 33551d0270..0000000000 --- a/collects/icons/private/svg/arrow/right-shiny.svg +++ /dev/null @@ -1,228 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - diff --git a/collects/icons/private/svg/arrow/up-diffuse.svg b/collects/icons/private/svg/arrow/up-diffuse.svg deleted file mode 100644 index eec3e56fd6..0000000000 --- a/collects/icons/private/svg/arrow/up-diffuse.svg +++ /dev/null @@ -1,236 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - diff --git a/collects/icons/private/svg/arrow/up-shiny.svg b/collects/icons/private/svg/arrow/up-shiny.svg deleted file mode 100644 index 88246ecfb9..0000000000 --- a/collects/icons/private/svg/arrow/up-shiny.svg +++ /dev/null @@ -1,270 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - diff --git a/collects/icons/private/svg/check/16/black/check-diffuse.png b/collects/icons/private/svg/check/16/black/check-diffuse.png deleted file mode 100644 index 90261b87dd..0000000000 Binary files a/collects/icons/private/svg/check/16/black/check-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/16/black/check-shiny.png b/collects/icons/private/svg/check/16/black/check-shiny.png deleted file mode 100644 index bb3e64d586..0000000000 Binary files a/collects/icons/private/svg/check/16/black/check-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/16/black/x-diffuse.png b/collects/icons/private/svg/check/16/black/x-diffuse.png deleted file mode 100644 index 73bbbb2291..0000000000 Binary files a/collects/icons/private/svg/check/16/black/x-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/16/black/x-shiny.png b/collects/icons/private/svg/check/16/black/x-shiny.png deleted file mode 100644 index b5d7c06218..0000000000 Binary files a/collects/icons/private/svg/check/16/black/x-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/16/blue/check-diffuse.png b/collects/icons/private/svg/check/16/blue/check-diffuse.png deleted file mode 100644 index 2a755c0e33..0000000000 Binary files a/collects/icons/private/svg/check/16/blue/check-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/16/blue/check-shiny.png b/collects/icons/private/svg/check/16/blue/check-shiny.png deleted file mode 100644 index eac98190f2..0000000000 Binary files a/collects/icons/private/svg/check/16/blue/check-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/16/blue/x-diffuse.png b/collects/icons/private/svg/check/16/blue/x-diffuse.png deleted file mode 100644 index f5e644c84a..0000000000 Binary files a/collects/icons/private/svg/check/16/blue/x-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/16/blue/x-shiny.png b/collects/icons/private/svg/check/16/blue/x-shiny.png deleted file mode 100644 index 51ee318de1..0000000000 Binary files a/collects/icons/private/svg/check/16/blue/x-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/16/check-diffuse.png b/collects/icons/private/svg/check/16/check-diffuse.png deleted file mode 100644 index 3c7806a1e0..0000000000 Binary files a/collects/icons/private/svg/check/16/check-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/16/check-shiny.png b/collects/icons/private/svg/check/16/check-shiny.png deleted file mode 100644 index 34cfc9342a..0000000000 Binary files a/collects/icons/private/svg/check/16/check-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/16/cyan/check-diffuse.png b/collects/icons/private/svg/check/16/cyan/check-diffuse.png deleted file mode 100644 index b9188bb517..0000000000 Binary files a/collects/icons/private/svg/check/16/cyan/check-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/16/cyan/check-shiny.png b/collects/icons/private/svg/check/16/cyan/check-shiny.png deleted file mode 100644 index da73fb6abf..0000000000 Binary files a/collects/icons/private/svg/check/16/cyan/check-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/16/cyan/x-diffuse.png b/collects/icons/private/svg/check/16/cyan/x-diffuse.png deleted file mode 100644 index e7cd2a88c3..0000000000 Binary files a/collects/icons/private/svg/check/16/cyan/x-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/16/cyan/x-shiny.png b/collects/icons/private/svg/check/16/cyan/x-shiny.png deleted file mode 100644 index 7a56bf2736..0000000000 Binary files a/collects/icons/private/svg/check/16/cyan/x-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/16/green/check-diffuse.png b/collects/icons/private/svg/check/16/green/check-diffuse.png deleted file mode 100644 index fc65eecd29..0000000000 Binary files a/collects/icons/private/svg/check/16/green/check-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/16/green/check-shiny.png b/collects/icons/private/svg/check/16/green/check-shiny.png deleted file mode 100644 index a3ead82387..0000000000 Binary files a/collects/icons/private/svg/check/16/green/check-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/16/green/x-diffuse.png b/collects/icons/private/svg/check/16/green/x-diffuse.png deleted file mode 100644 index c6d15455a8..0000000000 Binary files a/collects/icons/private/svg/check/16/green/x-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/16/green/x-shiny.png b/collects/icons/private/svg/check/16/green/x-shiny.png deleted file mode 100644 index 8d3b5a41c1..0000000000 Binary files a/collects/icons/private/svg/check/16/green/x-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/16/orange/check-diffuse.png b/collects/icons/private/svg/check/16/orange/check-diffuse.png deleted file mode 100644 index f129090c26..0000000000 Binary files a/collects/icons/private/svg/check/16/orange/check-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/16/orange/check-shiny.png b/collects/icons/private/svg/check/16/orange/check-shiny.png deleted file mode 100644 index 76342cd9da..0000000000 Binary files a/collects/icons/private/svg/check/16/orange/check-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/16/orange/x-diffuse.png b/collects/icons/private/svg/check/16/orange/x-diffuse.png deleted file mode 100644 index 3df7a1d8f4..0000000000 Binary files a/collects/icons/private/svg/check/16/orange/x-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/16/orange/x-shiny.png b/collects/icons/private/svg/check/16/orange/x-shiny.png deleted file mode 100644 index 44ce25ccea..0000000000 Binary files a/collects/icons/private/svg/check/16/orange/x-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/16/purple/check-diffuse.png b/collects/icons/private/svg/check/16/purple/check-diffuse.png deleted file mode 100644 index 9feaefebe8..0000000000 Binary files a/collects/icons/private/svg/check/16/purple/check-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/16/purple/check-shiny.png b/collects/icons/private/svg/check/16/purple/check-shiny.png deleted file mode 100644 index 77c878d15a..0000000000 Binary files a/collects/icons/private/svg/check/16/purple/check-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/16/purple/x-diffuse.png b/collects/icons/private/svg/check/16/purple/x-diffuse.png deleted file mode 100644 index 23adc7d4f4..0000000000 Binary files a/collects/icons/private/svg/check/16/purple/x-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/16/purple/x-shiny.png b/collects/icons/private/svg/check/16/purple/x-shiny.png deleted file mode 100644 index 462c45da09..0000000000 Binary files a/collects/icons/private/svg/check/16/purple/x-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/16/red/check-diffuse.png b/collects/icons/private/svg/check/16/red/check-diffuse.png deleted file mode 100644 index bb139a7c96..0000000000 Binary files a/collects/icons/private/svg/check/16/red/check-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/16/red/check-shiny.png b/collects/icons/private/svg/check/16/red/check-shiny.png deleted file mode 100644 index d9cf240f2b..0000000000 Binary files a/collects/icons/private/svg/check/16/red/check-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/16/red/x-diffuse.png b/collects/icons/private/svg/check/16/red/x-diffuse.png deleted file mode 100644 index 34a324c53a..0000000000 Binary files a/collects/icons/private/svg/check/16/red/x-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/16/red/x-shiny.png b/collects/icons/private/svg/check/16/red/x-shiny.png deleted file mode 100644 index b0c2d521df..0000000000 Binary files a/collects/icons/private/svg/check/16/red/x-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/16/white/check-diffuse.png b/collects/icons/private/svg/check/16/white/check-diffuse.png deleted file mode 100644 index 9ba7202196..0000000000 Binary files a/collects/icons/private/svg/check/16/white/check-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/16/white/check-shiny.png b/collects/icons/private/svg/check/16/white/check-shiny.png deleted file mode 100644 index a577e0f1ce..0000000000 Binary files a/collects/icons/private/svg/check/16/white/check-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/16/white/x-diffuse.png b/collects/icons/private/svg/check/16/white/x-diffuse.png deleted file mode 100644 index 5ef0c198c2..0000000000 Binary files a/collects/icons/private/svg/check/16/white/x-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/16/white/x-shiny.png b/collects/icons/private/svg/check/16/white/x-shiny.png deleted file mode 100644 index ba9b8a1d24..0000000000 Binary files a/collects/icons/private/svg/check/16/white/x-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/16/x-diffuse.png b/collects/icons/private/svg/check/16/x-diffuse.png deleted file mode 100644 index 4df05aaa14..0000000000 Binary files a/collects/icons/private/svg/check/16/x-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/16/x-shiny.png b/collects/icons/private/svg/check/16/x-shiny.png deleted file mode 100644 index c2ddb13543..0000000000 Binary files a/collects/icons/private/svg/check/16/x-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/black/check-diffuse.png b/collects/icons/private/svg/check/32/black/check-diffuse.png deleted file mode 100644 index b37b51776a..0000000000 Binary files a/collects/icons/private/svg/check/32/black/check-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/black/check-shiny.png b/collects/icons/private/svg/check/32/black/check-shiny.png deleted file mode 100644 index 06f3162bd3..0000000000 Binary files a/collects/icons/private/svg/check/32/black/check-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/black/x-diffuse.png b/collects/icons/private/svg/check/32/black/x-diffuse.png deleted file mode 100644 index f33aa30816..0000000000 Binary files a/collects/icons/private/svg/check/32/black/x-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/black/x-shiny.png b/collects/icons/private/svg/check/32/black/x-shiny.png deleted file mode 100644 index 7d5ae2a30b..0000000000 Binary files a/collects/icons/private/svg/check/32/black/x-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/blue/check-diffuse.png b/collects/icons/private/svg/check/32/blue/check-diffuse.png deleted file mode 100644 index 577c7bf016..0000000000 Binary files a/collects/icons/private/svg/check/32/blue/check-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/blue/check-shiny.png b/collects/icons/private/svg/check/32/blue/check-shiny.png deleted file mode 100644 index 31b23c1b73..0000000000 Binary files a/collects/icons/private/svg/check/32/blue/check-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/blue/x-diffuse.png b/collects/icons/private/svg/check/32/blue/x-diffuse.png deleted file mode 100644 index c9b8f8b4a7..0000000000 Binary files a/collects/icons/private/svg/check/32/blue/x-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/blue/x-shiny.png b/collects/icons/private/svg/check/32/blue/x-shiny.png deleted file mode 100644 index e01c1c689b..0000000000 Binary files a/collects/icons/private/svg/check/32/blue/x-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/check-diffuse.png b/collects/icons/private/svg/check/32/check-diffuse.png deleted file mode 100644 index d28cd6b9de..0000000000 Binary files a/collects/icons/private/svg/check/32/check-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/check-shiny.png b/collects/icons/private/svg/check/32/check-shiny.png deleted file mode 100644 index fdfc8196c1..0000000000 Binary files a/collects/icons/private/svg/check/32/check-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/cyan/check-diffuse.png b/collects/icons/private/svg/check/32/cyan/check-diffuse.png deleted file mode 100644 index e0c480ecc5..0000000000 Binary files a/collects/icons/private/svg/check/32/cyan/check-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/cyan/check-shiny.png b/collects/icons/private/svg/check/32/cyan/check-shiny.png deleted file mode 100644 index b2092c4f20..0000000000 Binary files a/collects/icons/private/svg/check/32/cyan/check-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/cyan/x-diffuse.png b/collects/icons/private/svg/check/32/cyan/x-diffuse.png deleted file mode 100644 index 52127e128b..0000000000 Binary files a/collects/icons/private/svg/check/32/cyan/x-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/cyan/x-shiny.png b/collects/icons/private/svg/check/32/cyan/x-shiny.png deleted file mode 100644 index 7437ec5969..0000000000 Binary files a/collects/icons/private/svg/check/32/cyan/x-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/green/check-diffuse.png b/collects/icons/private/svg/check/32/green/check-diffuse.png deleted file mode 100644 index 017a58e1f5..0000000000 Binary files a/collects/icons/private/svg/check/32/green/check-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/green/check-shiny.png b/collects/icons/private/svg/check/32/green/check-shiny.png deleted file mode 100644 index c65e93e606..0000000000 Binary files a/collects/icons/private/svg/check/32/green/check-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/green/x-diffuse.png b/collects/icons/private/svg/check/32/green/x-diffuse.png deleted file mode 100644 index 202d118e5b..0000000000 Binary files a/collects/icons/private/svg/check/32/green/x-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/green/x-shiny.png b/collects/icons/private/svg/check/32/green/x-shiny.png deleted file mode 100644 index acad8278d1..0000000000 Binary files a/collects/icons/private/svg/check/32/green/x-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/orange/check-diffuse.png b/collects/icons/private/svg/check/32/orange/check-diffuse.png deleted file mode 100644 index 158b404e80..0000000000 Binary files a/collects/icons/private/svg/check/32/orange/check-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/orange/check-shiny.png b/collects/icons/private/svg/check/32/orange/check-shiny.png deleted file mode 100644 index 78c0a37a0f..0000000000 Binary files a/collects/icons/private/svg/check/32/orange/check-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/orange/x-diffuse.png b/collects/icons/private/svg/check/32/orange/x-diffuse.png deleted file mode 100644 index 2e4a548a13..0000000000 Binary files a/collects/icons/private/svg/check/32/orange/x-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/orange/x-shiny.png b/collects/icons/private/svg/check/32/orange/x-shiny.png deleted file mode 100644 index 8750a18020..0000000000 Binary files a/collects/icons/private/svg/check/32/orange/x-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/purple/check-diffuse.png b/collects/icons/private/svg/check/32/purple/check-diffuse.png deleted file mode 100644 index 55537b297c..0000000000 Binary files a/collects/icons/private/svg/check/32/purple/check-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/purple/check-shiny.png b/collects/icons/private/svg/check/32/purple/check-shiny.png deleted file mode 100644 index f3dde57b52..0000000000 Binary files a/collects/icons/private/svg/check/32/purple/check-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/purple/x-diffuse.png b/collects/icons/private/svg/check/32/purple/x-diffuse.png deleted file mode 100644 index f252c6f51f..0000000000 Binary files a/collects/icons/private/svg/check/32/purple/x-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/purple/x-shiny.png b/collects/icons/private/svg/check/32/purple/x-shiny.png deleted file mode 100644 index 1aced3a6a1..0000000000 Binary files a/collects/icons/private/svg/check/32/purple/x-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/red/check-diffuse.png b/collects/icons/private/svg/check/32/red/check-diffuse.png deleted file mode 100644 index b2989668df..0000000000 Binary files a/collects/icons/private/svg/check/32/red/check-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/red/check-shiny.png b/collects/icons/private/svg/check/32/red/check-shiny.png deleted file mode 100644 index 7021dd7d82..0000000000 Binary files a/collects/icons/private/svg/check/32/red/check-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/red/x-diffuse.png b/collects/icons/private/svg/check/32/red/x-diffuse.png deleted file mode 100644 index 50b1f18ac8..0000000000 Binary files a/collects/icons/private/svg/check/32/red/x-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/red/x-shiny.png b/collects/icons/private/svg/check/32/red/x-shiny.png deleted file mode 100644 index f02e67333e..0000000000 Binary files a/collects/icons/private/svg/check/32/red/x-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/white/check-diffuse.png b/collects/icons/private/svg/check/32/white/check-diffuse.png deleted file mode 100644 index e512a87d71..0000000000 Binary files a/collects/icons/private/svg/check/32/white/check-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/white/check-shiny.png b/collects/icons/private/svg/check/32/white/check-shiny.png deleted file mode 100644 index 14d2bd7c23..0000000000 Binary files a/collects/icons/private/svg/check/32/white/check-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/white/x-diffuse.png b/collects/icons/private/svg/check/32/white/x-diffuse.png deleted file mode 100644 index 31b201c652..0000000000 Binary files a/collects/icons/private/svg/check/32/white/x-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/white/x-shiny.png b/collects/icons/private/svg/check/32/white/x-shiny.png deleted file mode 100644 index 09cf374600..0000000000 Binary files a/collects/icons/private/svg/check/32/white/x-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/x-diffuse.png b/collects/icons/private/svg/check/32/x-diffuse.png deleted file mode 100644 index 3ab4d66d79..0000000000 Binary files a/collects/icons/private/svg/check/32/x-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/32/x-shiny.png b/collects/icons/private/svg/check/32/x-shiny.png deleted file mode 100644 index 1f62ca7ec8..0000000000 Binary files a/collects/icons/private/svg/check/32/x-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/black/check-diffuse.png b/collects/icons/private/svg/check/64/black/check-diffuse.png deleted file mode 100644 index 93a2ddb946..0000000000 Binary files a/collects/icons/private/svg/check/64/black/check-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/black/check-shiny.png b/collects/icons/private/svg/check/64/black/check-shiny.png deleted file mode 100644 index 258e406e77..0000000000 Binary files a/collects/icons/private/svg/check/64/black/check-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/black/x-diffuse.png b/collects/icons/private/svg/check/64/black/x-diffuse.png deleted file mode 100644 index 8114414c2a..0000000000 Binary files a/collects/icons/private/svg/check/64/black/x-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/black/x-shiny.png b/collects/icons/private/svg/check/64/black/x-shiny.png deleted file mode 100644 index 0cbfc98d03..0000000000 Binary files a/collects/icons/private/svg/check/64/black/x-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/blue/check-diffuse.png b/collects/icons/private/svg/check/64/blue/check-diffuse.png deleted file mode 100644 index cdb197ee65..0000000000 Binary files a/collects/icons/private/svg/check/64/blue/check-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/blue/check-shiny.png b/collects/icons/private/svg/check/64/blue/check-shiny.png deleted file mode 100644 index 54f8d8557d..0000000000 Binary files a/collects/icons/private/svg/check/64/blue/check-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/blue/x-diffuse.png b/collects/icons/private/svg/check/64/blue/x-diffuse.png deleted file mode 100644 index 2fa9475fa3..0000000000 Binary files a/collects/icons/private/svg/check/64/blue/x-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/blue/x-shiny.png b/collects/icons/private/svg/check/64/blue/x-shiny.png deleted file mode 100644 index d37c03992d..0000000000 Binary files a/collects/icons/private/svg/check/64/blue/x-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/check-diffuse.png b/collects/icons/private/svg/check/64/check-diffuse.png deleted file mode 100644 index 9061709e8e..0000000000 Binary files a/collects/icons/private/svg/check/64/check-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/check-shiny.png b/collects/icons/private/svg/check/64/check-shiny.png deleted file mode 100644 index 6a82d3f0bc..0000000000 Binary files a/collects/icons/private/svg/check/64/check-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/cyan/check-diffuse.png b/collects/icons/private/svg/check/64/cyan/check-diffuse.png deleted file mode 100644 index c2cca07e74..0000000000 Binary files a/collects/icons/private/svg/check/64/cyan/check-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/cyan/check-shiny.png b/collects/icons/private/svg/check/64/cyan/check-shiny.png deleted file mode 100644 index e6902acc05..0000000000 Binary files a/collects/icons/private/svg/check/64/cyan/check-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/cyan/x-diffuse.png b/collects/icons/private/svg/check/64/cyan/x-diffuse.png deleted file mode 100644 index b53b1b70a0..0000000000 Binary files a/collects/icons/private/svg/check/64/cyan/x-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/cyan/x-shiny.png b/collects/icons/private/svg/check/64/cyan/x-shiny.png deleted file mode 100644 index 0d96159600..0000000000 Binary files a/collects/icons/private/svg/check/64/cyan/x-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/green/check-diffuse.png b/collects/icons/private/svg/check/64/green/check-diffuse.png deleted file mode 100644 index d91e9494d4..0000000000 Binary files a/collects/icons/private/svg/check/64/green/check-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/green/check-shiny.png b/collects/icons/private/svg/check/64/green/check-shiny.png deleted file mode 100644 index d2b9b2ddff..0000000000 Binary files a/collects/icons/private/svg/check/64/green/check-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/green/x-diffuse.png b/collects/icons/private/svg/check/64/green/x-diffuse.png deleted file mode 100644 index 5c6dfb6f0a..0000000000 Binary files a/collects/icons/private/svg/check/64/green/x-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/green/x-shiny.png b/collects/icons/private/svg/check/64/green/x-shiny.png deleted file mode 100644 index 68f374793b..0000000000 Binary files a/collects/icons/private/svg/check/64/green/x-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/orange/check-diffuse.png b/collects/icons/private/svg/check/64/orange/check-diffuse.png deleted file mode 100644 index f8c2596d7d..0000000000 Binary files a/collects/icons/private/svg/check/64/orange/check-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/orange/check-shiny.png b/collects/icons/private/svg/check/64/orange/check-shiny.png deleted file mode 100644 index 1a50b45665..0000000000 Binary files a/collects/icons/private/svg/check/64/orange/check-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/orange/x-diffuse.png b/collects/icons/private/svg/check/64/orange/x-diffuse.png deleted file mode 100644 index ec40367b31..0000000000 Binary files a/collects/icons/private/svg/check/64/orange/x-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/orange/x-shiny.png b/collects/icons/private/svg/check/64/orange/x-shiny.png deleted file mode 100644 index bb64b5c10c..0000000000 Binary files a/collects/icons/private/svg/check/64/orange/x-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/purple/check-diffuse.png b/collects/icons/private/svg/check/64/purple/check-diffuse.png deleted file mode 100644 index a6ec363e34..0000000000 Binary files a/collects/icons/private/svg/check/64/purple/check-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/purple/check-shiny.png b/collects/icons/private/svg/check/64/purple/check-shiny.png deleted file mode 100644 index b195d8e1aa..0000000000 Binary files a/collects/icons/private/svg/check/64/purple/check-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/purple/x-diffuse.png b/collects/icons/private/svg/check/64/purple/x-diffuse.png deleted file mode 100644 index ba79684d34..0000000000 Binary files a/collects/icons/private/svg/check/64/purple/x-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/purple/x-shiny.png b/collects/icons/private/svg/check/64/purple/x-shiny.png deleted file mode 100644 index 75e3326a13..0000000000 Binary files a/collects/icons/private/svg/check/64/purple/x-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/red/check-diffuse.png b/collects/icons/private/svg/check/64/red/check-diffuse.png deleted file mode 100644 index b5abd530a4..0000000000 Binary files a/collects/icons/private/svg/check/64/red/check-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/red/check-shiny.png b/collects/icons/private/svg/check/64/red/check-shiny.png deleted file mode 100644 index ee2d9443b0..0000000000 Binary files a/collects/icons/private/svg/check/64/red/check-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/red/x-diffuse.png b/collects/icons/private/svg/check/64/red/x-diffuse.png deleted file mode 100644 index 55c8c5c70c..0000000000 Binary files a/collects/icons/private/svg/check/64/red/x-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/red/x-shiny.png b/collects/icons/private/svg/check/64/red/x-shiny.png deleted file mode 100644 index 1e4768bfbc..0000000000 Binary files a/collects/icons/private/svg/check/64/red/x-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/white/check-diffuse.png b/collects/icons/private/svg/check/64/white/check-diffuse.png deleted file mode 100644 index f8bafe5f88..0000000000 Binary files a/collects/icons/private/svg/check/64/white/check-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/white/check-shiny.png b/collects/icons/private/svg/check/64/white/check-shiny.png deleted file mode 100644 index f43cde2614..0000000000 Binary files a/collects/icons/private/svg/check/64/white/check-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/white/x-diffuse.png b/collects/icons/private/svg/check/64/white/x-diffuse.png deleted file mode 100644 index 492df855ca..0000000000 Binary files a/collects/icons/private/svg/check/64/white/x-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/white/x-shiny.png b/collects/icons/private/svg/check/64/white/x-shiny.png deleted file mode 100644 index 3546394d35..0000000000 Binary files a/collects/icons/private/svg/check/64/white/x-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/x-diffuse.png b/collects/icons/private/svg/check/64/x-diffuse.png deleted file mode 100644 index bae36a615f..0000000000 Binary files a/collects/icons/private/svg/check/64/x-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/check/64/x-shiny.png b/collects/icons/private/svg/check/64/x-shiny.png deleted file mode 100644 index 941d081e66..0000000000 Binary files a/collects/icons/private/svg/check/64/x-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/check/check-diffuse.svg b/collects/icons/private/svg/check/check-diffuse.svg deleted file mode 100644 index a9200c3f00..0000000000 --- a/collects/icons/private/svg/check/check-diffuse.svg +++ /dev/null @@ -1,206 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - diff --git a/collects/icons/private/svg/check/check-shiny.svg b/collects/icons/private/svg/check/check-shiny.svg deleted file mode 100644 index 9b87ffcfc5..0000000000 --- a/collects/icons/private/svg/check/check-shiny.svg +++ /dev/null @@ -1,213 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - diff --git a/collects/icons/private/svg/check/x-diffuse.svg b/collects/icons/private/svg/check/x-diffuse.svg deleted file mode 100644 index 3f76ec88d6..0000000000 --- a/collects/icons/private/svg/check/x-diffuse.svg +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - diff --git a/collects/icons/private/svg/check/x-shiny.svg b/collects/icons/private/svg/check/x-shiny.svg deleted file mode 100644 index 5ef58a3440..0000000000 --- a/collects/icons/private/svg/check/x-shiny.svg +++ /dev/null @@ -1,217 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - diff --git a/collects/icons/private/svg/control/16/bar-diffuse.png b/collects/icons/private/svg/control/16/bar-diffuse.png deleted file mode 100644 index 75b7ead694..0000000000 Binary files a/collects/icons/private/svg/control/16/bar-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/bar-shiny.png b/collects/icons/private/svg/control/16/bar-shiny.png deleted file mode 100644 index 836d40934e..0000000000 Binary files a/collects/icons/private/svg/control/16/bar-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/black/bar-diffuse.png b/collects/icons/private/svg/control/16/black/bar-diffuse.png deleted file mode 100644 index 671145a8a7..0000000000 Binary files a/collects/icons/private/svg/control/16/black/bar-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/black/bar-shiny.png b/collects/icons/private/svg/control/16/black/bar-shiny.png deleted file mode 100644 index 36118fed78..0000000000 Binary files a/collects/icons/private/svg/control/16/black/bar-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/black/go-diffuse.png b/collects/icons/private/svg/control/16/black/go-diffuse.png deleted file mode 100644 index 17b0347a8c..0000000000 Binary files a/collects/icons/private/svg/control/16/black/go-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/black/go-shiny.png b/collects/icons/private/svg/control/16/black/go-shiny.png deleted file mode 100644 index 6bc497332c..0000000000 Binary files a/collects/icons/private/svg/control/16/black/go-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/black/record-diffuse.png b/collects/icons/private/svg/control/16/black/record-diffuse.png deleted file mode 100644 index 38e6771ccd..0000000000 Binary files a/collects/icons/private/svg/control/16/black/record-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/black/record-shiny.png b/collects/icons/private/svg/control/16/black/record-shiny.png deleted file mode 100644 index 5c5ffcbcba..0000000000 Binary files a/collects/icons/private/svg/control/16/black/record-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/black/stop-diffuse.png b/collects/icons/private/svg/control/16/black/stop-diffuse.png deleted file mode 100644 index 79242a031b..0000000000 Binary files a/collects/icons/private/svg/control/16/black/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/black/stop-shiny.png b/collects/icons/private/svg/control/16/black/stop-shiny.png deleted file mode 100644 index 36097b24b2..0000000000 Binary files a/collects/icons/private/svg/control/16/black/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/blue/bar-diffuse.png b/collects/icons/private/svg/control/16/blue/bar-diffuse.png deleted file mode 100644 index aa1849f031..0000000000 Binary files a/collects/icons/private/svg/control/16/blue/bar-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/blue/bar-shiny.png b/collects/icons/private/svg/control/16/blue/bar-shiny.png deleted file mode 100644 index 5d5be66cad..0000000000 Binary files a/collects/icons/private/svg/control/16/blue/bar-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/blue/go-diffuse.png b/collects/icons/private/svg/control/16/blue/go-diffuse.png deleted file mode 100644 index 375a3dc0e2..0000000000 Binary files a/collects/icons/private/svg/control/16/blue/go-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/blue/go-shiny.png b/collects/icons/private/svg/control/16/blue/go-shiny.png deleted file mode 100644 index 8cf02ff3dd..0000000000 Binary files a/collects/icons/private/svg/control/16/blue/go-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/blue/record-diffuse.png b/collects/icons/private/svg/control/16/blue/record-diffuse.png deleted file mode 100644 index 5f51d504e8..0000000000 Binary files a/collects/icons/private/svg/control/16/blue/record-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/blue/record-shiny.png b/collects/icons/private/svg/control/16/blue/record-shiny.png deleted file mode 100644 index 486be1fd64..0000000000 Binary files a/collects/icons/private/svg/control/16/blue/record-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/blue/stop-diffuse.png b/collects/icons/private/svg/control/16/blue/stop-diffuse.png deleted file mode 100644 index 31c6f24d09..0000000000 Binary files a/collects/icons/private/svg/control/16/blue/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/blue/stop-shiny.png b/collects/icons/private/svg/control/16/blue/stop-shiny.png deleted file mode 100644 index 43c1671400..0000000000 Binary files a/collects/icons/private/svg/control/16/blue/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/cyan/bar-diffuse.png b/collects/icons/private/svg/control/16/cyan/bar-diffuse.png deleted file mode 100644 index 8f9b372060..0000000000 Binary files a/collects/icons/private/svg/control/16/cyan/bar-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/cyan/bar-shiny.png b/collects/icons/private/svg/control/16/cyan/bar-shiny.png deleted file mode 100644 index e9f7681e2d..0000000000 Binary files a/collects/icons/private/svg/control/16/cyan/bar-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/cyan/go-diffuse.png b/collects/icons/private/svg/control/16/cyan/go-diffuse.png deleted file mode 100644 index b415c828f0..0000000000 Binary files a/collects/icons/private/svg/control/16/cyan/go-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/cyan/go-shiny.png b/collects/icons/private/svg/control/16/cyan/go-shiny.png deleted file mode 100644 index 8d283c9312..0000000000 Binary files a/collects/icons/private/svg/control/16/cyan/go-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/cyan/record-diffuse.png b/collects/icons/private/svg/control/16/cyan/record-diffuse.png deleted file mode 100644 index a716f4b4d5..0000000000 Binary files a/collects/icons/private/svg/control/16/cyan/record-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/cyan/record-shiny.png b/collects/icons/private/svg/control/16/cyan/record-shiny.png deleted file mode 100644 index 3aadbf835a..0000000000 Binary files a/collects/icons/private/svg/control/16/cyan/record-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/cyan/stop-diffuse.png b/collects/icons/private/svg/control/16/cyan/stop-diffuse.png deleted file mode 100644 index 2af00ef912..0000000000 Binary files a/collects/icons/private/svg/control/16/cyan/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/cyan/stop-shiny.png b/collects/icons/private/svg/control/16/cyan/stop-shiny.png deleted file mode 100644 index 92e5eca739..0000000000 Binary files a/collects/icons/private/svg/control/16/cyan/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/go-diffuse.png b/collects/icons/private/svg/control/16/go-diffuse.png deleted file mode 100644 index 11f71f7ceb..0000000000 Binary files a/collects/icons/private/svg/control/16/go-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/go-shiny.png b/collects/icons/private/svg/control/16/go-shiny.png deleted file mode 100644 index 8d9affcb9a..0000000000 Binary files a/collects/icons/private/svg/control/16/go-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/green/bar-diffuse.png b/collects/icons/private/svg/control/16/green/bar-diffuse.png deleted file mode 100644 index b9003b67a7..0000000000 Binary files a/collects/icons/private/svg/control/16/green/bar-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/green/bar-shiny.png b/collects/icons/private/svg/control/16/green/bar-shiny.png deleted file mode 100644 index 2080661227..0000000000 Binary files a/collects/icons/private/svg/control/16/green/bar-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/green/go-diffuse.png b/collects/icons/private/svg/control/16/green/go-diffuse.png deleted file mode 100644 index d1be2225b9..0000000000 Binary files a/collects/icons/private/svg/control/16/green/go-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/green/go-shiny.png b/collects/icons/private/svg/control/16/green/go-shiny.png deleted file mode 100644 index 4e27a22ae2..0000000000 Binary files a/collects/icons/private/svg/control/16/green/go-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/green/record-diffuse.png b/collects/icons/private/svg/control/16/green/record-diffuse.png deleted file mode 100644 index bd62566e20..0000000000 Binary files a/collects/icons/private/svg/control/16/green/record-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/green/record-shiny.png b/collects/icons/private/svg/control/16/green/record-shiny.png deleted file mode 100644 index 37e6dde902..0000000000 Binary files a/collects/icons/private/svg/control/16/green/record-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/green/stop-diffuse.png b/collects/icons/private/svg/control/16/green/stop-diffuse.png deleted file mode 100644 index 24c8cfc527..0000000000 Binary files a/collects/icons/private/svg/control/16/green/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/green/stop-shiny.png b/collects/icons/private/svg/control/16/green/stop-shiny.png deleted file mode 100644 index d17d7b3529..0000000000 Binary files a/collects/icons/private/svg/control/16/green/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/orange/bar-diffuse.png b/collects/icons/private/svg/control/16/orange/bar-diffuse.png deleted file mode 100644 index e16679a824..0000000000 Binary files a/collects/icons/private/svg/control/16/orange/bar-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/orange/bar-shiny.png b/collects/icons/private/svg/control/16/orange/bar-shiny.png deleted file mode 100644 index 9f7582c342..0000000000 Binary files a/collects/icons/private/svg/control/16/orange/bar-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/orange/go-diffuse.png b/collects/icons/private/svg/control/16/orange/go-diffuse.png deleted file mode 100644 index fc1f142a93..0000000000 Binary files a/collects/icons/private/svg/control/16/orange/go-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/orange/go-shiny.png b/collects/icons/private/svg/control/16/orange/go-shiny.png deleted file mode 100644 index ca61294186..0000000000 Binary files a/collects/icons/private/svg/control/16/orange/go-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/orange/record-diffuse.png b/collects/icons/private/svg/control/16/orange/record-diffuse.png deleted file mode 100644 index 0dcf8f37ba..0000000000 Binary files a/collects/icons/private/svg/control/16/orange/record-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/orange/record-shiny.png b/collects/icons/private/svg/control/16/orange/record-shiny.png deleted file mode 100644 index f80f3ced21..0000000000 Binary files a/collects/icons/private/svg/control/16/orange/record-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/orange/stop-diffuse.png b/collects/icons/private/svg/control/16/orange/stop-diffuse.png deleted file mode 100644 index 720a23f758..0000000000 Binary files a/collects/icons/private/svg/control/16/orange/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/orange/stop-shiny.png b/collects/icons/private/svg/control/16/orange/stop-shiny.png deleted file mode 100644 index 607146109c..0000000000 Binary files a/collects/icons/private/svg/control/16/orange/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/purple/bar-diffuse.png b/collects/icons/private/svg/control/16/purple/bar-diffuse.png deleted file mode 100644 index d35d08e272..0000000000 Binary files a/collects/icons/private/svg/control/16/purple/bar-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/purple/bar-shiny.png b/collects/icons/private/svg/control/16/purple/bar-shiny.png deleted file mode 100644 index e99fa163de..0000000000 Binary files a/collects/icons/private/svg/control/16/purple/bar-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/purple/go-diffuse.png b/collects/icons/private/svg/control/16/purple/go-diffuse.png deleted file mode 100644 index a02222317f..0000000000 Binary files a/collects/icons/private/svg/control/16/purple/go-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/purple/go-shiny.png b/collects/icons/private/svg/control/16/purple/go-shiny.png deleted file mode 100644 index bcf54c1c41..0000000000 Binary files a/collects/icons/private/svg/control/16/purple/go-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/purple/record-diffuse.png b/collects/icons/private/svg/control/16/purple/record-diffuse.png deleted file mode 100644 index 7a84aa5b0d..0000000000 Binary files a/collects/icons/private/svg/control/16/purple/record-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/purple/record-shiny.png b/collects/icons/private/svg/control/16/purple/record-shiny.png deleted file mode 100644 index d69760f733..0000000000 Binary files a/collects/icons/private/svg/control/16/purple/record-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/purple/stop-diffuse.png b/collects/icons/private/svg/control/16/purple/stop-diffuse.png deleted file mode 100644 index 0c350c5cc7..0000000000 Binary files a/collects/icons/private/svg/control/16/purple/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/purple/stop-shiny.png b/collects/icons/private/svg/control/16/purple/stop-shiny.png deleted file mode 100644 index 4bb85c4a4a..0000000000 Binary files a/collects/icons/private/svg/control/16/purple/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/record-diffuse.png b/collects/icons/private/svg/control/16/record-diffuse.png deleted file mode 100644 index 63be0b583c..0000000000 Binary files a/collects/icons/private/svg/control/16/record-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/record-shiny.png b/collects/icons/private/svg/control/16/record-shiny.png deleted file mode 100644 index 18337b7227..0000000000 Binary files a/collects/icons/private/svg/control/16/record-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/red/bar-diffuse.png b/collects/icons/private/svg/control/16/red/bar-diffuse.png deleted file mode 100644 index c8508d19d6..0000000000 Binary files a/collects/icons/private/svg/control/16/red/bar-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/red/bar-shiny.png b/collects/icons/private/svg/control/16/red/bar-shiny.png deleted file mode 100644 index 8d9d706fab..0000000000 Binary files a/collects/icons/private/svg/control/16/red/bar-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/red/go-diffuse.png b/collects/icons/private/svg/control/16/red/go-diffuse.png deleted file mode 100644 index bfd2034500..0000000000 Binary files a/collects/icons/private/svg/control/16/red/go-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/red/go-shiny.png b/collects/icons/private/svg/control/16/red/go-shiny.png deleted file mode 100644 index 972a3defe4..0000000000 Binary files a/collects/icons/private/svg/control/16/red/go-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/red/record-diffuse.png b/collects/icons/private/svg/control/16/red/record-diffuse.png deleted file mode 100644 index 43c4ceec78..0000000000 Binary files a/collects/icons/private/svg/control/16/red/record-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/red/record-shiny.png b/collects/icons/private/svg/control/16/red/record-shiny.png deleted file mode 100644 index d70b17ca86..0000000000 Binary files a/collects/icons/private/svg/control/16/red/record-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/red/stop-diffuse.png b/collects/icons/private/svg/control/16/red/stop-diffuse.png deleted file mode 100644 index 7f37e21e2a..0000000000 Binary files a/collects/icons/private/svg/control/16/red/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/red/stop-shiny.png b/collects/icons/private/svg/control/16/red/stop-shiny.png deleted file mode 100644 index 4f0671db8b..0000000000 Binary files a/collects/icons/private/svg/control/16/red/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/stop-diffuse.png b/collects/icons/private/svg/control/16/stop-diffuse.png deleted file mode 100644 index ddb4ca8afc..0000000000 Binary files a/collects/icons/private/svg/control/16/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/stop-shiny.png b/collects/icons/private/svg/control/16/stop-shiny.png deleted file mode 100644 index 2c2e110989..0000000000 Binary files a/collects/icons/private/svg/control/16/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/white/bar-diffuse.png b/collects/icons/private/svg/control/16/white/bar-diffuse.png deleted file mode 100644 index de83e5291f..0000000000 Binary files a/collects/icons/private/svg/control/16/white/bar-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/white/bar-shiny.png b/collects/icons/private/svg/control/16/white/bar-shiny.png deleted file mode 100644 index 82200cd81d..0000000000 Binary files a/collects/icons/private/svg/control/16/white/bar-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/white/go-diffuse.png b/collects/icons/private/svg/control/16/white/go-diffuse.png deleted file mode 100644 index 64bfc6a2e3..0000000000 Binary files a/collects/icons/private/svg/control/16/white/go-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/white/go-shiny.png b/collects/icons/private/svg/control/16/white/go-shiny.png deleted file mode 100644 index d4f7e7d83c..0000000000 Binary files a/collects/icons/private/svg/control/16/white/go-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/white/record-diffuse.png b/collects/icons/private/svg/control/16/white/record-diffuse.png deleted file mode 100644 index 5fc9cfa13a..0000000000 Binary files a/collects/icons/private/svg/control/16/white/record-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/white/record-shiny.png b/collects/icons/private/svg/control/16/white/record-shiny.png deleted file mode 100644 index 4e36f8750b..0000000000 Binary files a/collects/icons/private/svg/control/16/white/record-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/white/stop-diffuse.png b/collects/icons/private/svg/control/16/white/stop-diffuse.png deleted file mode 100644 index c127622f56..0000000000 Binary files a/collects/icons/private/svg/control/16/white/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/16/white/stop-shiny.png b/collects/icons/private/svg/control/16/white/stop-shiny.png deleted file mode 100644 index 5b6e8ce053..0000000000 Binary files a/collects/icons/private/svg/control/16/white/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/bar-diffuse.png b/collects/icons/private/svg/control/32/bar-diffuse.png deleted file mode 100644 index befd43c005..0000000000 Binary files a/collects/icons/private/svg/control/32/bar-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/bar-shiny.png b/collects/icons/private/svg/control/32/bar-shiny.png deleted file mode 100644 index c2b3a2f447..0000000000 Binary files a/collects/icons/private/svg/control/32/bar-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/black/bar-diffuse.png b/collects/icons/private/svg/control/32/black/bar-diffuse.png deleted file mode 100644 index 209b618226..0000000000 Binary files a/collects/icons/private/svg/control/32/black/bar-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/black/bar-shiny.png b/collects/icons/private/svg/control/32/black/bar-shiny.png deleted file mode 100644 index a02eec8089..0000000000 Binary files a/collects/icons/private/svg/control/32/black/bar-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/black/go-diffuse.png b/collects/icons/private/svg/control/32/black/go-diffuse.png deleted file mode 100644 index 47c94648c5..0000000000 Binary files a/collects/icons/private/svg/control/32/black/go-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/black/go-shiny.png b/collects/icons/private/svg/control/32/black/go-shiny.png deleted file mode 100644 index 85333728b5..0000000000 Binary files a/collects/icons/private/svg/control/32/black/go-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/black/record-diffuse.png b/collects/icons/private/svg/control/32/black/record-diffuse.png deleted file mode 100644 index 55c1fe8cd2..0000000000 Binary files a/collects/icons/private/svg/control/32/black/record-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/black/record-shiny.png b/collects/icons/private/svg/control/32/black/record-shiny.png deleted file mode 100644 index f32d7e5679..0000000000 Binary files a/collects/icons/private/svg/control/32/black/record-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/black/stop-diffuse.png b/collects/icons/private/svg/control/32/black/stop-diffuse.png deleted file mode 100644 index fd69bcbeb4..0000000000 Binary files a/collects/icons/private/svg/control/32/black/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/black/stop-shiny.png b/collects/icons/private/svg/control/32/black/stop-shiny.png deleted file mode 100644 index 7f2ef7709d..0000000000 Binary files a/collects/icons/private/svg/control/32/black/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/blue/bar-diffuse.png b/collects/icons/private/svg/control/32/blue/bar-diffuse.png deleted file mode 100644 index fe072a53ea..0000000000 Binary files a/collects/icons/private/svg/control/32/blue/bar-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/blue/bar-shiny.png b/collects/icons/private/svg/control/32/blue/bar-shiny.png deleted file mode 100644 index 19882ceb64..0000000000 Binary files a/collects/icons/private/svg/control/32/blue/bar-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/blue/go-diffuse.png b/collects/icons/private/svg/control/32/blue/go-diffuse.png deleted file mode 100644 index a030cd42e4..0000000000 Binary files a/collects/icons/private/svg/control/32/blue/go-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/blue/go-shiny.png b/collects/icons/private/svg/control/32/blue/go-shiny.png deleted file mode 100644 index 3c84a85bfe..0000000000 Binary files a/collects/icons/private/svg/control/32/blue/go-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/blue/record-diffuse.png b/collects/icons/private/svg/control/32/blue/record-diffuse.png deleted file mode 100644 index d15c983c48..0000000000 Binary files a/collects/icons/private/svg/control/32/blue/record-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/blue/record-shiny.png b/collects/icons/private/svg/control/32/blue/record-shiny.png deleted file mode 100644 index 2e8f14832d..0000000000 Binary files a/collects/icons/private/svg/control/32/blue/record-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/blue/stop-diffuse.png b/collects/icons/private/svg/control/32/blue/stop-diffuse.png deleted file mode 100644 index dc301d131a..0000000000 Binary files a/collects/icons/private/svg/control/32/blue/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/blue/stop-shiny.png b/collects/icons/private/svg/control/32/blue/stop-shiny.png deleted file mode 100644 index 8af871d362..0000000000 Binary files a/collects/icons/private/svg/control/32/blue/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/cyan/bar-diffuse.png b/collects/icons/private/svg/control/32/cyan/bar-diffuse.png deleted file mode 100644 index d0df4688fe..0000000000 Binary files a/collects/icons/private/svg/control/32/cyan/bar-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/cyan/bar-shiny.png b/collects/icons/private/svg/control/32/cyan/bar-shiny.png deleted file mode 100644 index 2dad69af7b..0000000000 Binary files a/collects/icons/private/svg/control/32/cyan/bar-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/cyan/go-diffuse.png b/collects/icons/private/svg/control/32/cyan/go-diffuse.png deleted file mode 100644 index 3b84e3f4ac..0000000000 Binary files a/collects/icons/private/svg/control/32/cyan/go-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/cyan/go-shiny.png b/collects/icons/private/svg/control/32/cyan/go-shiny.png deleted file mode 100644 index 3cad397381..0000000000 Binary files a/collects/icons/private/svg/control/32/cyan/go-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/cyan/record-diffuse.png b/collects/icons/private/svg/control/32/cyan/record-diffuse.png deleted file mode 100644 index e5bc84c7fc..0000000000 Binary files a/collects/icons/private/svg/control/32/cyan/record-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/cyan/record-shiny.png b/collects/icons/private/svg/control/32/cyan/record-shiny.png deleted file mode 100644 index d02fd21e35..0000000000 Binary files a/collects/icons/private/svg/control/32/cyan/record-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/cyan/stop-diffuse.png b/collects/icons/private/svg/control/32/cyan/stop-diffuse.png deleted file mode 100644 index 0839b96772..0000000000 Binary files a/collects/icons/private/svg/control/32/cyan/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/cyan/stop-shiny.png b/collects/icons/private/svg/control/32/cyan/stop-shiny.png deleted file mode 100644 index 1a31896150..0000000000 Binary files a/collects/icons/private/svg/control/32/cyan/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/go-diffuse.png b/collects/icons/private/svg/control/32/go-diffuse.png deleted file mode 100644 index 292a9f1105..0000000000 Binary files a/collects/icons/private/svg/control/32/go-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/go-shiny.png b/collects/icons/private/svg/control/32/go-shiny.png deleted file mode 100644 index dd44ab4635..0000000000 Binary files a/collects/icons/private/svg/control/32/go-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/green/bar-diffuse.png b/collects/icons/private/svg/control/32/green/bar-diffuse.png deleted file mode 100644 index e3c7a2e52b..0000000000 Binary files a/collects/icons/private/svg/control/32/green/bar-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/green/bar-shiny.png b/collects/icons/private/svg/control/32/green/bar-shiny.png deleted file mode 100644 index e4df88df1d..0000000000 Binary files a/collects/icons/private/svg/control/32/green/bar-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/green/go-diffuse.png b/collects/icons/private/svg/control/32/green/go-diffuse.png deleted file mode 100644 index be6bb751a9..0000000000 Binary files a/collects/icons/private/svg/control/32/green/go-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/green/go-shiny.png b/collects/icons/private/svg/control/32/green/go-shiny.png deleted file mode 100644 index 63ce808b6f..0000000000 Binary files a/collects/icons/private/svg/control/32/green/go-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/green/record-diffuse.png b/collects/icons/private/svg/control/32/green/record-diffuse.png deleted file mode 100644 index cd499c6a29..0000000000 Binary files a/collects/icons/private/svg/control/32/green/record-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/green/record-shiny.png b/collects/icons/private/svg/control/32/green/record-shiny.png deleted file mode 100644 index a35b4eec2c..0000000000 Binary files a/collects/icons/private/svg/control/32/green/record-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/green/stop-diffuse.png b/collects/icons/private/svg/control/32/green/stop-diffuse.png deleted file mode 100644 index fe266736f8..0000000000 Binary files a/collects/icons/private/svg/control/32/green/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/green/stop-shiny.png b/collects/icons/private/svg/control/32/green/stop-shiny.png deleted file mode 100644 index 1324f107d2..0000000000 Binary files a/collects/icons/private/svg/control/32/green/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/orange/bar-diffuse.png b/collects/icons/private/svg/control/32/orange/bar-diffuse.png deleted file mode 100644 index 55aab59ed3..0000000000 Binary files a/collects/icons/private/svg/control/32/orange/bar-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/orange/bar-shiny.png b/collects/icons/private/svg/control/32/orange/bar-shiny.png deleted file mode 100644 index aab46933ec..0000000000 Binary files a/collects/icons/private/svg/control/32/orange/bar-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/orange/go-diffuse.png b/collects/icons/private/svg/control/32/orange/go-diffuse.png deleted file mode 100644 index fec9462b11..0000000000 Binary files a/collects/icons/private/svg/control/32/orange/go-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/orange/go-shiny.png b/collects/icons/private/svg/control/32/orange/go-shiny.png deleted file mode 100644 index 86bb2ef8e5..0000000000 Binary files a/collects/icons/private/svg/control/32/orange/go-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/orange/record-diffuse.png b/collects/icons/private/svg/control/32/orange/record-diffuse.png deleted file mode 100644 index 6db097d74e..0000000000 Binary files a/collects/icons/private/svg/control/32/orange/record-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/orange/record-shiny.png b/collects/icons/private/svg/control/32/orange/record-shiny.png deleted file mode 100644 index c2f8723971..0000000000 Binary files a/collects/icons/private/svg/control/32/orange/record-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/orange/stop-diffuse.png b/collects/icons/private/svg/control/32/orange/stop-diffuse.png deleted file mode 100644 index 2446a6300e..0000000000 Binary files a/collects/icons/private/svg/control/32/orange/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/orange/stop-shiny.png b/collects/icons/private/svg/control/32/orange/stop-shiny.png deleted file mode 100644 index 8daf937ba6..0000000000 Binary files a/collects/icons/private/svg/control/32/orange/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/purple/bar-diffuse.png b/collects/icons/private/svg/control/32/purple/bar-diffuse.png deleted file mode 100644 index e5f76b9108..0000000000 Binary files a/collects/icons/private/svg/control/32/purple/bar-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/purple/bar-shiny.png b/collects/icons/private/svg/control/32/purple/bar-shiny.png deleted file mode 100644 index 7a4d84af43..0000000000 Binary files a/collects/icons/private/svg/control/32/purple/bar-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/purple/go-diffuse.png b/collects/icons/private/svg/control/32/purple/go-diffuse.png deleted file mode 100644 index 7cb14f7bc4..0000000000 Binary files a/collects/icons/private/svg/control/32/purple/go-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/purple/go-shiny.png b/collects/icons/private/svg/control/32/purple/go-shiny.png deleted file mode 100644 index d01bb2d210..0000000000 Binary files a/collects/icons/private/svg/control/32/purple/go-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/purple/record-diffuse.png b/collects/icons/private/svg/control/32/purple/record-diffuse.png deleted file mode 100644 index 0e099614ed..0000000000 Binary files a/collects/icons/private/svg/control/32/purple/record-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/purple/record-shiny.png b/collects/icons/private/svg/control/32/purple/record-shiny.png deleted file mode 100644 index 744976c8d8..0000000000 Binary files a/collects/icons/private/svg/control/32/purple/record-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/purple/stop-diffuse.png b/collects/icons/private/svg/control/32/purple/stop-diffuse.png deleted file mode 100644 index ae73281457..0000000000 Binary files a/collects/icons/private/svg/control/32/purple/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/purple/stop-shiny.png b/collects/icons/private/svg/control/32/purple/stop-shiny.png deleted file mode 100644 index fdf4516ea2..0000000000 Binary files a/collects/icons/private/svg/control/32/purple/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/record-diffuse.png b/collects/icons/private/svg/control/32/record-diffuse.png deleted file mode 100644 index 656dd2b488..0000000000 Binary files a/collects/icons/private/svg/control/32/record-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/record-shiny.png b/collects/icons/private/svg/control/32/record-shiny.png deleted file mode 100644 index 33c2feb3e9..0000000000 Binary files a/collects/icons/private/svg/control/32/record-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/red/bar-diffuse.png b/collects/icons/private/svg/control/32/red/bar-diffuse.png deleted file mode 100644 index 52878c7cb0..0000000000 Binary files a/collects/icons/private/svg/control/32/red/bar-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/red/bar-shiny.png b/collects/icons/private/svg/control/32/red/bar-shiny.png deleted file mode 100644 index e831504d75..0000000000 Binary files a/collects/icons/private/svg/control/32/red/bar-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/red/go-diffuse.png b/collects/icons/private/svg/control/32/red/go-diffuse.png deleted file mode 100644 index 91bf6cb397..0000000000 Binary files a/collects/icons/private/svg/control/32/red/go-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/red/go-shiny.png b/collects/icons/private/svg/control/32/red/go-shiny.png deleted file mode 100644 index 7a3f29b2d3..0000000000 Binary files a/collects/icons/private/svg/control/32/red/go-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/red/record-diffuse.png b/collects/icons/private/svg/control/32/red/record-diffuse.png deleted file mode 100644 index e082fd8ef7..0000000000 Binary files a/collects/icons/private/svg/control/32/red/record-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/red/record-shiny.png b/collects/icons/private/svg/control/32/red/record-shiny.png deleted file mode 100644 index 827d6b6d7a..0000000000 Binary files a/collects/icons/private/svg/control/32/red/record-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/red/stop-diffuse.png b/collects/icons/private/svg/control/32/red/stop-diffuse.png deleted file mode 100644 index 614e7bc60c..0000000000 Binary files a/collects/icons/private/svg/control/32/red/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/red/stop-shiny.png b/collects/icons/private/svg/control/32/red/stop-shiny.png deleted file mode 100644 index bd4891b447..0000000000 Binary files a/collects/icons/private/svg/control/32/red/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/stop-diffuse.png b/collects/icons/private/svg/control/32/stop-diffuse.png deleted file mode 100644 index e4f51847ca..0000000000 Binary files a/collects/icons/private/svg/control/32/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/stop-shiny.png b/collects/icons/private/svg/control/32/stop-shiny.png deleted file mode 100644 index c4c573a445..0000000000 Binary files a/collects/icons/private/svg/control/32/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/white/bar-diffuse.png b/collects/icons/private/svg/control/32/white/bar-diffuse.png deleted file mode 100644 index c570ebffb4..0000000000 Binary files a/collects/icons/private/svg/control/32/white/bar-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/white/bar-shiny.png b/collects/icons/private/svg/control/32/white/bar-shiny.png deleted file mode 100644 index 9da41afb5b..0000000000 Binary files a/collects/icons/private/svg/control/32/white/bar-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/white/go-diffuse.png b/collects/icons/private/svg/control/32/white/go-diffuse.png deleted file mode 100644 index 816935f48a..0000000000 Binary files a/collects/icons/private/svg/control/32/white/go-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/white/go-shiny.png b/collects/icons/private/svg/control/32/white/go-shiny.png deleted file mode 100644 index be6564e328..0000000000 Binary files a/collects/icons/private/svg/control/32/white/go-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/white/record-diffuse.png b/collects/icons/private/svg/control/32/white/record-diffuse.png deleted file mode 100644 index 5db74a9809..0000000000 Binary files a/collects/icons/private/svg/control/32/white/record-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/white/record-shiny.png b/collects/icons/private/svg/control/32/white/record-shiny.png deleted file mode 100644 index e272bd931f..0000000000 Binary files a/collects/icons/private/svg/control/32/white/record-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/white/stop-diffuse.png b/collects/icons/private/svg/control/32/white/stop-diffuse.png deleted file mode 100644 index 9f23f6dd4e..0000000000 Binary files a/collects/icons/private/svg/control/32/white/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/32/white/stop-shiny.png b/collects/icons/private/svg/control/32/white/stop-shiny.png deleted file mode 100644 index 0b8dc8970c..0000000000 Binary files a/collects/icons/private/svg/control/32/white/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/bar-diffuse.png b/collects/icons/private/svg/control/64/bar-diffuse.png deleted file mode 100644 index a391031372..0000000000 Binary files a/collects/icons/private/svg/control/64/bar-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/bar-shiny.png b/collects/icons/private/svg/control/64/bar-shiny.png deleted file mode 100644 index b9612b2fd5..0000000000 Binary files a/collects/icons/private/svg/control/64/bar-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/black/bar-diffuse.png b/collects/icons/private/svg/control/64/black/bar-diffuse.png deleted file mode 100644 index e40f02c01b..0000000000 Binary files a/collects/icons/private/svg/control/64/black/bar-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/black/bar-shiny.png b/collects/icons/private/svg/control/64/black/bar-shiny.png deleted file mode 100644 index c09b2a02c4..0000000000 Binary files a/collects/icons/private/svg/control/64/black/bar-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/black/go-diffuse.png b/collects/icons/private/svg/control/64/black/go-diffuse.png deleted file mode 100644 index 592f3bb67d..0000000000 Binary files a/collects/icons/private/svg/control/64/black/go-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/black/go-shiny.png b/collects/icons/private/svg/control/64/black/go-shiny.png deleted file mode 100644 index 525e61d67a..0000000000 Binary files a/collects/icons/private/svg/control/64/black/go-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/black/record-diffuse.png b/collects/icons/private/svg/control/64/black/record-diffuse.png deleted file mode 100644 index a06499856c..0000000000 Binary files a/collects/icons/private/svg/control/64/black/record-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/black/record-shiny.png b/collects/icons/private/svg/control/64/black/record-shiny.png deleted file mode 100644 index 2e39f264f0..0000000000 Binary files a/collects/icons/private/svg/control/64/black/record-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/black/stop-diffuse.png b/collects/icons/private/svg/control/64/black/stop-diffuse.png deleted file mode 100644 index 8d8998e790..0000000000 Binary files a/collects/icons/private/svg/control/64/black/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/black/stop-shiny.png b/collects/icons/private/svg/control/64/black/stop-shiny.png deleted file mode 100644 index c623b21435..0000000000 Binary files a/collects/icons/private/svg/control/64/black/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/blue/bar-diffuse.png b/collects/icons/private/svg/control/64/blue/bar-diffuse.png deleted file mode 100644 index c344d52a3d..0000000000 Binary files a/collects/icons/private/svg/control/64/blue/bar-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/blue/bar-shiny.png b/collects/icons/private/svg/control/64/blue/bar-shiny.png deleted file mode 100644 index abab13e097..0000000000 Binary files a/collects/icons/private/svg/control/64/blue/bar-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/blue/go-diffuse.png b/collects/icons/private/svg/control/64/blue/go-diffuse.png deleted file mode 100644 index a1f9911678..0000000000 Binary files a/collects/icons/private/svg/control/64/blue/go-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/blue/go-shiny.png b/collects/icons/private/svg/control/64/blue/go-shiny.png deleted file mode 100644 index b03f249367..0000000000 Binary files a/collects/icons/private/svg/control/64/blue/go-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/blue/record-diffuse.png b/collects/icons/private/svg/control/64/blue/record-diffuse.png deleted file mode 100644 index b2e9e4a51d..0000000000 Binary files a/collects/icons/private/svg/control/64/blue/record-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/blue/record-shiny.png b/collects/icons/private/svg/control/64/blue/record-shiny.png deleted file mode 100644 index 219b5e141c..0000000000 Binary files a/collects/icons/private/svg/control/64/blue/record-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/blue/stop-diffuse.png b/collects/icons/private/svg/control/64/blue/stop-diffuse.png deleted file mode 100644 index 6e5b0a52ae..0000000000 Binary files a/collects/icons/private/svg/control/64/blue/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/blue/stop-shiny.png b/collects/icons/private/svg/control/64/blue/stop-shiny.png deleted file mode 100644 index b0dadfffcb..0000000000 Binary files a/collects/icons/private/svg/control/64/blue/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/cyan/bar-diffuse.png b/collects/icons/private/svg/control/64/cyan/bar-diffuse.png deleted file mode 100644 index 68af9f5481..0000000000 Binary files a/collects/icons/private/svg/control/64/cyan/bar-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/cyan/bar-shiny.png b/collects/icons/private/svg/control/64/cyan/bar-shiny.png deleted file mode 100644 index 09aadbf5da..0000000000 Binary files a/collects/icons/private/svg/control/64/cyan/bar-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/cyan/go-diffuse.png b/collects/icons/private/svg/control/64/cyan/go-diffuse.png deleted file mode 100644 index f6eda22967..0000000000 Binary files a/collects/icons/private/svg/control/64/cyan/go-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/cyan/go-shiny.png b/collects/icons/private/svg/control/64/cyan/go-shiny.png deleted file mode 100644 index bd5af656ca..0000000000 Binary files a/collects/icons/private/svg/control/64/cyan/go-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/cyan/record-diffuse.png b/collects/icons/private/svg/control/64/cyan/record-diffuse.png deleted file mode 100644 index 2d990ae4ff..0000000000 Binary files a/collects/icons/private/svg/control/64/cyan/record-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/cyan/record-shiny.png b/collects/icons/private/svg/control/64/cyan/record-shiny.png deleted file mode 100644 index 79a5505977..0000000000 Binary files a/collects/icons/private/svg/control/64/cyan/record-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/cyan/stop-diffuse.png b/collects/icons/private/svg/control/64/cyan/stop-diffuse.png deleted file mode 100644 index 88128ee1c3..0000000000 Binary files a/collects/icons/private/svg/control/64/cyan/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/cyan/stop-shiny.png b/collects/icons/private/svg/control/64/cyan/stop-shiny.png deleted file mode 100644 index 8bc3d49e8c..0000000000 Binary files a/collects/icons/private/svg/control/64/cyan/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/go-diffuse.png b/collects/icons/private/svg/control/64/go-diffuse.png deleted file mode 100644 index bd8ac50930..0000000000 Binary files a/collects/icons/private/svg/control/64/go-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/go-shiny.png b/collects/icons/private/svg/control/64/go-shiny.png deleted file mode 100644 index de09ccf7e6..0000000000 Binary files a/collects/icons/private/svg/control/64/go-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/green/bar-diffuse.png b/collects/icons/private/svg/control/64/green/bar-diffuse.png deleted file mode 100644 index 3162e329c6..0000000000 Binary files a/collects/icons/private/svg/control/64/green/bar-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/green/bar-shiny.png b/collects/icons/private/svg/control/64/green/bar-shiny.png deleted file mode 100644 index 4d6ec4b3b6..0000000000 Binary files a/collects/icons/private/svg/control/64/green/bar-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/green/go-diffuse.png b/collects/icons/private/svg/control/64/green/go-diffuse.png deleted file mode 100644 index bfa8966c1b..0000000000 Binary files a/collects/icons/private/svg/control/64/green/go-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/green/go-shiny.png b/collects/icons/private/svg/control/64/green/go-shiny.png deleted file mode 100644 index 7a80e90f81..0000000000 Binary files a/collects/icons/private/svg/control/64/green/go-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/green/record-diffuse.png b/collects/icons/private/svg/control/64/green/record-diffuse.png deleted file mode 100644 index 9a47a1998b..0000000000 Binary files a/collects/icons/private/svg/control/64/green/record-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/green/record-shiny.png b/collects/icons/private/svg/control/64/green/record-shiny.png deleted file mode 100644 index 7d5cfa66cf..0000000000 Binary files a/collects/icons/private/svg/control/64/green/record-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/green/stop-diffuse.png b/collects/icons/private/svg/control/64/green/stop-diffuse.png deleted file mode 100644 index 52d706554c..0000000000 Binary files a/collects/icons/private/svg/control/64/green/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/green/stop-shiny.png b/collects/icons/private/svg/control/64/green/stop-shiny.png deleted file mode 100644 index 2bb89daa42..0000000000 Binary files a/collects/icons/private/svg/control/64/green/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/orange/bar-diffuse.png b/collects/icons/private/svg/control/64/orange/bar-diffuse.png deleted file mode 100644 index db677e3def..0000000000 Binary files a/collects/icons/private/svg/control/64/orange/bar-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/orange/bar-shiny.png b/collects/icons/private/svg/control/64/orange/bar-shiny.png deleted file mode 100644 index f2019746d0..0000000000 Binary files a/collects/icons/private/svg/control/64/orange/bar-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/orange/go-diffuse.png b/collects/icons/private/svg/control/64/orange/go-diffuse.png deleted file mode 100644 index 402ce0c77f..0000000000 Binary files a/collects/icons/private/svg/control/64/orange/go-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/orange/go-shiny.png b/collects/icons/private/svg/control/64/orange/go-shiny.png deleted file mode 100644 index b6d89035bd..0000000000 Binary files a/collects/icons/private/svg/control/64/orange/go-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/orange/record-diffuse.png b/collects/icons/private/svg/control/64/orange/record-diffuse.png deleted file mode 100644 index 513f255353..0000000000 Binary files a/collects/icons/private/svg/control/64/orange/record-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/orange/record-shiny.png b/collects/icons/private/svg/control/64/orange/record-shiny.png deleted file mode 100644 index a68b10b767..0000000000 Binary files a/collects/icons/private/svg/control/64/orange/record-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/orange/stop-diffuse.png b/collects/icons/private/svg/control/64/orange/stop-diffuse.png deleted file mode 100644 index 0be1ec49af..0000000000 Binary files a/collects/icons/private/svg/control/64/orange/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/orange/stop-shiny.png b/collects/icons/private/svg/control/64/orange/stop-shiny.png deleted file mode 100644 index 37aa39d821..0000000000 Binary files a/collects/icons/private/svg/control/64/orange/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/purple/bar-diffuse.png b/collects/icons/private/svg/control/64/purple/bar-diffuse.png deleted file mode 100644 index d52770e3d2..0000000000 Binary files a/collects/icons/private/svg/control/64/purple/bar-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/purple/bar-shiny.png b/collects/icons/private/svg/control/64/purple/bar-shiny.png deleted file mode 100644 index fbbe39b3d3..0000000000 Binary files a/collects/icons/private/svg/control/64/purple/bar-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/purple/go-diffuse.png b/collects/icons/private/svg/control/64/purple/go-diffuse.png deleted file mode 100644 index ba34ef0f0f..0000000000 Binary files a/collects/icons/private/svg/control/64/purple/go-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/purple/go-shiny.png b/collects/icons/private/svg/control/64/purple/go-shiny.png deleted file mode 100644 index 1f48f61194..0000000000 Binary files a/collects/icons/private/svg/control/64/purple/go-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/purple/record-diffuse.png b/collects/icons/private/svg/control/64/purple/record-diffuse.png deleted file mode 100644 index 3776559260..0000000000 Binary files a/collects/icons/private/svg/control/64/purple/record-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/purple/record-shiny.png b/collects/icons/private/svg/control/64/purple/record-shiny.png deleted file mode 100644 index e47b5c5cf1..0000000000 Binary files a/collects/icons/private/svg/control/64/purple/record-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/purple/stop-diffuse.png b/collects/icons/private/svg/control/64/purple/stop-diffuse.png deleted file mode 100644 index 5a5c2a1f2c..0000000000 Binary files a/collects/icons/private/svg/control/64/purple/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/purple/stop-shiny.png b/collects/icons/private/svg/control/64/purple/stop-shiny.png deleted file mode 100644 index 5fe1ebf97a..0000000000 Binary files a/collects/icons/private/svg/control/64/purple/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/record-diffuse.png b/collects/icons/private/svg/control/64/record-diffuse.png deleted file mode 100644 index 0a772347b0..0000000000 Binary files a/collects/icons/private/svg/control/64/record-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/record-shiny.png b/collects/icons/private/svg/control/64/record-shiny.png deleted file mode 100644 index db825e668d..0000000000 Binary files a/collects/icons/private/svg/control/64/record-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/red/bar-diffuse.png b/collects/icons/private/svg/control/64/red/bar-diffuse.png deleted file mode 100644 index 622d64e3a2..0000000000 Binary files a/collects/icons/private/svg/control/64/red/bar-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/red/bar-shiny.png b/collects/icons/private/svg/control/64/red/bar-shiny.png deleted file mode 100644 index c8c284e542..0000000000 Binary files a/collects/icons/private/svg/control/64/red/bar-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/red/go-diffuse.png b/collects/icons/private/svg/control/64/red/go-diffuse.png deleted file mode 100644 index 27a09584d2..0000000000 Binary files a/collects/icons/private/svg/control/64/red/go-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/red/go-shiny.png b/collects/icons/private/svg/control/64/red/go-shiny.png deleted file mode 100644 index ce26849721..0000000000 Binary files a/collects/icons/private/svg/control/64/red/go-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/red/record-diffuse.png b/collects/icons/private/svg/control/64/red/record-diffuse.png deleted file mode 100644 index 961935e2a9..0000000000 Binary files a/collects/icons/private/svg/control/64/red/record-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/red/record-shiny.png b/collects/icons/private/svg/control/64/red/record-shiny.png deleted file mode 100644 index c871acd0f3..0000000000 Binary files a/collects/icons/private/svg/control/64/red/record-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/red/stop-diffuse.png b/collects/icons/private/svg/control/64/red/stop-diffuse.png deleted file mode 100644 index a315f8702a..0000000000 Binary files a/collects/icons/private/svg/control/64/red/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/red/stop-shiny.png b/collects/icons/private/svg/control/64/red/stop-shiny.png deleted file mode 100644 index 17128bbf09..0000000000 Binary files a/collects/icons/private/svg/control/64/red/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/stop-diffuse.png b/collects/icons/private/svg/control/64/stop-diffuse.png deleted file mode 100644 index 81b485dc5b..0000000000 Binary files a/collects/icons/private/svg/control/64/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/stop-shiny.png b/collects/icons/private/svg/control/64/stop-shiny.png deleted file mode 100644 index 46f6a4eed3..0000000000 Binary files a/collects/icons/private/svg/control/64/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/white/bar-diffuse.png b/collects/icons/private/svg/control/64/white/bar-diffuse.png deleted file mode 100644 index 5878d54bbc..0000000000 Binary files a/collects/icons/private/svg/control/64/white/bar-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/white/bar-shiny.png b/collects/icons/private/svg/control/64/white/bar-shiny.png deleted file mode 100644 index 28a029bf56..0000000000 Binary files a/collects/icons/private/svg/control/64/white/bar-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/white/go-diffuse.png b/collects/icons/private/svg/control/64/white/go-diffuse.png deleted file mode 100644 index 01779137ea..0000000000 Binary files a/collects/icons/private/svg/control/64/white/go-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/white/go-shiny.png b/collects/icons/private/svg/control/64/white/go-shiny.png deleted file mode 100644 index e7be9c03de..0000000000 Binary files a/collects/icons/private/svg/control/64/white/go-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/white/record-diffuse.png b/collects/icons/private/svg/control/64/white/record-diffuse.png deleted file mode 100644 index 94c7b66fe5..0000000000 Binary files a/collects/icons/private/svg/control/64/white/record-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/white/record-shiny.png b/collects/icons/private/svg/control/64/white/record-shiny.png deleted file mode 100644 index c8dc273964..0000000000 Binary files a/collects/icons/private/svg/control/64/white/record-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/white/stop-diffuse.png b/collects/icons/private/svg/control/64/white/stop-diffuse.png deleted file mode 100644 index 975a7f649e..0000000000 Binary files a/collects/icons/private/svg/control/64/white/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/control/64/white/stop-shiny.png b/collects/icons/private/svg/control/64/white/stop-shiny.png deleted file mode 100644 index 43e3558a3b..0000000000 Binary files a/collects/icons/private/svg/control/64/white/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/control/bar-diffuse.svg b/collects/icons/private/svg/control/bar-diffuse.svg deleted file mode 100644 index e8222857a8..0000000000 --- a/collects/icons/private/svg/control/bar-diffuse.svg +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - diff --git a/collects/icons/private/svg/control/bar-shiny.svg b/collects/icons/private/svg/control/bar-shiny.svg deleted file mode 100644 index ce1d3ad3e7..0000000000 --- a/collects/icons/private/svg/control/bar-shiny.svg +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - diff --git a/collects/icons/private/svg/control/go-diffuse.svg b/collects/icons/private/svg/control/go-diffuse.svg deleted file mode 100644 index 29705e54c6..0000000000 --- a/collects/icons/private/svg/control/go-diffuse.svg +++ /dev/null @@ -1,185 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - diff --git a/collects/icons/private/svg/control/go-shiny.svg b/collects/icons/private/svg/control/go-shiny.svg deleted file mode 100644 index 9352523336..0000000000 --- a/collects/icons/private/svg/control/go-shiny.svg +++ /dev/null @@ -1,244 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - diff --git a/collects/icons/private/svg/control/record-diffuse.svg b/collects/icons/private/svg/control/record-diffuse.svg deleted file mode 100644 index 039eaaca76..0000000000 --- a/collects/icons/private/svg/control/record-diffuse.svg +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - diff --git a/collects/icons/private/svg/control/record-shiny.svg b/collects/icons/private/svg/control/record-shiny.svg deleted file mode 100644 index f734d7a4e7..0000000000 --- a/collects/icons/private/svg/control/record-shiny.svg +++ /dev/null @@ -1,232 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - diff --git a/collects/icons/private/svg/control/stop-diffuse.svg b/collects/icons/private/svg/control/stop-diffuse.svg deleted file mode 100644 index ee8f22ab08..0000000000 --- a/collects/icons/private/svg/control/stop-diffuse.svg +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - diff --git a/collects/icons/private/svg/control/stop-shiny.svg b/collects/icons/private/svg/control/stop-shiny.svg deleted file mode 100644 index faf69238c4..0000000000 --- a/collects/icons/private/svg/control/stop-shiny.svg +++ /dev/null @@ -1,264 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - diff --git a/collects/icons/private/svg/logo/128/planet-diffuse.png b/collects/icons/private/svg/logo/128/planet-diffuse.png deleted file mode 100644 index 8815d8c87c..0000000000 Binary files a/collects/icons/private/svg/logo/128/planet-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/logo/128/planet-shiny.png b/collects/icons/private/svg/logo/128/planet-shiny.png deleted file mode 100644 index 1dd8013653..0000000000 Binary files a/collects/icons/private/svg/logo/128/planet-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/logo/128/plt-diffuse.png b/collects/icons/private/svg/logo/128/plt-diffuse.png deleted file mode 100644 index b009e9d034..0000000000 Binary files a/collects/icons/private/svg/logo/128/plt-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/logo/128/plt-shiny.png b/collects/icons/private/svg/logo/128/plt-shiny.png deleted file mode 100644 index 25d3854438..0000000000 Binary files a/collects/icons/private/svg/logo/128/plt-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/logo/256/planet-diffuse.png b/collects/icons/private/svg/logo/256/planet-diffuse.png deleted file mode 100644 index e4752adbba..0000000000 Binary files a/collects/icons/private/svg/logo/256/planet-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/logo/256/planet-shiny.png b/collects/icons/private/svg/logo/256/planet-shiny.png deleted file mode 100644 index 5884102776..0000000000 Binary files a/collects/icons/private/svg/logo/256/planet-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/logo/256/plt-diffuse.png b/collects/icons/private/svg/logo/256/plt-diffuse.png deleted file mode 100644 index 8edaf06085..0000000000 Binary files a/collects/icons/private/svg/logo/256/plt-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/logo/256/plt-shiny.png b/collects/icons/private/svg/logo/256/plt-shiny.png deleted file mode 100644 index db3d54d951..0000000000 Binary files a/collects/icons/private/svg/logo/256/plt-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/logo/32/planet-diffuse.png b/collects/icons/private/svg/logo/32/planet-diffuse.png deleted file mode 100644 index 95dbe31045..0000000000 Binary files a/collects/icons/private/svg/logo/32/planet-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/logo/32/planet-shiny.png b/collects/icons/private/svg/logo/32/planet-shiny.png deleted file mode 100644 index 2e4a8c8445..0000000000 Binary files a/collects/icons/private/svg/logo/32/planet-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/logo/32/plt-diffuse.png b/collects/icons/private/svg/logo/32/plt-diffuse.png deleted file mode 100644 index 27d54eac8e..0000000000 Binary files a/collects/icons/private/svg/logo/32/plt-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/logo/32/plt-shiny.png b/collects/icons/private/svg/logo/32/plt-shiny.png deleted file mode 100644 index 8aeeb4cd5b..0000000000 Binary files a/collects/icons/private/svg/logo/32/plt-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/logo/64/planet-diffuse.png b/collects/icons/private/svg/logo/64/planet-diffuse.png deleted file mode 100644 index f2bc34728b..0000000000 Binary files a/collects/icons/private/svg/logo/64/planet-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/logo/64/planet-shiny.png b/collects/icons/private/svg/logo/64/planet-shiny.png deleted file mode 100644 index 980c29c8d8..0000000000 Binary files a/collects/icons/private/svg/logo/64/planet-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/logo/64/plt-diffuse.png b/collects/icons/private/svg/logo/64/plt-diffuse.png deleted file mode 100644 index 2fe19823a3..0000000000 Binary files a/collects/icons/private/svg/logo/64/plt-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/logo/64/plt-shiny.png b/collects/icons/private/svg/logo/64/plt-shiny.png deleted file mode 100644 index 42df674ace..0000000000 Binary files a/collects/icons/private/svg/logo/64/plt-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/logo/planet-diffuse.svg b/collects/icons/private/svg/logo/planet-diffuse.svg deleted file mode 100644 index b66795b5f9..0000000000 --- a/collects/icons/private/svg/logo/planet-diffuse.svg +++ /dev/null @@ -1,3418 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/collects/icons/private/svg/logo/planet-shiny.svg b/collects/icons/private/svg/logo/planet-shiny.svg deleted file mode 100644 index 7c4e9e3d60..0000000000 --- a/collects/icons/private/svg/logo/planet-shiny.svg +++ /dev/null @@ -1,1151 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/collects/icons/private/svg/logo/plt-diffuse.svg b/collects/icons/private/svg/logo/plt-diffuse.svg deleted file mode 100644 index 80fb0fd4bf..0000000000 --- a/collects/icons/private/svg/logo/plt-diffuse.svg +++ /dev/null @@ -1,287 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - diff --git a/collects/icons/private/svg/logo/plt-shiny.svg b/collects/icons/private/svg/logo/plt-shiny.svg deleted file mode 100644 index 6ad7b35722..0000000000 --- a/collects/icons/private/svg/logo/plt-shiny.svg +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - diff --git a/collects/icons/private/svg/misc/16/black/disk-diffuse.png b/collects/icons/private/svg/misc/16/black/disk-diffuse.png deleted file mode 100644 index 0977a7a30d..0000000000 Binary files a/collects/icons/private/svg/misc/16/black/disk-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/black/disk-shiny.png b/collects/icons/private/svg/misc/16/black/disk-shiny.png deleted file mode 100644 index ccbc917706..0000000000 Binary files a/collects/icons/private/svg/misc/16/black/disk-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/black/running-diffuse.png b/collects/icons/private/svg/misc/16/black/running-diffuse.png deleted file mode 100644 index 4ba89a5125..0000000000 Binary files a/collects/icons/private/svg/misc/16/black/running-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/black/running-shiny.png b/collects/icons/private/svg/misc/16/black/running-shiny.png deleted file mode 100644 index 9ce872da54..0000000000 Binary files a/collects/icons/private/svg/misc/16/black/running-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/black/standing-diffuse.png b/collects/icons/private/svg/misc/16/black/standing-diffuse.png deleted file mode 100644 index f60e0d8522..0000000000 Binary files a/collects/icons/private/svg/misc/16/black/standing-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/black/standing-shiny.png b/collects/icons/private/svg/misc/16/black/standing-shiny.png deleted file mode 100644 index bb272ded61..0000000000 Binary files a/collects/icons/private/svg/misc/16/black/standing-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/blue/disk-diffuse.png b/collects/icons/private/svg/misc/16/blue/disk-diffuse.png deleted file mode 100644 index 06e6d6b7d4..0000000000 Binary files a/collects/icons/private/svg/misc/16/blue/disk-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/blue/disk-shiny.png b/collects/icons/private/svg/misc/16/blue/disk-shiny.png deleted file mode 100644 index 1d7933e34a..0000000000 Binary files a/collects/icons/private/svg/misc/16/blue/disk-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/blue/running-diffuse.png b/collects/icons/private/svg/misc/16/blue/running-diffuse.png deleted file mode 100644 index 200eb39de6..0000000000 Binary files a/collects/icons/private/svg/misc/16/blue/running-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/blue/running-shiny.png b/collects/icons/private/svg/misc/16/blue/running-shiny.png deleted file mode 100644 index 27acaa1ebc..0000000000 Binary files a/collects/icons/private/svg/misc/16/blue/running-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/blue/standing-diffuse.png b/collects/icons/private/svg/misc/16/blue/standing-diffuse.png deleted file mode 100644 index 9c24fc0195..0000000000 Binary files a/collects/icons/private/svg/misc/16/blue/standing-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/blue/standing-shiny.png b/collects/icons/private/svg/misc/16/blue/standing-shiny.png deleted file mode 100644 index 5c1f540fcb..0000000000 Binary files a/collects/icons/private/svg/misc/16/blue/standing-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/cyan/disk-diffuse.png b/collects/icons/private/svg/misc/16/cyan/disk-diffuse.png deleted file mode 100644 index bb3b6b8d74..0000000000 Binary files a/collects/icons/private/svg/misc/16/cyan/disk-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/cyan/disk-shiny.png b/collects/icons/private/svg/misc/16/cyan/disk-shiny.png deleted file mode 100644 index e934ca6384..0000000000 Binary files a/collects/icons/private/svg/misc/16/cyan/disk-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/cyan/running-diffuse.png b/collects/icons/private/svg/misc/16/cyan/running-diffuse.png deleted file mode 100644 index 7a581228e1..0000000000 Binary files a/collects/icons/private/svg/misc/16/cyan/running-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/cyan/running-shiny.png b/collects/icons/private/svg/misc/16/cyan/running-shiny.png deleted file mode 100644 index 15b8ac83a9..0000000000 Binary files a/collects/icons/private/svg/misc/16/cyan/running-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/cyan/standing-diffuse.png b/collects/icons/private/svg/misc/16/cyan/standing-diffuse.png deleted file mode 100644 index f6e0625ee0..0000000000 Binary files a/collects/icons/private/svg/misc/16/cyan/standing-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/cyan/standing-shiny.png b/collects/icons/private/svg/misc/16/cyan/standing-shiny.png deleted file mode 100644 index d11804d490..0000000000 Binary files a/collects/icons/private/svg/misc/16/cyan/standing-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/disk-diffuse.png b/collects/icons/private/svg/misc/16/disk-diffuse.png deleted file mode 100644 index ca4c1f2aa1..0000000000 Binary files a/collects/icons/private/svg/misc/16/disk-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/disk-shiny.png b/collects/icons/private/svg/misc/16/disk-shiny.png deleted file mode 100644 index 670e3177e7..0000000000 Binary files a/collects/icons/private/svg/misc/16/disk-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/earth-diffuse.png b/collects/icons/private/svg/misc/16/earth-diffuse.png deleted file mode 100644 index 1894e40fa6..0000000000 Binary files a/collects/icons/private/svg/misc/16/earth-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/earth-shiny.png b/collects/icons/private/svg/misc/16/earth-shiny.png deleted file mode 100644 index 0a88d22815..0000000000 Binary files a/collects/icons/private/svg/misc/16/earth-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/green/disk-diffuse.png b/collects/icons/private/svg/misc/16/green/disk-diffuse.png deleted file mode 100644 index ec2ae38b9b..0000000000 Binary files a/collects/icons/private/svg/misc/16/green/disk-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/green/disk-shiny.png b/collects/icons/private/svg/misc/16/green/disk-shiny.png deleted file mode 100644 index 5c4c18cffa..0000000000 Binary files a/collects/icons/private/svg/misc/16/green/disk-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/green/running-diffuse.png b/collects/icons/private/svg/misc/16/green/running-diffuse.png deleted file mode 100644 index b91e533d61..0000000000 Binary files a/collects/icons/private/svg/misc/16/green/running-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/green/running-shiny.png b/collects/icons/private/svg/misc/16/green/running-shiny.png deleted file mode 100644 index 2a0093a85c..0000000000 Binary files a/collects/icons/private/svg/misc/16/green/running-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/green/standing-diffuse.png b/collects/icons/private/svg/misc/16/green/standing-diffuse.png deleted file mode 100644 index a425bfd395..0000000000 Binary files a/collects/icons/private/svg/misc/16/green/standing-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/green/standing-shiny.png b/collects/icons/private/svg/misc/16/green/standing-shiny.png deleted file mode 100644 index 574373526b..0000000000 Binary files a/collects/icons/private/svg/misc/16/green/standing-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/magnifying-glass-diffuse.png b/collects/icons/private/svg/misc/16/magnifying-glass-diffuse.png deleted file mode 100644 index 78c2cbc692..0000000000 Binary files a/collects/icons/private/svg/misc/16/magnifying-glass-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/magnifying-glass-shiny.png b/collects/icons/private/svg/misc/16/magnifying-glass-shiny.png deleted file mode 100644 index 5ead2777be..0000000000 Binary files a/collects/icons/private/svg/misc/16/magnifying-glass-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/moon-diffuse.png b/collects/icons/private/svg/misc/16/moon-diffuse.png deleted file mode 100644 index c0b9e2216d..0000000000 Binary files a/collects/icons/private/svg/misc/16/moon-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/moon-shiny.png b/collects/icons/private/svg/misc/16/moon-shiny.png deleted file mode 100644 index cf5b6658c1..0000000000 Binary files a/collects/icons/private/svg/misc/16/moon-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/orange/disk-diffuse.png b/collects/icons/private/svg/misc/16/orange/disk-diffuse.png deleted file mode 100644 index d820e8d1b8..0000000000 Binary files a/collects/icons/private/svg/misc/16/orange/disk-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/orange/disk-shiny.png b/collects/icons/private/svg/misc/16/orange/disk-shiny.png deleted file mode 100644 index 9bed22d4a7..0000000000 Binary files a/collects/icons/private/svg/misc/16/orange/disk-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/orange/running-diffuse.png b/collects/icons/private/svg/misc/16/orange/running-diffuse.png deleted file mode 100644 index 41a57a05ed..0000000000 Binary files a/collects/icons/private/svg/misc/16/orange/running-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/orange/running-shiny.png b/collects/icons/private/svg/misc/16/orange/running-shiny.png deleted file mode 100644 index 340ee3649f..0000000000 Binary files a/collects/icons/private/svg/misc/16/orange/running-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/orange/standing-diffuse.png b/collects/icons/private/svg/misc/16/orange/standing-diffuse.png deleted file mode 100644 index 819f728947..0000000000 Binary files a/collects/icons/private/svg/misc/16/orange/standing-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/orange/standing-shiny.png b/collects/icons/private/svg/misc/16/orange/standing-shiny.png deleted file mode 100644 index 4da921a7dd..0000000000 Binary files a/collects/icons/private/svg/misc/16/orange/standing-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/purple/disk-diffuse.png b/collects/icons/private/svg/misc/16/purple/disk-diffuse.png deleted file mode 100644 index 8a572d593c..0000000000 Binary files a/collects/icons/private/svg/misc/16/purple/disk-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/purple/disk-shiny.png b/collects/icons/private/svg/misc/16/purple/disk-shiny.png deleted file mode 100644 index 3b20341bbd..0000000000 Binary files a/collects/icons/private/svg/misc/16/purple/disk-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/purple/running-diffuse.png b/collects/icons/private/svg/misc/16/purple/running-diffuse.png deleted file mode 100644 index 03922edc60..0000000000 Binary files a/collects/icons/private/svg/misc/16/purple/running-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/purple/running-shiny.png b/collects/icons/private/svg/misc/16/purple/running-shiny.png deleted file mode 100644 index ab59f1ed84..0000000000 Binary files a/collects/icons/private/svg/misc/16/purple/running-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/purple/standing-diffuse.png b/collects/icons/private/svg/misc/16/purple/standing-diffuse.png deleted file mode 100644 index fd3854572f..0000000000 Binary files a/collects/icons/private/svg/misc/16/purple/standing-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/purple/standing-shiny.png b/collects/icons/private/svg/misc/16/purple/standing-shiny.png deleted file mode 100644 index 204638ea8c..0000000000 Binary files a/collects/icons/private/svg/misc/16/purple/standing-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/red/disk-diffuse.png b/collects/icons/private/svg/misc/16/red/disk-diffuse.png deleted file mode 100644 index 5c648d7d44..0000000000 Binary files a/collects/icons/private/svg/misc/16/red/disk-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/red/disk-shiny.png b/collects/icons/private/svg/misc/16/red/disk-shiny.png deleted file mode 100644 index 89b9042b6e..0000000000 Binary files a/collects/icons/private/svg/misc/16/red/disk-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/red/running-diffuse.png b/collects/icons/private/svg/misc/16/red/running-diffuse.png deleted file mode 100644 index c2f6539d48..0000000000 Binary files a/collects/icons/private/svg/misc/16/red/running-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/red/running-shiny.png b/collects/icons/private/svg/misc/16/red/running-shiny.png deleted file mode 100644 index d6306eeea4..0000000000 Binary files a/collects/icons/private/svg/misc/16/red/running-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/red/standing-diffuse.png b/collects/icons/private/svg/misc/16/red/standing-diffuse.png deleted file mode 100644 index 7f53abc1d2..0000000000 Binary files a/collects/icons/private/svg/misc/16/red/standing-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/red/standing-shiny.png b/collects/icons/private/svg/misc/16/red/standing-shiny.png deleted file mode 100644 index 9448d6856e..0000000000 Binary files a/collects/icons/private/svg/misc/16/red/standing-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/running-diffuse.png b/collects/icons/private/svg/misc/16/running-diffuse.png deleted file mode 100644 index 3cfb1cc116..0000000000 Binary files a/collects/icons/private/svg/misc/16/running-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/running-shiny.png b/collects/icons/private/svg/misc/16/running-shiny.png deleted file mode 100644 index aa191528cc..0000000000 Binary files a/collects/icons/private/svg/misc/16/running-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/standing-diffuse.png b/collects/icons/private/svg/misc/16/standing-diffuse.png deleted file mode 100644 index fad8789268..0000000000 Binary files a/collects/icons/private/svg/misc/16/standing-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/standing-shiny.png b/collects/icons/private/svg/misc/16/standing-shiny.png deleted file mode 100644 index a7de85dabf..0000000000 Binary files a/collects/icons/private/svg/misc/16/standing-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/white/disk-diffuse.png b/collects/icons/private/svg/misc/16/white/disk-diffuse.png deleted file mode 100644 index 139726e8b4..0000000000 Binary files a/collects/icons/private/svg/misc/16/white/disk-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/white/disk-shiny.png b/collects/icons/private/svg/misc/16/white/disk-shiny.png deleted file mode 100644 index 63f653c2f6..0000000000 Binary files a/collects/icons/private/svg/misc/16/white/disk-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/white/running-diffuse.png b/collects/icons/private/svg/misc/16/white/running-diffuse.png deleted file mode 100644 index 7a71ebbb3f..0000000000 Binary files a/collects/icons/private/svg/misc/16/white/running-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/white/running-shiny.png b/collects/icons/private/svg/misc/16/white/running-shiny.png deleted file mode 100644 index e43ce9ac63..0000000000 Binary files a/collects/icons/private/svg/misc/16/white/running-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/white/standing-diffuse.png b/collects/icons/private/svg/misc/16/white/standing-diffuse.png deleted file mode 100644 index d564f8e137..0000000000 Binary files a/collects/icons/private/svg/misc/16/white/standing-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/16/white/standing-shiny.png b/collects/icons/private/svg/misc/16/white/standing-shiny.png deleted file mode 100644 index 9b79481061..0000000000 Binary files a/collects/icons/private/svg/misc/16/white/standing-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/black/disk-diffuse.png b/collects/icons/private/svg/misc/32/black/disk-diffuse.png deleted file mode 100644 index 3e0820a655..0000000000 Binary files a/collects/icons/private/svg/misc/32/black/disk-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/black/disk-shiny.png b/collects/icons/private/svg/misc/32/black/disk-shiny.png deleted file mode 100644 index 06a48129e5..0000000000 Binary files a/collects/icons/private/svg/misc/32/black/disk-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/black/running-diffuse.png b/collects/icons/private/svg/misc/32/black/running-diffuse.png deleted file mode 100644 index 34d7303e1b..0000000000 Binary files a/collects/icons/private/svg/misc/32/black/running-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/black/running-shiny.png b/collects/icons/private/svg/misc/32/black/running-shiny.png deleted file mode 100644 index 129b329277..0000000000 Binary files a/collects/icons/private/svg/misc/32/black/running-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/black/standing-diffuse.png b/collects/icons/private/svg/misc/32/black/standing-diffuse.png deleted file mode 100644 index 5154fec5ca..0000000000 Binary files a/collects/icons/private/svg/misc/32/black/standing-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/black/standing-shiny.png b/collects/icons/private/svg/misc/32/black/standing-shiny.png deleted file mode 100644 index e8c6ad125e..0000000000 Binary files a/collects/icons/private/svg/misc/32/black/standing-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/blue/disk-diffuse.png b/collects/icons/private/svg/misc/32/blue/disk-diffuse.png deleted file mode 100644 index dd4bbd8720..0000000000 Binary files a/collects/icons/private/svg/misc/32/blue/disk-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/blue/disk-shiny.png b/collects/icons/private/svg/misc/32/blue/disk-shiny.png deleted file mode 100644 index 13626c0273..0000000000 Binary files a/collects/icons/private/svg/misc/32/blue/disk-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/blue/running-diffuse.png b/collects/icons/private/svg/misc/32/blue/running-diffuse.png deleted file mode 100644 index 9748910d6a..0000000000 Binary files a/collects/icons/private/svg/misc/32/blue/running-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/blue/running-shiny.png b/collects/icons/private/svg/misc/32/blue/running-shiny.png deleted file mode 100644 index 90482c819f..0000000000 Binary files a/collects/icons/private/svg/misc/32/blue/running-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/blue/standing-diffuse.png b/collects/icons/private/svg/misc/32/blue/standing-diffuse.png deleted file mode 100644 index a0c21909e3..0000000000 Binary files a/collects/icons/private/svg/misc/32/blue/standing-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/blue/standing-shiny.png b/collects/icons/private/svg/misc/32/blue/standing-shiny.png deleted file mode 100644 index 6fa8bb92d1..0000000000 Binary files a/collects/icons/private/svg/misc/32/blue/standing-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/cyan/disk-diffuse.png b/collects/icons/private/svg/misc/32/cyan/disk-diffuse.png deleted file mode 100644 index 87a0ac1bde..0000000000 Binary files a/collects/icons/private/svg/misc/32/cyan/disk-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/cyan/disk-shiny.png b/collects/icons/private/svg/misc/32/cyan/disk-shiny.png deleted file mode 100644 index 17a6c97f4c..0000000000 Binary files a/collects/icons/private/svg/misc/32/cyan/disk-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/cyan/running-diffuse.png b/collects/icons/private/svg/misc/32/cyan/running-diffuse.png deleted file mode 100644 index 77e93237ec..0000000000 Binary files a/collects/icons/private/svg/misc/32/cyan/running-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/cyan/running-shiny.png b/collects/icons/private/svg/misc/32/cyan/running-shiny.png deleted file mode 100644 index dab81067b7..0000000000 Binary files a/collects/icons/private/svg/misc/32/cyan/running-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/cyan/standing-diffuse.png b/collects/icons/private/svg/misc/32/cyan/standing-diffuse.png deleted file mode 100644 index dcc4569df7..0000000000 Binary files a/collects/icons/private/svg/misc/32/cyan/standing-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/cyan/standing-shiny.png b/collects/icons/private/svg/misc/32/cyan/standing-shiny.png deleted file mode 100644 index 49ecbc32fe..0000000000 Binary files a/collects/icons/private/svg/misc/32/cyan/standing-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/disk-diffuse.png b/collects/icons/private/svg/misc/32/disk-diffuse.png deleted file mode 100644 index a1ebfa4690..0000000000 Binary files a/collects/icons/private/svg/misc/32/disk-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/disk-shiny.png b/collects/icons/private/svg/misc/32/disk-shiny.png deleted file mode 100644 index fb78eac210..0000000000 Binary files a/collects/icons/private/svg/misc/32/disk-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/earth-diffuse.png b/collects/icons/private/svg/misc/32/earth-diffuse.png deleted file mode 100644 index e879aaf376..0000000000 Binary files a/collects/icons/private/svg/misc/32/earth-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/earth-shiny.png b/collects/icons/private/svg/misc/32/earth-shiny.png deleted file mode 100644 index 650710664e..0000000000 Binary files a/collects/icons/private/svg/misc/32/earth-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/green/disk-diffuse.png b/collects/icons/private/svg/misc/32/green/disk-diffuse.png deleted file mode 100644 index 3e80fd3207..0000000000 Binary files a/collects/icons/private/svg/misc/32/green/disk-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/green/disk-shiny.png b/collects/icons/private/svg/misc/32/green/disk-shiny.png deleted file mode 100644 index afeff18248..0000000000 Binary files a/collects/icons/private/svg/misc/32/green/disk-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/green/running-diffuse.png b/collects/icons/private/svg/misc/32/green/running-diffuse.png deleted file mode 100644 index 9692f5778a..0000000000 Binary files a/collects/icons/private/svg/misc/32/green/running-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/green/running-shiny.png b/collects/icons/private/svg/misc/32/green/running-shiny.png deleted file mode 100644 index a39197f47f..0000000000 Binary files a/collects/icons/private/svg/misc/32/green/running-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/green/standing-diffuse.png b/collects/icons/private/svg/misc/32/green/standing-diffuse.png deleted file mode 100644 index cf585aca0e..0000000000 Binary files a/collects/icons/private/svg/misc/32/green/standing-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/green/standing-shiny.png b/collects/icons/private/svg/misc/32/green/standing-shiny.png deleted file mode 100644 index 1177a1c0af..0000000000 Binary files a/collects/icons/private/svg/misc/32/green/standing-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/magnifying-glass-diffuse.png b/collects/icons/private/svg/misc/32/magnifying-glass-diffuse.png deleted file mode 100644 index 2cc9c843d3..0000000000 Binary files a/collects/icons/private/svg/misc/32/magnifying-glass-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/magnifying-glass-shiny.png b/collects/icons/private/svg/misc/32/magnifying-glass-shiny.png deleted file mode 100644 index ca97d3868d..0000000000 Binary files a/collects/icons/private/svg/misc/32/magnifying-glass-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/moon-diffuse.png b/collects/icons/private/svg/misc/32/moon-diffuse.png deleted file mode 100644 index f8166b0a5e..0000000000 Binary files a/collects/icons/private/svg/misc/32/moon-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/moon-shiny.png b/collects/icons/private/svg/misc/32/moon-shiny.png deleted file mode 100644 index bb3e46b66e..0000000000 Binary files a/collects/icons/private/svg/misc/32/moon-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/orange/disk-diffuse.png b/collects/icons/private/svg/misc/32/orange/disk-diffuse.png deleted file mode 100644 index e15fc6a9cf..0000000000 Binary files a/collects/icons/private/svg/misc/32/orange/disk-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/orange/disk-shiny.png b/collects/icons/private/svg/misc/32/orange/disk-shiny.png deleted file mode 100644 index 59c585bdc7..0000000000 Binary files a/collects/icons/private/svg/misc/32/orange/disk-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/orange/running-diffuse.png b/collects/icons/private/svg/misc/32/orange/running-diffuse.png deleted file mode 100644 index c36a3d1a09..0000000000 Binary files a/collects/icons/private/svg/misc/32/orange/running-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/orange/running-shiny.png b/collects/icons/private/svg/misc/32/orange/running-shiny.png deleted file mode 100644 index 5fc1c1c4ae..0000000000 Binary files a/collects/icons/private/svg/misc/32/orange/running-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/orange/standing-diffuse.png b/collects/icons/private/svg/misc/32/orange/standing-diffuse.png deleted file mode 100644 index 405b444893..0000000000 Binary files a/collects/icons/private/svg/misc/32/orange/standing-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/orange/standing-shiny.png b/collects/icons/private/svg/misc/32/orange/standing-shiny.png deleted file mode 100644 index 75c8ce8394..0000000000 Binary files a/collects/icons/private/svg/misc/32/orange/standing-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/purple/disk-diffuse.png b/collects/icons/private/svg/misc/32/purple/disk-diffuse.png deleted file mode 100644 index 645275a2c6..0000000000 Binary files a/collects/icons/private/svg/misc/32/purple/disk-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/purple/disk-shiny.png b/collects/icons/private/svg/misc/32/purple/disk-shiny.png deleted file mode 100644 index a865afbe57..0000000000 Binary files a/collects/icons/private/svg/misc/32/purple/disk-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/purple/running-diffuse.png b/collects/icons/private/svg/misc/32/purple/running-diffuse.png deleted file mode 100644 index 256c90456b..0000000000 Binary files a/collects/icons/private/svg/misc/32/purple/running-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/purple/running-shiny.png b/collects/icons/private/svg/misc/32/purple/running-shiny.png deleted file mode 100644 index 4771f4df21..0000000000 Binary files a/collects/icons/private/svg/misc/32/purple/running-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/purple/standing-diffuse.png b/collects/icons/private/svg/misc/32/purple/standing-diffuse.png deleted file mode 100644 index 1c420dadac..0000000000 Binary files a/collects/icons/private/svg/misc/32/purple/standing-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/purple/standing-shiny.png b/collects/icons/private/svg/misc/32/purple/standing-shiny.png deleted file mode 100644 index bce7c4ec73..0000000000 Binary files a/collects/icons/private/svg/misc/32/purple/standing-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/red/disk-diffuse.png b/collects/icons/private/svg/misc/32/red/disk-diffuse.png deleted file mode 100644 index a2e87f2cb5..0000000000 Binary files a/collects/icons/private/svg/misc/32/red/disk-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/red/disk-shiny.png b/collects/icons/private/svg/misc/32/red/disk-shiny.png deleted file mode 100644 index c7c5a34e87..0000000000 Binary files a/collects/icons/private/svg/misc/32/red/disk-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/red/running-diffuse.png b/collects/icons/private/svg/misc/32/red/running-diffuse.png deleted file mode 100644 index aa4c525476..0000000000 Binary files a/collects/icons/private/svg/misc/32/red/running-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/red/running-shiny.png b/collects/icons/private/svg/misc/32/red/running-shiny.png deleted file mode 100644 index c76b307cf1..0000000000 Binary files a/collects/icons/private/svg/misc/32/red/running-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/red/standing-diffuse.png b/collects/icons/private/svg/misc/32/red/standing-diffuse.png deleted file mode 100644 index d4e9b21ef3..0000000000 Binary files a/collects/icons/private/svg/misc/32/red/standing-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/red/standing-shiny.png b/collects/icons/private/svg/misc/32/red/standing-shiny.png deleted file mode 100644 index b9d107d370..0000000000 Binary files a/collects/icons/private/svg/misc/32/red/standing-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/running-diffuse.png b/collects/icons/private/svg/misc/32/running-diffuse.png deleted file mode 100644 index 1635e06d8f..0000000000 Binary files a/collects/icons/private/svg/misc/32/running-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/running-shiny.png b/collects/icons/private/svg/misc/32/running-shiny.png deleted file mode 100644 index 983686616c..0000000000 Binary files a/collects/icons/private/svg/misc/32/running-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/standing-diffuse.png b/collects/icons/private/svg/misc/32/standing-diffuse.png deleted file mode 100644 index cdf72ff4ce..0000000000 Binary files a/collects/icons/private/svg/misc/32/standing-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/standing-shiny.png b/collects/icons/private/svg/misc/32/standing-shiny.png deleted file mode 100644 index 71351dc893..0000000000 Binary files a/collects/icons/private/svg/misc/32/standing-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/white/disk-diffuse.png b/collects/icons/private/svg/misc/32/white/disk-diffuse.png deleted file mode 100644 index 8f2bf04497..0000000000 Binary files a/collects/icons/private/svg/misc/32/white/disk-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/white/disk-shiny.png b/collects/icons/private/svg/misc/32/white/disk-shiny.png deleted file mode 100644 index b6521eca26..0000000000 Binary files a/collects/icons/private/svg/misc/32/white/disk-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/white/running-diffuse.png b/collects/icons/private/svg/misc/32/white/running-diffuse.png deleted file mode 100644 index 234d1961e9..0000000000 Binary files a/collects/icons/private/svg/misc/32/white/running-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/white/running-shiny.png b/collects/icons/private/svg/misc/32/white/running-shiny.png deleted file mode 100644 index ce2b5116ff..0000000000 Binary files a/collects/icons/private/svg/misc/32/white/running-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/white/standing-diffuse.png b/collects/icons/private/svg/misc/32/white/standing-diffuse.png deleted file mode 100644 index 703ab6fc91..0000000000 Binary files a/collects/icons/private/svg/misc/32/white/standing-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/32/white/standing-shiny.png b/collects/icons/private/svg/misc/32/white/standing-shiny.png deleted file mode 100644 index b1c5724d96..0000000000 Binary files a/collects/icons/private/svg/misc/32/white/standing-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/black/disk-diffuse.png b/collects/icons/private/svg/misc/64/black/disk-diffuse.png deleted file mode 100644 index 3d13b2cf9c..0000000000 Binary files a/collects/icons/private/svg/misc/64/black/disk-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/black/disk-shiny.png b/collects/icons/private/svg/misc/64/black/disk-shiny.png deleted file mode 100644 index 38140d0812..0000000000 Binary files a/collects/icons/private/svg/misc/64/black/disk-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/black/running-diffuse.png b/collects/icons/private/svg/misc/64/black/running-diffuse.png deleted file mode 100644 index b853678b03..0000000000 Binary files a/collects/icons/private/svg/misc/64/black/running-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/black/running-shiny.png b/collects/icons/private/svg/misc/64/black/running-shiny.png deleted file mode 100644 index dd0944d161..0000000000 Binary files a/collects/icons/private/svg/misc/64/black/running-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/black/standing-diffuse.png b/collects/icons/private/svg/misc/64/black/standing-diffuse.png deleted file mode 100644 index c164fac25d..0000000000 Binary files a/collects/icons/private/svg/misc/64/black/standing-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/black/standing-shiny.png b/collects/icons/private/svg/misc/64/black/standing-shiny.png deleted file mode 100644 index d2a4e173fb..0000000000 Binary files a/collects/icons/private/svg/misc/64/black/standing-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/blue/disk-diffuse.png b/collects/icons/private/svg/misc/64/blue/disk-diffuse.png deleted file mode 100644 index 1987288a9f..0000000000 Binary files a/collects/icons/private/svg/misc/64/blue/disk-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/blue/disk-shiny.png b/collects/icons/private/svg/misc/64/blue/disk-shiny.png deleted file mode 100644 index 1f0d3f231c..0000000000 Binary files a/collects/icons/private/svg/misc/64/blue/disk-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/blue/running-diffuse.png b/collects/icons/private/svg/misc/64/blue/running-diffuse.png deleted file mode 100644 index 9496b5fa8b..0000000000 Binary files a/collects/icons/private/svg/misc/64/blue/running-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/blue/running-shiny.png b/collects/icons/private/svg/misc/64/blue/running-shiny.png deleted file mode 100644 index e62dbb6d3b..0000000000 Binary files a/collects/icons/private/svg/misc/64/blue/running-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/blue/standing-diffuse.png b/collects/icons/private/svg/misc/64/blue/standing-diffuse.png deleted file mode 100644 index 31daad881a..0000000000 Binary files a/collects/icons/private/svg/misc/64/blue/standing-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/blue/standing-shiny.png b/collects/icons/private/svg/misc/64/blue/standing-shiny.png deleted file mode 100644 index 9d5aaaf728..0000000000 Binary files a/collects/icons/private/svg/misc/64/blue/standing-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/cyan/disk-diffuse.png b/collects/icons/private/svg/misc/64/cyan/disk-diffuse.png deleted file mode 100644 index eaec3b2fe7..0000000000 Binary files a/collects/icons/private/svg/misc/64/cyan/disk-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/cyan/disk-shiny.png b/collects/icons/private/svg/misc/64/cyan/disk-shiny.png deleted file mode 100644 index 73a97f90b3..0000000000 Binary files a/collects/icons/private/svg/misc/64/cyan/disk-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/cyan/running-diffuse.png b/collects/icons/private/svg/misc/64/cyan/running-diffuse.png deleted file mode 100644 index f94fea8431..0000000000 Binary files a/collects/icons/private/svg/misc/64/cyan/running-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/cyan/running-shiny.png b/collects/icons/private/svg/misc/64/cyan/running-shiny.png deleted file mode 100644 index 939b56306a..0000000000 Binary files a/collects/icons/private/svg/misc/64/cyan/running-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/cyan/standing-diffuse.png b/collects/icons/private/svg/misc/64/cyan/standing-diffuse.png deleted file mode 100644 index 9db1250071..0000000000 Binary files a/collects/icons/private/svg/misc/64/cyan/standing-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/cyan/standing-shiny.png b/collects/icons/private/svg/misc/64/cyan/standing-shiny.png deleted file mode 100644 index 72cf96d97a..0000000000 Binary files a/collects/icons/private/svg/misc/64/cyan/standing-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/disk-diffuse.png b/collects/icons/private/svg/misc/64/disk-diffuse.png deleted file mode 100644 index efaf4d1643..0000000000 Binary files a/collects/icons/private/svg/misc/64/disk-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/disk-shiny.png b/collects/icons/private/svg/misc/64/disk-shiny.png deleted file mode 100644 index bf4fa5239a..0000000000 Binary files a/collects/icons/private/svg/misc/64/disk-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/earth-diffuse.png b/collects/icons/private/svg/misc/64/earth-diffuse.png deleted file mode 100644 index afa8acd04e..0000000000 Binary files a/collects/icons/private/svg/misc/64/earth-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/earth-shiny.png b/collects/icons/private/svg/misc/64/earth-shiny.png deleted file mode 100644 index 5f07641775..0000000000 Binary files a/collects/icons/private/svg/misc/64/earth-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/green/disk-diffuse.png b/collects/icons/private/svg/misc/64/green/disk-diffuse.png deleted file mode 100644 index 659ea63659..0000000000 Binary files a/collects/icons/private/svg/misc/64/green/disk-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/green/disk-shiny.png b/collects/icons/private/svg/misc/64/green/disk-shiny.png deleted file mode 100644 index 9d8c9c8964..0000000000 Binary files a/collects/icons/private/svg/misc/64/green/disk-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/green/running-diffuse.png b/collects/icons/private/svg/misc/64/green/running-diffuse.png deleted file mode 100644 index 1b2164adcb..0000000000 Binary files a/collects/icons/private/svg/misc/64/green/running-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/green/running-shiny.png b/collects/icons/private/svg/misc/64/green/running-shiny.png deleted file mode 100644 index 1c759eba82..0000000000 Binary files a/collects/icons/private/svg/misc/64/green/running-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/green/standing-diffuse.png b/collects/icons/private/svg/misc/64/green/standing-diffuse.png deleted file mode 100644 index 6f55fe0450..0000000000 Binary files a/collects/icons/private/svg/misc/64/green/standing-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/green/standing-shiny.png b/collects/icons/private/svg/misc/64/green/standing-shiny.png deleted file mode 100644 index 4bbf4b194a..0000000000 Binary files a/collects/icons/private/svg/misc/64/green/standing-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/magnifying-glass-diffuse.png b/collects/icons/private/svg/misc/64/magnifying-glass-diffuse.png deleted file mode 100644 index 52f8fe26f2..0000000000 Binary files a/collects/icons/private/svg/misc/64/magnifying-glass-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/magnifying-glass-shiny.png b/collects/icons/private/svg/misc/64/magnifying-glass-shiny.png deleted file mode 100644 index bf41d0ebda..0000000000 Binary files a/collects/icons/private/svg/misc/64/magnifying-glass-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/moon-diffuse.png b/collects/icons/private/svg/misc/64/moon-diffuse.png deleted file mode 100644 index 633e850d7e..0000000000 Binary files a/collects/icons/private/svg/misc/64/moon-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/moon-shiny.png b/collects/icons/private/svg/misc/64/moon-shiny.png deleted file mode 100644 index f50a12bc40..0000000000 Binary files a/collects/icons/private/svg/misc/64/moon-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/orange/disk-diffuse.png b/collects/icons/private/svg/misc/64/orange/disk-diffuse.png deleted file mode 100644 index 7ad9eb85c4..0000000000 Binary files a/collects/icons/private/svg/misc/64/orange/disk-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/orange/disk-shiny.png b/collects/icons/private/svg/misc/64/orange/disk-shiny.png deleted file mode 100644 index a8ca74e01e..0000000000 Binary files a/collects/icons/private/svg/misc/64/orange/disk-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/orange/running-diffuse.png b/collects/icons/private/svg/misc/64/orange/running-diffuse.png deleted file mode 100644 index e06c0677fe..0000000000 Binary files a/collects/icons/private/svg/misc/64/orange/running-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/orange/running-shiny.png b/collects/icons/private/svg/misc/64/orange/running-shiny.png deleted file mode 100644 index 8023fd59e7..0000000000 Binary files a/collects/icons/private/svg/misc/64/orange/running-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/orange/standing-diffuse.png b/collects/icons/private/svg/misc/64/orange/standing-diffuse.png deleted file mode 100644 index dc4250df74..0000000000 Binary files a/collects/icons/private/svg/misc/64/orange/standing-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/orange/standing-shiny.png b/collects/icons/private/svg/misc/64/orange/standing-shiny.png deleted file mode 100644 index 3e56b2a492..0000000000 Binary files a/collects/icons/private/svg/misc/64/orange/standing-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/purple/disk-diffuse.png b/collects/icons/private/svg/misc/64/purple/disk-diffuse.png deleted file mode 100644 index 727a2f4b36..0000000000 Binary files a/collects/icons/private/svg/misc/64/purple/disk-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/purple/disk-shiny.png b/collects/icons/private/svg/misc/64/purple/disk-shiny.png deleted file mode 100644 index 1fff1baf46..0000000000 Binary files a/collects/icons/private/svg/misc/64/purple/disk-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/purple/running-diffuse.png b/collects/icons/private/svg/misc/64/purple/running-diffuse.png deleted file mode 100644 index 95a5737cd3..0000000000 Binary files a/collects/icons/private/svg/misc/64/purple/running-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/purple/running-shiny.png b/collects/icons/private/svg/misc/64/purple/running-shiny.png deleted file mode 100644 index 84d4116d53..0000000000 Binary files a/collects/icons/private/svg/misc/64/purple/running-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/purple/standing-diffuse.png b/collects/icons/private/svg/misc/64/purple/standing-diffuse.png deleted file mode 100644 index f587a5d8c1..0000000000 Binary files a/collects/icons/private/svg/misc/64/purple/standing-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/purple/standing-shiny.png b/collects/icons/private/svg/misc/64/purple/standing-shiny.png deleted file mode 100644 index 05e40c135f..0000000000 Binary files a/collects/icons/private/svg/misc/64/purple/standing-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/red/disk-diffuse.png b/collects/icons/private/svg/misc/64/red/disk-diffuse.png deleted file mode 100644 index 11dd976346..0000000000 Binary files a/collects/icons/private/svg/misc/64/red/disk-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/red/disk-shiny.png b/collects/icons/private/svg/misc/64/red/disk-shiny.png deleted file mode 100644 index 787990dadd..0000000000 Binary files a/collects/icons/private/svg/misc/64/red/disk-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/red/running-diffuse.png b/collects/icons/private/svg/misc/64/red/running-diffuse.png deleted file mode 100644 index 8d005ba958..0000000000 Binary files a/collects/icons/private/svg/misc/64/red/running-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/red/running-shiny.png b/collects/icons/private/svg/misc/64/red/running-shiny.png deleted file mode 100644 index 6d87f0ffee..0000000000 Binary files a/collects/icons/private/svg/misc/64/red/running-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/red/standing-diffuse.png b/collects/icons/private/svg/misc/64/red/standing-diffuse.png deleted file mode 100644 index 28d504ecbb..0000000000 Binary files a/collects/icons/private/svg/misc/64/red/standing-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/red/standing-shiny.png b/collects/icons/private/svg/misc/64/red/standing-shiny.png deleted file mode 100644 index 520c601f12..0000000000 Binary files a/collects/icons/private/svg/misc/64/red/standing-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/running-diffuse.png b/collects/icons/private/svg/misc/64/running-diffuse.png deleted file mode 100644 index 55c06be082..0000000000 Binary files a/collects/icons/private/svg/misc/64/running-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/running-shiny.png b/collects/icons/private/svg/misc/64/running-shiny.png deleted file mode 100644 index aead714eef..0000000000 Binary files a/collects/icons/private/svg/misc/64/running-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/standing-diffuse.png b/collects/icons/private/svg/misc/64/standing-diffuse.png deleted file mode 100644 index 2209cbdfc8..0000000000 Binary files a/collects/icons/private/svg/misc/64/standing-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/standing-shiny.png b/collects/icons/private/svg/misc/64/standing-shiny.png deleted file mode 100644 index aefec3d399..0000000000 Binary files a/collects/icons/private/svg/misc/64/standing-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/white/disk-diffuse.png b/collects/icons/private/svg/misc/64/white/disk-diffuse.png deleted file mode 100644 index dd26f6c9fb..0000000000 Binary files a/collects/icons/private/svg/misc/64/white/disk-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/white/disk-shiny.png b/collects/icons/private/svg/misc/64/white/disk-shiny.png deleted file mode 100644 index 8a8f6ededa..0000000000 Binary files a/collects/icons/private/svg/misc/64/white/disk-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/white/running-diffuse.png b/collects/icons/private/svg/misc/64/white/running-diffuse.png deleted file mode 100644 index b32eb1d7dc..0000000000 Binary files a/collects/icons/private/svg/misc/64/white/running-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/white/running-shiny.png b/collects/icons/private/svg/misc/64/white/running-shiny.png deleted file mode 100644 index 17ccd498f2..0000000000 Binary files a/collects/icons/private/svg/misc/64/white/running-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/white/standing-diffuse.png b/collects/icons/private/svg/misc/64/white/standing-diffuse.png deleted file mode 100644 index 6bdc9e5edb..0000000000 Binary files a/collects/icons/private/svg/misc/64/white/standing-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/64/white/standing-shiny.png b/collects/icons/private/svg/misc/64/white/standing-shiny.png deleted file mode 100644 index 1290673acc..0000000000 Binary files a/collects/icons/private/svg/misc/64/white/standing-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/disk-diffuse.svg b/collects/icons/private/svg/misc/disk-diffuse.svg deleted file mode 100644 index 300e9dab0c..0000000000 --- a/collects/icons/private/svg/misc/disk-diffuse.svg +++ /dev/null @@ -1,382 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - diff --git a/collects/icons/private/svg/misc/disk-shiny.svg b/collects/icons/private/svg/misc/disk-shiny.svg deleted file mode 100644 index b85a9ec5db..0000000000 --- a/collects/icons/private/svg/misc/disk-shiny.svg +++ /dev/null @@ -1,333 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - diff --git a/collects/icons/private/svg/misc/earth-diffuse.svg b/collects/icons/private/svg/misc/earth-diffuse.svg deleted file mode 100644 index 2eff2ea49a..0000000000 --- a/collects/icons/private/svg/misc/earth-diffuse.svg +++ /dev/null @@ -1,354 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - Jakub Steiner - - - - - Tuomas Kuosmanen - - - - http://jimmac.musichall.cz - - - internet - tools - applications - category - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/collects/icons/private/svg/misc/earth-shiny.svg b/collects/icons/private/svg/misc/earth-shiny.svg deleted file mode 100644 index 7af7048975..0000000000 --- a/collects/icons/private/svg/misc/earth-shiny.svg +++ /dev/null @@ -1,783 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - Jakub Steiner - - - - - Tuomas Kuosmanen - - - - http://jimmac.musichall.cz - - - internet - tools - applications - category - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/collects/icons/private/svg/misc/magnifying-glass-diffuse.svg b/collects/icons/private/svg/misc/magnifying-glass-diffuse.svg deleted file mode 100644 index 12641958b0..0000000000 --- a/collects/icons/private/svg/misc/magnifying-glass-diffuse.svg +++ /dev/null @@ -1,345 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - diff --git a/collects/icons/private/svg/misc/magnifying-glass-shiny.svg b/collects/icons/private/svg/misc/magnifying-glass-shiny.svg deleted file mode 100644 index 8dda1ad69a..0000000000 --- a/collects/icons/private/svg/misc/magnifying-glass-shiny.svg +++ /dev/null @@ -1,353 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - diff --git a/collects/icons/private/svg/misc/moon-diffuse.svg b/collects/icons/private/svg/misc/moon-diffuse.svg deleted file mode 100644 index 19e3f97018..0000000000 --- a/collects/icons/private/svg/misc/moon-diffuse.svg +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - Jakub Steiner - - - - - Tuomas Kuosmanen - - - - http://jimmac.musichall.cz - - - internet - tools - applications - category - - - - - - - - - - - - - - - - - - - - diff --git a/collects/icons/private/svg/misc/moon-shiny.svg b/collects/icons/private/svg/misc/moon-shiny.svg deleted file mode 100644 index 82e2188332..0000000000 --- a/collects/icons/private/svg/misc/moon-shiny.svg +++ /dev/null @@ -1,316 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - Jakub Steiner - - - - - Tuomas Kuosmanen - - - - http://jimmac.musichall.cz - - - internet - tools - applications - category - - - - - - - - - - - - - - - - - - - - - - diff --git a/collects/icons/private/svg/misc/moon-texture.png b/collects/icons/private/svg/misc/moon-texture.png deleted file mode 100644 index 882e8a4b3f..0000000000 Binary files a/collects/icons/private/svg/misc/moon-texture.png and /dev/null differ diff --git a/collects/icons/private/svg/misc/running-diffuse.svg b/collects/icons/private/svg/misc/running-diffuse.svg deleted file mode 100644 index e330586f68..0000000000 --- a/collects/icons/private/svg/misc/running-diffuse.svg +++ /dev/null @@ -1,227 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - diff --git a/collects/icons/private/svg/misc/running-shiny.svg b/collects/icons/private/svg/misc/running-shiny.svg deleted file mode 100644 index e52741993b..0000000000 --- a/collects/icons/private/svg/misc/running-shiny.svg +++ /dev/null @@ -1,340 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - diff --git a/collects/icons/private/svg/misc/standing-diffuse.svg b/collects/icons/private/svg/misc/standing-diffuse.svg deleted file mode 100644 index 9c11f4f26d..0000000000 --- a/collects/icons/private/svg/misc/standing-diffuse.svg +++ /dev/null @@ -1,325 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - diff --git a/collects/icons/private/svg/misc/standing-shiny.svg b/collects/icons/private/svg/misc/standing-shiny.svg deleted file mode 100644 index ea54c28cfc..0000000000 --- a/collects/icons/private/svg/misc/standing-shiny.svg +++ /dev/null @@ -1,341 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - diff --git a/collects/icons/private/svg/misc/stickman.txt b/collects/icons/private/svg/misc/stickman.txt deleted file mode 100644 index dbd44a83e8..0000000000 --- a/collects/icons/private/svg/misc/stickman.txt +++ /dev/null @@ -1,12 +0,0 @@ -How to make a stickman shape - -0. Set up a grid (in Inkscape, File -> Document Properties...) -1. Draw lines of width 3, round join, round cap -2. Select all, convert strokes to path (in Inkscape, Path -> Stroke to Path) -3. Set stroke solid, width 1 -4. Union -5. Paste head from another stickman icon -6. Turn off the grid -7. Adjust shoulders around head (manually delete/change Bezier curve handles) -8. Widen and drop points under armpits to thicken torso slightly - diff --git a/collects/icons/private/svg/render-png.rkt b/collects/icons/private/svg/render-png.rkt deleted file mode 100644 index e08b24d4bf..0000000000 --- a/collects/icons/private/svg/render-png.rkt +++ /dev/null @@ -1,73 +0,0 @@ -#lang racket/base - -;; Re-renders every SVG as PNGs of different sizes - -(require racket/file xml - "../utils.rkt") - -(define render-icon (make-parameter render/inkscape)) - -(define (clean-icons dir) - (printf "Cleaning out icons in ~a~n" dir) - (printf "----------------------------------------~n") - (define files (directory-list dir)) - (for ([file (in-list files)]) - (define full-path (build-path dir file)) - (when (directory-exists? full-path) - (cond [(exact-integer? (string->number (path->string file))) - (printf "Deleting directory ~a~n" full-path) - (delete-directory/files full-path)] - [else - (clean-icons full-path)])))) - -(define (render-icon/color src-dir src-file color height) - (cond [color - (define src-path (build-path src-dir src-file)) - (define dest-dir (build-path src-dir (format "~a/~a" (number->string height) color))) - (define dest-file (path-replace-suffix src-file ".png")) - (define dest-path (build-path dest-dir dest-file)) - (when (or (not (file-exists? dest-path)) - ((file-or-directory-modify-seconds dest-path) - . < . (file-or-directory-modify-seconds src-path))) - (define doc (call-with-input-file* src-path read-xml)) - (define new-doc (colorize-svg doc - (hash-ref diffuse-gradient-stops color) - (hash-ref undershine-gradient-stops color))) - (when new-doc - (define temp-path (make-temporary-file (format "~a-~~a.svg" - (path-replace-suffix src-file "")))) - (dynamic-wind - (λ () (void)) - (λ () - (call-with-output-file* temp-path (λ (out) (write-xml new-doc out)) - #:exists 'truncate) - ((render-icon) temp-path dest-dir dest-file height)) - (λ () (delete-file temp-path)))))] - [else - (define src-path (build-path src-dir src-file)) - (define dest-dir (build-path src-dir (number->string height))) - (define dest-file (path-replace-suffix src-file ".png")) - (define dest-path (build-path dest-dir dest-file)) - (when (or (not (file-exists? dest-path)) - ((file-or-directory-modify-seconds dest-path) - . < . (file-or-directory-modify-seconds src-path))) - ((render-icon) src-path dest-dir dest-file height))])) - -(define (render-icons dir) - (printf "Rendering icons in ~a~n" dir) - (printf "----------------------------------------~n") - (define files (directory-list dir)) - (define-values (base-dir dir-path _) (split-path dir)) - (define heights (icon-category-heights (path->string dir-path))) - (for ([file (in-list files)]) - (define file-path (build-path dir file)) - (cond [(directory-exists? file-path) (render-icons file-path)] - [(svg-file? file) - (for* ([height (in-list heights)] - [color (in-list icon-colors)]) - (render-icon/color dir file color height))]))) - -;; Probably shouldn't ever do this -;(clean-icons svg-icons-base-path) - -(render-icons svg-icons-base-path) diff --git a/collects/icons/private/svg/sign/16/black/stop-diffuse.png b/collects/icons/private/svg/sign/16/black/stop-diffuse.png deleted file mode 100644 index 06324db95b..0000000000 Binary files a/collects/icons/private/svg/sign/16/black/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/16/black/stop-shiny.png b/collects/icons/private/svg/sign/16/black/stop-shiny.png deleted file mode 100644 index ef0d43635b..0000000000 Binary files a/collects/icons/private/svg/sign/16/black/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/16/blue/stop-diffuse.png b/collects/icons/private/svg/sign/16/blue/stop-diffuse.png deleted file mode 100644 index 1b695f2b79..0000000000 Binary files a/collects/icons/private/svg/sign/16/blue/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/16/blue/stop-shiny.png b/collects/icons/private/svg/sign/16/blue/stop-shiny.png deleted file mode 100644 index 01ee8bfb8f..0000000000 Binary files a/collects/icons/private/svg/sign/16/blue/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/16/cyan/stop-diffuse.png b/collects/icons/private/svg/sign/16/cyan/stop-diffuse.png deleted file mode 100644 index e925c1e25f..0000000000 Binary files a/collects/icons/private/svg/sign/16/cyan/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/16/cyan/stop-shiny.png b/collects/icons/private/svg/sign/16/cyan/stop-shiny.png deleted file mode 100644 index 5ceeda525b..0000000000 Binary files a/collects/icons/private/svg/sign/16/cyan/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/16/green/stop-diffuse.png b/collects/icons/private/svg/sign/16/green/stop-diffuse.png deleted file mode 100644 index 5cc8596642..0000000000 Binary files a/collects/icons/private/svg/sign/16/green/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/16/green/stop-shiny.png b/collects/icons/private/svg/sign/16/green/stop-shiny.png deleted file mode 100644 index 23615b0558..0000000000 Binary files a/collects/icons/private/svg/sign/16/green/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/16/orange/stop-diffuse.png b/collects/icons/private/svg/sign/16/orange/stop-diffuse.png deleted file mode 100644 index 1635fce8ac..0000000000 Binary files a/collects/icons/private/svg/sign/16/orange/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/16/orange/stop-shiny.png b/collects/icons/private/svg/sign/16/orange/stop-shiny.png deleted file mode 100644 index 8d85c9a6a6..0000000000 Binary files a/collects/icons/private/svg/sign/16/orange/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/16/purple/stop-diffuse.png b/collects/icons/private/svg/sign/16/purple/stop-diffuse.png deleted file mode 100644 index 14b9091c6f..0000000000 Binary files a/collects/icons/private/svg/sign/16/purple/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/16/purple/stop-shiny.png b/collects/icons/private/svg/sign/16/purple/stop-shiny.png deleted file mode 100644 index 085a44bb8c..0000000000 Binary files a/collects/icons/private/svg/sign/16/purple/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/16/red/stop-diffuse.png b/collects/icons/private/svg/sign/16/red/stop-diffuse.png deleted file mode 100644 index 6f78a76c0e..0000000000 Binary files a/collects/icons/private/svg/sign/16/red/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/16/red/stop-shiny.png b/collects/icons/private/svg/sign/16/red/stop-shiny.png deleted file mode 100644 index 5a78e1404a..0000000000 Binary files a/collects/icons/private/svg/sign/16/red/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/16/stop-diffuse.png b/collects/icons/private/svg/sign/16/stop-diffuse.png deleted file mode 100644 index e298e6899a..0000000000 Binary files a/collects/icons/private/svg/sign/16/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/16/stop-shiny.png b/collects/icons/private/svg/sign/16/stop-shiny.png deleted file mode 100644 index 840f58a212..0000000000 Binary files a/collects/icons/private/svg/sign/16/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/16/white/stop-diffuse.png b/collects/icons/private/svg/sign/16/white/stop-diffuse.png deleted file mode 100644 index 36b22197ef..0000000000 Binary files a/collects/icons/private/svg/sign/16/white/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/16/white/stop-shiny.png b/collects/icons/private/svg/sign/16/white/stop-shiny.png deleted file mode 100644 index ec159a8caa..0000000000 Binary files a/collects/icons/private/svg/sign/16/white/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/32/black/stop-diffuse.png b/collects/icons/private/svg/sign/32/black/stop-diffuse.png deleted file mode 100644 index ca1d06da18..0000000000 Binary files a/collects/icons/private/svg/sign/32/black/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/32/black/stop-shiny.png b/collects/icons/private/svg/sign/32/black/stop-shiny.png deleted file mode 100644 index 621b8c110b..0000000000 Binary files a/collects/icons/private/svg/sign/32/black/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/32/blue/stop-diffuse.png b/collects/icons/private/svg/sign/32/blue/stop-diffuse.png deleted file mode 100644 index 58683c7f08..0000000000 Binary files a/collects/icons/private/svg/sign/32/blue/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/32/blue/stop-shiny.png b/collects/icons/private/svg/sign/32/blue/stop-shiny.png deleted file mode 100644 index 0f2695a0c0..0000000000 Binary files a/collects/icons/private/svg/sign/32/blue/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/32/cyan/stop-diffuse.png b/collects/icons/private/svg/sign/32/cyan/stop-diffuse.png deleted file mode 100644 index 7856141315..0000000000 Binary files a/collects/icons/private/svg/sign/32/cyan/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/32/cyan/stop-shiny.png b/collects/icons/private/svg/sign/32/cyan/stop-shiny.png deleted file mode 100644 index 909b0ca164..0000000000 Binary files a/collects/icons/private/svg/sign/32/cyan/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/32/green/stop-diffuse.png b/collects/icons/private/svg/sign/32/green/stop-diffuse.png deleted file mode 100644 index fa9184cda8..0000000000 Binary files a/collects/icons/private/svg/sign/32/green/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/32/green/stop-shiny.png b/collects/icons/private/svg/sign/32/green/stop-shiny.png deleted file mode 100644 index d9f67ba0bd..0000000000 Binary files a/collects/icons/private/svg/sign/32/green/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/32/orange/stop-diffuse.png b/collects/icons/private/svg/sign/32/orange/stop-diffuse.png deleted file mode 100644 index 3bdef123ac..0000000000 Binary files a/collects/icons/private/svg/sign/32/orange/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/32/orange/stop-shiny.png b/collects/icons/private/svg/sign/32/orange/stop-shiny.png deleted file mode 100644 index d064b08ba0..0000000000 Binary files a/collects/icons/private/svg/sign/32/orange/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/32/purple/stop-diffuse.png b/collects/icons/private/svg/sign/32/purple/stop-diffuse.png deleted file mode 100644 index ff48b89f01..0000000000 Binary files a/collects/icons/private/svg/sign/32/purple/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/32/purple/stop-shiny.png b/collects/icons/private/svg/sign/32/purple/stop-shiny.png deleted file mode 100644 index 1ee567be0a..0000000000 Binary files a/collects/icons/private/svg/sign/32/purple/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/32/red/stop-diffuse.png b/collects/icons/private/svg/sign/32/red/stop-diffuse.png deleted file mode 100644 index d17bc7073b..0000000000 Binary files a/collects/icons/private/svg/sign/32/red/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/32/red/stop-shiny.png b/collects/icons/private/svg/sign/32/red/stop-shiny.png deleted file mode 100644 index 04f3331b8f..0000000000 Binary files a/collects/icons/private/svg/sign/32/red/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/32/stop-diffuse.png b/collects/icons/private/svg/sign/32/stop-diffuse.png deleted file mode 100644 index 8d5f46fad5..0000000000 Binary files a/collects/icons/private/svg/sign/32/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/32/stop-shiny.png b/collects/icons/private/svg/sign/32/stop-shiny.png deleted file mode 100644 index 729670fa88..0000000000 Binary files a/collects/icons/private/svg/sign/32/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/32/white/stop-diffuse.png b/collects/icons/private/svg/sign/32/white/stop-diffuse.png deleted file mode 100644 index 350bd5110a..0000000000 Binary files a/collects/icons/private/svg/sign/32/white/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/32/white/stop-shiny.png b/collects/icons/private/svg/sign/32/white/stop-shiny.png deleted file mode 100644 index 44a3f20951..0000000000 Binary files a/collects/icons/private/svg/sign/32/white/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/64/black/stop-diffuse.png b/collects/icons/private/svg/sign/64/black/stop-diffuse.png deleted file mode 100644 index bc8c645e8d..0000000000 Binary files a/collects/icons/private/svg/sign/64/black/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/64/black/stop-shiny.png b/collects/icons/private/svg/sign/64/black/stop-shiny.png deleted file mode 100644 index b8df5b7c96..0000000000 Binary files a/collects/icons/private/svg/sign/64/black/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/64/blue/stop-diffuse.png b/collects/icons/private/svg/sign/64/blue/stop-diffuse.png deleted file mode 100644 index a541cbe469..0000000000 Binary files a/collects/icons/private/svg/sign/64/blue/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/64/blue/stop-shiny.png b/collects/icons/private/svg/sign/64/blue/stop-shiny.png deleted file mode 100644 index ab55bad584..0000000000 Binary files a/collects/icons/private/svg/sign/64/blue/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/64/cyan/stop-diffuse.png b/collects/icons/private/svg/sign/64/cyan/stop-diffuse.png deleted file mode 100644 index f7ce8368e2..0000000000 Binary files a/collects/icons/private/svg/sign/64/cyan/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/64/cyan/stop-shiny.png b/collects/icons/private/svg/sign/64/cyan/stop-shiny.png deleted file mode 100644 index f58b4bc9db..0000000000 Binary files a/collects/icons/private/svg/sign/64/cyan/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/64/green/stop-diffuse.png b/collects/icons/private/svg/sign/64/green/stop-diffuse.png deleted file mode 100644 index 672f477e3f..0000000000 Binary files a/collects/icons/private/svg/sign/64/green/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/64/green/stop-shiny.png b/collects/icons/private/svg/sign/64/green/stop-shiny.png deleted file mode 100644 index c68023e427..0000000000 Binary files a/collects/icons/private/svg/sign/64/green/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/64/orange/stop-diffuse.png b/collects/icons/private/svg/sign/64/orange/stop-diffuse.png deleted file mode 100644 index b6d56cd399..0000000000 Binary files a/collects/icons/private/svg/sign/64/orange/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/64/orange/stop-shiny.png b/collects/icons/private/svg/sign/64/orange/stop-shiny.png deleted file mode 100644 index 0ca73b2b91..0000000000 Binary files a/collects/icons/private/svg/sign/64/orange/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/64/purple/stop-diffuse.png b/collects/icons/private/svg/sign/64/purple/stop-diffuse.png deleted file mode 100644 index 04d394c569..0000000000 Binary files a/collects/icons/private/svg/sign/64/purple/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/64/purple/stop-shiny.png b/collects/icons/private/svg/sign/64/purple/stop-shiny.png deleted file mode 100644 index fd5b062f56..0000000000 Binary files a/collects/icons/private/svg/sign/64/purple/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/64/red/stop-diffuse.png b/collects/icons/private/svg/sign/64/red/stop-diffuse.png deleted file mode 100644 index 66d77c5e38..0000000000 Binary files a/collects/icons/private/svg/sign/64/red/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/64/red/stop-shiny.png b/collects/icons/private/svg/sign/64/red/stop-shiny.png deleted file mode 100644 index f0c6dfbd5b..0000000000 Binary files a/collects/icons/private/svg/sign/64/red/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/64/stop-diffuse.png b/collects/icons/private/svg/sign/64/stop-diffuse.png deleted file mode 100644 index 0463f05314..0000000000 Binary files a/collects/icons/private/svg/sign/64/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/64/stop-shiny.png b/collects/icons/private/svg/sign/64/stop-shiny.png deleted file mode 100644 index 4240a5502c..0000000000 Binary files a/collects/icons/private/svg/sign/64/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/64/white/stop-diffuse.png b/collects/icons/private/svg/sign/64/white/stop-diffuse.png deleted file mode 100644 index c65a3a79a7..0000000000 Binary files a/collects/icons/private/svg/sign/64/white/stop-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/64/white/stop-shiny.png b/collects/icons/private/svg/sign/64/white/stop-shiny.png deleted file mode 100644 index b3e5f76154..0000000000 Binary files a/collects/icons/private/svg/sign/64/white/stop-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/sign/stop-diffuse.svg b/collects/icons/private/svg/sign/stop-diffuse.svg deleted file mode 100644 index 344b52bd06..0000000000 --- a/collects/icons/private/svg/sign/stop-diffuse.svg +++ /dev/null @@ -1,231 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - diff --git a/collects/icons/private/svg/sign/stop-shiny.svg b/collects/icons/private/svg/sign/stop-shiny.svg deleted file mode 100644 index 265a50d790..0000000000 --- a/collects/icons/private/svg/sign/stop-shiny.svg +++ /dev/null @@ -1,302 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - diff --git a/collects/icons/private/svg/symbol/16/black/plus-diffuse.png b/collects/icons/private/svg/symbol/16/black/plus-diffuse.png deleted file mode 100644 index 46cf012de1..0000000000 Binary files a/collects/icons/private/svg/symbol/16/black/plus-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/black/plus-shiny.png b/collects/icons/private/svg/symbol/16/black/plus-shiny.png deleted file mode 100644 index 0116a3457f..0000000000 Binary files a/collects/icons/private/svg/symbol/16/black/plus-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/black/times-diffuse.png b/collects/icons/private/svg/symbol/16/black/times-diffuse.png deleted file mode 100644 index 4f53554d1f..0000000000 Binary files a/collects/icons/private/svg/symbol/16/black/times-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/black/times-shiny.png b/collects/icons/private/svg/symbol/16/black/times-shiny.png deleted file mode 100644 index 5a1b7a3d16..0000000000 Binary files a/collects/icons/private/svg/symbol/16/black/times-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/blue/plus-diffuse.png b/collects/icons/private/svg/symbol/16/blue/plus-diffuse.png deleted file mode 100644 index a48f22b31b..0000000000 Binary files a/collects/icons/private/svg/symbol/16/blue/plus-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/blue/plus-shiny.png b/collects/icons/private/svg/symbol/16/blue/plus-shiny.png deleted file mode 100644 index 03ff5806c1..0000000000 Binary files a/collects/icons/private/svg/symbol/16/blue/plus-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/blue/times-diffuse.png b/collects/icons/private/svg/symbol/16/blue/times-diffuse.png deleted file mode 100644 index 4cc84285f1..0000000000 Binary files a/collects/icons/private/svg/symbol/16/blue/times-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/blue/times-shiny.png b/collects/icons/private/svg/symbol/16/blue/times-shiny.png deleted file mode 100644 index 09d3e408ac..0000000000 Binary files a/collects/icons/private/svg/symbol/16/blue/times-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/cyan/plus-diffuse.png b/collects/icons/private/svg/symbol/16/cyan/plus-diffuse.png deleted file mode 100644 index b5e9f76bd6..0000000000 Binary files a/collects/icons/private/svg/symbol/16/cyan/plus-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/cyan/plus-shiny.png b/collects/icons/private/svg/symbol/16/cyan/plus-shiny.png deleted file mode 100644 index 88d7f69f30..0000000000 Binary files a/collects/icons/private/svg/symbol/16/cyan/plus-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/cyan/times-diffuse.png b/collects/icons/private/svg/symbol/16/cyan/times-diffuse.png deleted file mode 100644 index 7498a2dae1..0000000000 Binary files a/collects/icons/private/svg/symbol/16/cyan/times-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/cyan/times-shiny.png b/collects/icons/private/svg/symbol/16/cyan/times-shiny.png deleted file mode 100644 index 8169750691..0000000000 Binary files a/collects/icons/private/svg/symbol/16/cyan/times-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/green/plus-diffuse.png b/collects/icons/private/svg/symbol/16/green/plus-diffuse.png deleted file mode 100644 index 63ba2aa648..0000000000 Binary files a/collects/icons/private/svg/symbol/16/green/plus-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/green/plus-shiny.png b/collects/icons/private/svg/symbol/16/green/plus-shiny.png deleted file mode 100644 index 2bb417efaf..0000000000 Binary files a/collects/icons/private/svg/symbol/16/green/plus-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/green/times-diffuse.png b/collects/icons/private/svg/symbol/16/green/times-diffuse.png deleted file mode 100644 index 9d090bc4be..0000000000 Binary files a/collects/icons/private/svg/symbol/16/green/times-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/green/times-shiny.png b/collects/icons/private/svg/symbol/16/green/times-shiny.png deleted file mode 100644 index 884375f19b..0000000000 Binary files a/collects/icons/private/svg/symbol/16/green/times-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/hash-quote-diffuse.png b/collects/icons/private/svg/symbol/16/hash-quote-diffuse.png deleted file mode 100644 index 43dac2f192..0000000000 Binary files a/collects/icons/private/svg/symbol/16/hash-quote-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/hash-quote-shiny.png b/collects/icons/private/svg/symbol/16/hash-quote-shiny.png deleted file mode 100644 index d61d104f74..0000000000 Binary files a/collects/icons/private/svg/symbol/16/hash-quote-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/orange/plus-diffuse.png b/collects/icons/private/svg/symbol/16/orange/plus-diffuse.png deleted file mode 100644 index 1e963f7cc9..0000000000 Binary files a/collects/icons/private/svg/symbol/16/orange/plus-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/orange/plus-shiny.png b/collects/icons/private/svg/symbol/16/orange/plus-shiny.png deleted file mode 100644 index 856522e49c..0000000000 Binary files a/collects/icons/private/svg/symbol/16/orange/plus-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/orange/times-diffuse.png b/collects/icons/private/svg/symbol/16/orange/times-diffuse.png deleted file mode 100644 index 4f1728de73..0000000000 Binary files a/collects/icons/private/svg/symbol/16/orange/times-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/orange/times-shiny.png b/collects/icons/private/svg/symbol/16/orange/times-shiny.png deleted file mode 100644 index b5ec499392..0000000000 Binary files a/collects/icons/private/svg/symbol/16/orange/times-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/plus-diffuse.png b/collects/icons/private/svg/symbol/16/plus-diffuse.png deleted file mode 100644 index 4fbc534727..0000000000 Binary files a/collects/icons/private/svg/symbol/16/plus-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/plus-shiny.png b/collects/icons/private/svg/symbol/16/plus-shiny.png deleted file mode 100644 index 80b80d59b5..0000000000 Binary files a/collects/icons/private/svg/symbol/16/plus-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/purple/plus-diffuse.png b/collects/icons/private/svg/symbol/16/purple/plus-diffuse.png deleted file mode 100644 index e901071ea9..0000000000 Binary files a/collects/icons/private/svg/symbol/16/purple/plus-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/purple/plus-shiny.png b/collects/icons/private/svg/symbol/16/purple/plus-shiny.png deleted file mode 100644 index 088cd55594..0000000000 Binary files a/collects/icons/private/svg/symbol/16/purple/plus-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/purple/times-diffuse.png b/collects/icons/private/svg/symbol/16/purple/times-diffuse.png deleted file mode 100644 index 8a8e921907..0000000000 Binary files a/collects/icons/private/svg/symbol/16/purple/times-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/purple/times-shiny.png b/collects/icons/private/svg/symbol/16/purple/times-shiny.png deleted file mode 100644 index 371e90cfba..0000000000 Binary files a/collects/icons/private/svg/symbol/16/purple/times-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/red/plus-diffuse.png b/collects/icons/private/svg/symbol/16/red/plus-diffuse.png deleted file mode 100644 index 97597d0f3a..0000000000 Binary files a/collects/icons/private/svg/symbol/16/red/plus-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/red/plus-shiny.png b/collects/icons/private/svg/symbol/16/red/plus-shiny.png deleted file mode 100644 index db11d59cc3..0000000000 Binary files a/collects/icons/private/svg/symbol/16/red/plus-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/red/times-diffuse.png b/collects/icons/private/svg/symbol/16/red/times-diffuse.png deleted file mode 100644 index 1643ea096d..0000000000 Binary files a/collects/icons/private/svg/symbol/16/red/times-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/red/times-shiny.png b/collects/icons/private/svg/symbol/16/red/times-shiny.png deleted file mode 100644 index a98764eb7c..0000000000 Binary files a/collects/icons/private/svg/symbol/16/red/times-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/times-diffuse.png b/collects/icons/private/svg/symbol/16/times-diffuse.png deleted file mode 100644 index 21018f994b..0000000000 Binary files a/collects/icons/private/svg/symbol/16/times-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/times-shiny.png b/collects/icons/private/svg/symbol/16/times-shiny.png deleted file mode 100644 index 71c40bb977..0000000000 Binary files a/collects/icons/private/svg/symbol/16/times-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/white/plus-diffuse.png b/collects/icons/private/svg/symbol/16/white/plus-diffuse.png deleted file mode 100644 index 59bc66f79d..0000000000 Binary files a/collects/icons/private/svg/symbol/16/white/plus-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/white/plus-shiny.png b/collects/icons/private/svg/symbol/16/white/plus-shiny.png deleted file mode 100644 index 79fd1a79b0..0000000000 Binary files a/collects/icons/private/svg/symbol/16/white/plus-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/white/times-diffuse.png b/collects/icons/private/svg/symbol/16/white/times-diffuse.png deleted file mode 100644 index 5039cf780b..0000000000 Binary files a/collects/icons/private/svg/symbol/16/white/times-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/16/white/times-shiny.png b/collects/icons/private/svg/symbol/16/white/times-shiny.png deleted file mode 100644 index 3b28dfb3ac..0000000000 Binary files a/collects/icons/private/svg/symbol/16/white/times-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/black/plus-diffuse.png b/collects/icons/private/svg/symbol/32/black/plus-diffuse.png deleted file mode 100644 index 7957ec2ff6..0000000000 Binary files a/collects/icons/private/svg/symbol/32/black/plus-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/black/plus-shiny.png b/collects/icons/private/svg/symbol/32/black/plus-shiny.png deleted file mode 100644 index 00361589eb..0000000000 Binary files a/collects/icons/private/svg/symbol/32/black/plus-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/black/times-diffuse.png b/collects/icons/private/svg/symbol/32/black/times-diffuse.png deleted file mode 100644 index cd6ea456d3..0000000000 Binary files a/collects/icons/private/svg/symbol/32/black/times-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/black/times-shiny.png b/collects/icons/private/svg/symbol/32/black/times-shiny.png deleted file mode 100644 index b6caf0e95c..0000000000 Binary files a/collects/icons/private/svg/symbol/32/black/times-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/blue/plus-diffuse.png b/collects/icons/private/svg/symbol/32/blue/plus-diffuse.png deleted file mode 100644 index 4db9413445..0000000000 Binary files a/collects/icons/private/svg/symbol/32/blue/plus-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/blue/plus-shiny.png b/collects/icons/private/svg/symbol/32/blue/plus-shiny.png deleted file mode 100644 index 300b3a83db..0000000000 Binary files a/collects/icons/private/svg/symbol/32/blue/plus-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/blue/times-diffuse.png b/collects/icons/private/svg/symbol/32/blue/times-diffuse.png deleted file mode 100644 index 8c1e9fec24..0000000000 Binary files a/collects/icons/private/svg/symbol/32/blue/times-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/blue/times-shiny.png b/collects/icons/private/svg/symbol/32/blue/times-shiny.png deleted file mode 100644 index 9b7f7f8308..0000000000 Binary files a/collects/icons/private/svg/symbol/32/blue/times-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/cyan/plus-diffuse.png b/collects/icons/private/svg/symbol/32/cyan/plus-diffuse.png deleted file mode 100644 index f3c82a46b0..0000000000 Binary files a/collects/icons/private/svg/symbol/32/cyan/plus-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/cyan/plus-shiny.png b/collects/icons/private/svg/symbol/32/cyan/plus-shiny.png deleted file mode 100644 index ac78288419..0000000000 Binary files a/collects/icons/private/svg/symbol/32/cyan/plus-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/cyan/times-diffuse.png b/collects/icons/private/svg/symbol/32/cyan/times-diffuse.png deleted file mode 100644 index 9a2921fdd2..0000000000 Binary files a/collects/icons/private/svg/symbol/32/cyan/times-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/cyan/times-shiny.png b/collects/icons/private/svg/symbol/32/cyan/times-shiny.png deleted file mode 100644 index c82d439514..0000000000 Binary files a/collects/icons/private/svg/symbol/32/cyan/times-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/green/plus-diffuse.png b/collects/icons/private/svg/symbol/32/green/plus-diffuse.png deleted file mode 100644 index 018e148f54..0000000000 Binary files a/collects/icons/private/svg/symbol/32/green/plus-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/green/plus-shiny.png b/collects/icons/private/svg/symbol/32/green/plus-shiny.png deleted file mode 100644 index b56b51ddc2..0000000000 Binary files a/collects/icons/private/svg/symbol/32/green/plus-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/green/times-diffuse.png b/collects/icons/private/svg/symbol/32/green/times-diffuse.png deleted file mode 100644 index 5059760aa9..0000000000 Binary files a/collects/icons/private/svg/symbol/32/green/times-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/green/times-shiny.png b/collects/icons/private/svg/symbol/32/green/times-shiny.png deleted file mode 100644 index e500d247ff..0000000000 Binary files a/collects/icons/private/svg/symbol/32/green/times-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/hash-quote-diffuse.png b/collects/icons/private/svg/symbol/32/hash-quote-diffuse.png deleted file mode 100644 index 332cbe7277..0000000000 Binary files a/collects/icons/private/svg/symbol/32/hash-quote-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/hash-quote-shiny.png b/collects/icons/private/svg/symbol/32/hash-quote-shiny.png deleted file mode 100644 index b9818848f6..0000000000 Binary files a/collects/icons/private/svg/symbol/32/hash-quote-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/orange/plus-diffuse.png b/collects/icons/private/svg/symbol/32/orange/plus-diffuse.png deleted file mode 100644 index 5ee62d6450..0000000000 Binary files a/collects/icons/private/svg/symbol/32/orange/plus-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/orange/plus-shiny.png b/collects/icons/private/svg/symbol/32/orange/plus-shiny.png deleted file mode 100644 index d599749f40..0000000000 Binary files a/collects/icons/private/svg/symbol/32/orange/plus-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/orange/times-diffuse.png b/collects/icons/private/svg/symbol/32/orange/times-diffuse.png deleted file mode 100644 index dfe827ad4f..0000000000 Binary files a/collects/icons/private/svg/symbol/32/orange/times-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/orange/times-shiny.png b/collects/icons/private/svg/symbol/32/orange/times-shiny.png deleted file mode 100644 index 9cf16db521..0000000000 Binary files a/collects/icons/private/svg/symbol/32/orange/times-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/plus-diffuse.png b/collects/icons/private/svg/symbol/32/plus-diffuse.png deleted file mode 100644 index 09ee25a5e1..0000000000 Binary files a/collects/icons/private/svg/symbol/32/plus-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/plus-shiny.png b/collects/icons/private/svg/symbol/32/plus-shiny.png deleted file mode 100644 index 8c38841b6b..0000000000 Binary files a/collects/icons/private/svg/symbol/32/plus-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/purple/plus-diffuse.png b/collects/icons/private/svg/symbol/32/purple/plus-diffuse.png deleted file mode 100644 index 689d3ddce4..0000000000 Binary files a/collects/icons/private/svg/symbol/32/purple/plus-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/purple/plus-shiny.png b/collects/icons/private/svg/symbol/32/purple/plus-shiny.png deleted file mode 100644 index 97f60b6f32..0000000000 Binary files a/collects/icons/private/svg/symbol/32/purple/plus-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/purple/times-diffuse.png b/collects/icons/private/svg/symbol/32/purple/times-diffuse.png deleted file mode 100644 index 270deca1f2..0000000000 Binary files a/collects/icons/private/svg/symbol/32/purple/times-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/purple/times-shiny.png b/collects/icons/private/svg/symbol/32/purple/times-shiny.png deleted file mode 100644 index 3e0f9186ac..0000000000 Binary files a/collects/icons/private/svg/symbol/32/purple/times-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/red/plus-diffuse.png b/collects/icons/private/svg/symbol/32/red/plus-diffuse.png deleted file mode 100644 index 2a74b01ea3..0000000000 Binary files a/collects/icons/private/svg/symbol/32/red/plus-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/red/plus-shiny.png b/collects/icons/private/svg/symbol/32/red/plus-shiny.png deleted file mode 100644 index e30973986c..0000000000 Binary files a/collects/icons/private/svg/symbol/32/red/plus-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/red/times-diffuse.png b/collects/icons/private/svg/symbol/32/red/times-diffuse.png deleted file mode 100644 index 5044ec7371..0000000000 Binary files a/collects/icons/private/svg/symbol/32/red/times-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/red/times-shiny.png b/collects/icons/private/svg/symbol/32/red/times-shiny.png deleted file mode 100644 index b7dccd76fb..0000000000 Binary files a/collects/icons/private/svg/symbol/32/red/times-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/times-diffuse.png b/collects/icons/private/svg/symbol/32/times-diffuse.png deleted file mode 100644 index 4a71bf5b1f..0000000000 Binary files a/collects/icons/private/svg/symbol/32/times-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/times-shiny.png b/collects/icons/private/svg/symbol/32/times-shiny.png deleted file mode 100644 index 1ac0d1e9d8..0000000000 Binary files a/collects/icons/private/svg/symbol/32/times-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/white/plus-diffuse.png b/collects/icons/private/svg/symbol/32/white/plus-diffuse.png deleted file mode 100644 index b52d144913..0000000000 Binary files a/collects/icons/private/svg/symbol/32/white/plus-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/white/plus-shiny.png b/collects/icons/private/svg/symbol/32/white/plus-shiny.png deleted file mode 100644 index 8500c5cc93..0000000000 Binary files a/collects/icons/private/svg/symbol/32/white/plus-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/white/times-diffuse.png b/collects/icons/private/svg/symbol/32/white/times-diffuse.png deleted file mode 100644 index ac329c9947..0000000000 Binary files a/collects/icons/private/svg/symbol/32/white/times-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/32/white/times-shiny.png b/collects/icons/private/svg/symbol/32/white/times-shiny.png deleted file mode 100644 index 1babdf586f..0000000000 Binary files a/collects/icons/private/svg/symbol/32/white/times-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/black/plus-diffuse.png b/collects/icons/private/svg/symbol/64/black/plus-diffuse.png deleted file mode 100644 index 04553c316c..0000000000 Binary files a/collects/icons/private/svg/symbol/64/black/plus-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/black/plus-shiny.png b/collects/icons/private/svg/symbol/64/black/plus-shiny.png deleted file mode 100644 index 59cedb5af6..0000000000 Binary files a/collects/icons/private/svg/symbol/64/black/plus-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/black/times-diffuse.png b/collects/icons/private/svg/symbol/64/black/times-diffuse.png deleted file mode 100644 index 60fd8232ec..0000000000 Binary files a/collects/icons/private/svg/symbol/64/black/times-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/black/times-shiny.png b/collects/icons/private/svg/symbol/64/black/times-shiny.png deleted file mode 100644 index cc461f8610..0000000000 Binary files a/collects/icons/private/svg/symbol/64/black/times-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/blue/plus-diffuse.png b/collects/icons/private/svg/symbol/64/blue/plus-diffuse.png deleted file mode 100644 index 179b49b086..0000000000 Binary files a/collects/icons/private/svg/symbol/64/blue/plus-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/blue/plus-shiny.png b/collects/icons/private/svg/symbol/64/blue/plus-shiny.png deleted file mode 100644 index 7edf9a8f72..0000000000 Binary files a/collects/icons/private/svg/symbol/64/blue/plus-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/blue/times-diffuse.png b/collects/icons/private/svg/symbol/64/blue/times-diffuse.png deleted file mode 100644 index 3f339ede51..0000000000 Binary files a/collects/icons/private/svg/symbol/64/blue/times-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/blue/times-shiny.png b/collects/icons/private/svg/symbol/64/blue/times-shiny.png deleted file mode 100644 index 8173a44609..0000000000 Binary files a/collects/icons/private/svg/symbol/64/blue/times-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/cyan/plus-diffuse.png b/collects/icons/private/svg/symbol/64/cyan/plus-diffuse.png deleted file mode 100644 index 1bf6594e5a..0000000000 Binary files a/collects/icons/private/svg/symbol/64/cyan/plus-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/cyan/plus-shiny.png b/collects/icons/private/svg/symbol/64/cyan/plus-shiny.png deleted file mode 100644 index 1d9fbd80e8..0000000000 Binary files a/collects/icons/private/svg/symbol/64/cyan/plus-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/cyan/times-diffuse.png b/collects/icons/private/svg/symbol/64/cyan/times-diffuse.png deleted file mode 100644 index 90102dd750..0000000000 Binary files a/collects/icons/private/svg/symbol/64/cyan/times-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/cyan/times-shiny.png b/collects/icons/private/svg/symbol/64/cyan/times-shiny.png deleted file mode 100644 index 36b4f813a0..0000000000 Binary files a/collects/icons/private/svg/symbol/64/cyan/times-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/green/plus-diffuse.png b/collects/icons/private/svg/symbol/64/green/plus-diffuse.png deleted file mode 100644 index 2e4476fe4c..0000000000 Binary files a/collects/icons/private/svg/symbol/64/green/plus-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/green/plus-shiny.png b/collects/icons/private/svg/symbol/64/green/plus-shiny.png deleted file mode 100644 index 08a9be0a7d..0000000000 Binary files a/collects/icons/private/svg/symbol/64/green/plus-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/green/times-diffuse.png b/collects/icons/private/svg/symbol/64/green/times-diffuse.png deleted file mode 100644 index e60f7f91b0..0000000000 Binary files a/collects/icons/private/svg/symbol/64/green/times-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/green/times-shiny.png b/collects/icons/private/svg/symbol/64/green/times-shiny.png deleted file mode 100644 index 30047a5d60..0000000000 Binary files a/collects/icons/private/svg/symbol/64/green/times-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/hash-quote-diffuse.png b/collects/icons/private/svg/symbol/64/hash-quote-diffuse.png deleted file mode 100644 index d7d0075c93..0000000000 Binary files a/collects/icons/private/svg/symbol/64/hash-quote-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/hash-quote-shiny.png b/collects/icons/private/svg/symbol/64/hash-quote-shiny.png deleted file mode 100644 index dd13e3f417..0000000000 Binary files a/collects/icons/private/svg/symbol/64/hash-quote-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/orange/plus-diffuse.png b/collects/icons/private/svg/symbol/64/orange/plus-diffuse.png deleted file mode 100644 index a91a80663f..0000000000 Binary files a/collects/icons/private/svg/symbol/64/orange/plus-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/orange/plus-shiny.png b/collects/icons/private/svg/symbol/64/orange/plus-shiny.png deleted file mode 100644 index c5c4da9aa1..0000000000 Binary files a/collects/icons/private/svg/symbol/64/orange/plus-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/orange/times-diffuse.png b/collects/icons/private/svg/symbol/64/orange/times-diffuse.png deleted file mode 100644 index a92b5555f7..0000000000 Binary files a/collects/icons/private/svg/symbol/64/orange/times-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/orange/times-shiny.png b/collects/icons/private/svg/symbol/64/orange/times-shiny.png deleted file mode 100644 index 9b9390b963..0000000000 Binary files a/collects/icons/private/svg/symbol/64/orange/times-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/plus-diffuse.png b/collects/icons/private/svg/symbol/64/plus-diffuse.png deleted file mode 100644 index 48c9bb61c9..0000000000 Binary files a/collects/icons/private/svg/symbol/64/plus-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/plus-shiny.png b/collects/icons/private/svg/symbol/64/plus-shiny.png deleted file mode 100644 index cef857405d..0000000000 Binary files a/collects/icons/private/svg/symbol/64/plus-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/purple/plus-diffuse.png b/collects/icons/private/svg/symbol/64/purple/plus-diffuse.png deleted file mode 100644 index 5a81762328..0000000000 Binary files a/collects/icons/private/svg/symbol/64/purple/plus-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/purple/plus-shiny.png b/collects/icons/private/svg/symbol/64/purple/plus-shiny.png deleted file mode 100644 index 2e441a2d0c..0000000000 Binary files a/collects/icons/private/svg/symbol/64/purple/plus-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/purple/times-diffuse.png b/collects/icons/private/svg/symbol/64/purple/times-diffuse.png deleted file mode 100644 index 74fe3ba41a..0000000000 Binary files a/collects/icons/private/svg/symbol/64/purple/times-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/purple/times-shiny.png b/collects/icons/private/svg/symbol/64/purple/times-shiny.png deleted file mode 100644 index 4111771ffa..0000000000 Binary files a/collects/icons/private/svg/symbol/64/purple/times-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/red/plus-diffuse.png b/collects/icons/private/svg/symbol/64/red/plus-diffuse.png deleted file mode 100644 index 83cca090ae..0000000000 Binary files a/collects/icons/private/svg/symbol/64/red/plus-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/red/plus-shiny.png b/collects/icons/private/svg/symbol/64/red/plus-shiny.png deleted file mode 100644 index 6eba6c2a58..0000000000 Binary files a/collects/icons/private/svg/symbol/64/red/plus-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/red/times-diffuse.png b/collects/icons/private/svg/symbol/64/red/times-diffuse.png deleted file mode 100644 index 6a1b21153c..0000000000 Binary files a/collects/icons/private/svg/symbol/64/red/times-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/red/times-shiny.png b/collects/icons/private/svg/symbol/64/red/times-shiny.png deleted file mode 100644 index 9b7b6c01f9..0000000000 Binary files a/collects/icons/private/svg/symbol/64/red/times-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/times-diffuse.png b/collects/icons/private/svg/symbol/64/times-diffuse.png deleted file mode 100644 index aa70d59120..0000000000 Binary files a/collects/icons/private/svg/symbol/64/times-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/times-shiny.png b/collects/icons/private/svg/symbol/64/times-shiny.png deleted file mode 100644 index 903128b825..0000000000 Binary files a/collects/icons/private/svg/symbol/64/times-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/white/plus-diffuse.png b/collects/icons/private/svg/symbol/64/white/plus-diffuse.png deleted file mode 100644 index aef6be3f1c..0000000000 Binary files a/collects/icons/private/svg/symbol/64/white/plus-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/white/plus-shiny.png b/collects/icons/private/svg/symbol/64/white/plus-shiny.png deleted file mode 100644 index 15a6b0350f..0000000000 Binary files a/collects/icons/private/svg/symbol/64/white/plus-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/white/times-diffuse.png b/collects/icons/private/svg/symbol/64/white/times-diffuse.png deleted file mode 100644 index 64d87d0b55..0000000000 Binary files a/collects/icons/private/svg/symbol/64/white/times-diffuse.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/64/white/times-shiny.png b/collects/icons/private/svg/symbol/64/white/times-shiny.png deleted file mode 100644 index 7e4e639ffe..0000000000 Binary files a/collects/icons/private/svg/symbol/64/white/times-shiny.png and /dev/null differ diff --git a/collects/icons/private/svg/symbol/hash-quote-diffuse.svg b/collects/icons/private/svg/symbol/hash-quote-diffuse.svg deleted file mode 100644 index c77bd148e4..0000000000 --- a/collects/icons/private/svg/symbol/hash-quote-diffuse.svg +++ /dev/null @@ -1,221 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - diff --git a/collects/icons/private/svg/symbol/hash-quote-shiny.svg b/collects/icons/private/svg/symbol/hash-quote-shiny.svg deleted file mode 100644 index c9534c06b4..0000000000 --- a/collects/icons/private/svg/symbol/hash-quote-shiny.svg +++ /dev/null @@ -1,291 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - diff --git a/collects/icons/private/svg/symbol/plus-diffuse.svg b/collects/icons/private/svg/symbol/plus-diffuse.svg deleted file mode 100644 index bebedf1226..0000000000 --- a/collects/icons/private/svg/symbol/plus-diffuse.svg +++ /dev/null @@ -1,238 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - diff --git a/collects/icons/private/svg/symbol/plus-shiny.svg b/collects/icons/private/svg/symbol/plus-shiny.svg deleted file mode 100644 index 1990f7d64f..0000000000 --- a/collects/icons/private/svg/symbol/plus-shiny.svg +++ /dev/null @@ -1,290 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - diff --git a/collects/icons/private/svg/symbol/times-diffuse.svg b/collects/icons/private/svg/symbol/times-diffuse.svg deleted file mode 100644 index 417ee9aa76..0000000000 --- a/collects/icons/private/svg/symbol/times-diffuse.svg +++ /dev/null @@ -1,346 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - diff --git a/collects/icons/private/svg/symbol/times-shiny.svg b/collects/icons/private/svg/symbol/times-shiny.svg deleted file mode 100644 index 009b151423..0000000000 --- a/collects/icons/private/svg/symbol/times-shiny.svg +++ /dev/null @@ -1,369 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - diff --git a/collects/icons/private/utils.rkt b/collects/icons/private/utils.rkt deleted file mode 100644 index 6e8a890d3e..0000000000 --- a/collects/icons/private/utils.rkt +++ /dev/null @@ -1,110 +0,0 @@ -#lang racket/base - -(require racket/class racket/string racket/match racket/list - racket/system - racket/file - slideshow/pict - xml - racket/contract - unstable/latent-contract/defthing) - -(provide (all-defined-out)) - -(define svg-icons-base-path (collection-path "icons/private/svg")) - -;; Cairo is good at shrinking bitmaps by 1..1/2, but bad at shrinking bitmaps smaller -;; We therefore need icons rendered every 2x, from half the size typically needed up to the greatest -;; size typically needed -;; Make sure these are sorted -(define icon-heights '(16 32 64)) -(define logo-heights '(32 64 128 256)) - -(define (icon-category-heights category) - (cond [(equal? category "logo") logo-heights] - [else icon-heights])) - -(defthing icon-colors (listof (or/c symbol? #f)) #:document-value - '(#f white black red green blue orange cyan purple)) -(defcontract icon-color/c (apply or/c icon-colors)) - -(define diffuse-gradient-stops - #hash((white . ((1 128 128 128) (1 255 255 255))) - (black . ((1 0 0 0) (1 32 32 32))) - (red . ((1 127 64 64) (1 255 0 0))) - (green . ((1 47 86 42) (1 9 170 0))) - (blue . ((1 64 66 123) (1 0 4 255))) - (orange . ((1 169 96 64) (1 255 145 0))) - (cyan . ((1 48 72 85) (1 0 162 255))) - (purple . ((1 85 64 169) (1 128 0 255))))) - -(define undershine-gradient-stops - #hash((white . ((1 240 240 255) (0 255 255 255))) - (black . ((1 160 160 180) (0 32 32 32))) - (red . ((1 255 64 0) (0 255 0 0))) - (green . ((1 128 255 64) (0 9 170 0))) - (blue . ((1 64 128 255) (0 0 4 255))) - (orange . ((1 255 128 64) (0 255 145 0))) - (cyan . ((1 64 255 220) (0 0 162 255))) - (purple . ((1 240 128 255) (0 128 0 255))))) - -;; =================================================================================================== -;; Colorizing SVGs - -(define (color->hex-string color) - (string-append* - "#" - (for/list ([x (in-list color)]) - (define s (number->string (max (min (inexact->exact (round x)) 255) 0) 16)) - (if (= 1 (string-length s)) (string-append "0" s) s)))) - -(define (replace-linear-gradient xexpr name stops) - (let loop ([xexpr xexpr]) - (match xexpr - [`(linearGradient ((id ,(regexp name))) ,_ ...) - `(linearGradient - ((id ,name)) - ,@(for/list ([stop (in-list stops)] - [i (in-naturals)]) - `(stop ((id ,(string-append name (number->string i))) - (offset ,(number->string i)) - (style ,(format "stop-color:~a;stop-opacity:~a;" - (color->hex-string (rest stop)) - (first stop)))))))] - [(list xs ...) (map loop xs)] - [_ xexpr]))) - -(define (colorize-svg svg-doc diffuse-stops undershine-stops) - (match-define (document prolog (app xml->xexpr old-element) misc) svg-doc) - (let* ([element old-element] - [element (replace-linear-gradient element "diffuseColorGradient" diffuse-stops)] - [element (replace-linear-gradient element "undershineGradient" undershine-stops)]) - (if (equal? element old-element) #f (document prolog (xexpr->xml element) misc)))) - -;; =================================================================================================== -;; Rendering - -(define (svg-file? file) - (and (regexp-match #rx"(?i:.*\\.svg)$" (path->string file)) #t)) - -(define inkscape.exe (find-executable-path "inkscape")) - -(define (render/inkscape src-path dest-dir dest-file height) - (define dest-path (build-path dest-dir dest-file)) - (printf "inkscape -e ~a -h ~a ~a~n" src-path height dest-path) - (make-directory* dest-dir) - (system* inkscape.exe - "-e" dest-path - "-h" (number->string height) - src-path)) - -;; =================================================================================================== -;; Pict stuff - -(define (pict-mirror-x p) - (dc (λ (dc x y) - (define-values (sx sy) (send dc get-scale)) - (define-values (ox oy) (send dc get-origin)) - (send dc set-scale (- sx) sy) - (draw-pict p dc (- ox x (pict-width p)) y) - (send dc set-scale sx sy)) - (pict-width p) (pict-height p))) diff --git a/collects/icons/scribblings/icons.scrbl b/collects/icons/scribblings/icons.scrbl deleted file mode 100644 index cf8c5b506b..0000000000 --- a/collects/icons/scribblings/icons.scrbl +++ /dev/null @@ -1,437 +0,0 @@ -#lang scribble/manual - -@(require scribble/eval - unstable/latent-contract/defthing - (for-label icons - slideshow/pict - mrlib/switchable-button - racket - plot - racket/draw) - icons/private/doc - icons - slideshow/pict) - -@(define (author-email) "neil.toronto@gmail.com") - -@title{Icons} -@author{@(author+email "Neil Toronto" (author-email))} - -@defmodule[icons] - -@(define icon-eval (make-base-eval)) -@interaction-eval[#:eval icon-eval (require icons racket/math racket/list)] - - -@section{Introduction (What is an icon, really?)} -@margin-note*{This introduction describes an ideal, not necessarily the current state of things.} - -As a first approximation, an icon is just a small bitmap with an alpha channel. But most icons are not simply loaded from disk. -Icons can also be rendered from colorized SVG sources, resized, generated programmatically by drawing on a @racket[dc<%>], or composed using @racket[pict] functions. - -The @racketmodname[icons] module is intended to make it possible to do all of these things, and to make it easy to get common icons in different colors, heights and styles. - -An icon communicates. Its shape and color are a visual metaphor for an action or a message. Icons should be easily recognizable, distinguishable, visually consistent, and metaphorically appropriate for the actions and messages they are used with. This is difficult to do well, but good examples, good abstractions, and an existing icon library help considerably. - -@(define (hash-quote) (hash-quote-icon-pict 16)) -@(define (step) (step-icon-pict 'blue 16 'diffuse)) -@(define (macro-stepper) (ht-append (hash-quote) (step))) - -Example: The Macro Stepper tool composes a new icon @(hash-quote) and an existing icon @(step), resulting in @(macro-stepper) for its toolbar icon. -The @(hash-quote) icon connotes syntax, and is the color of a syntax-quote as rendered by DrRacket by default. -The @(step) icon is colored like DrRacket colors identifier syntax by default, and is shaped using metaphors used in debugger toolbars, TV remotes, and music players around the world. -It is composed of @(go-icon 'blue 16 'diffuse) to connote starting and @(bar-icon 'blue 16 'diffuse) to connote immediately stopping---a ``step.'' - -The author of this collection is available to adapt or create SVG icons for DrRacket tools, and charges no more than your immortal soul. - -@section{Icon Parameters} - -@doc-apply[toolbar-icon-height]{ -The height of DrRacket toolbar icons. - -Use @racket[(toolbar-icon-height)] as the @racket[height] argument when loading common icons that will be used in DrRacket toolbars and buttons, or in the toolbars and buttons of DrRacket tools. - -(When making an icon for DrRacket's main toolbar, try to keep it nearly square so that it will not take up too much horizontal space when the toolbar is docked vertically. -If you cannot, as with the Macro Stepper, send a thinner icon as the @racket[alternate-bitmap] argument to a @racket[switchable-button%].) -} - -@doc-apply[default-icon-height]{ -The height of standard (e.g. not toolbar) DrRacket icons, used as a default argument through the @racketmodname[icons] module. -} - -@doc-apply[default-icon-style]{ -The style of DrRacket icons, used as a default argument throughout the @racketmodname[icons] module. -} - -@section{Loading Icons} - -@doc-apply[load-icon] - -Loads an icon with the given @racket[name] from the given @racket[category]. - -Before using this general loading function, check @secref["common-icons"] for a function that loads the specific icon you need. - -The icon is looked up in a cache of colorized SVG source files rendered as PNGs, and then resized to be @racket[height] pixels tall. -Icon sizes are given as heights to make it easier to append them horizontally. - -The following is equivalent to @racket[(plt-logo 100 'diffuse)]: -@interaction[#:eval icon-eval (load-icon "logo" "plt" #f 100 'diffuse)] - -@doc-apply[icon-categories]{ -Returns a list of all the icon categories. - -@examples[#:eval icon-eval (icon-categories)] -} - -@doc-apply[icon-names]{ -Returns a list of all the names of icons in the given @racket[category]. - -@examples[#:eval icon-eval (icon-names "logo")] -} - - -@section[#:tag "common-icons"]{Common Icon Constructors} - -@subsection{Control Icons} - -@doc-apply[go-icon] -@doc-apply[bar-icon] -@doc-apply[back-icon] -@doc-apply[stop-icon] -@doc-apply[record-icon] -@doc-apply[step-icon] -@doc-apply[step-back-icon] -@doc-apply[continue-icon] -@doc-apply[continue-back-icon] -@doc-apply[fast-forward-icon] -@doc-apply[rewind-icon] -@doc-apply[pause-icon]{ -These return typical ``playback'' icons. - -@interaction[#:eval icon-eval - (for/list ([make-icon (list rewind-icon continue-back-icon - step-back-icon back-icon - pause-icon stop-icon - go-icon step-icon - continue-icon fast-forward-icon - record-icon)] - [color (in-cycle icon-colors)] - [style (in-cycle icon-styles)]) - (make-icon color 32 style))] - -The remaining icon @(bar-icon #f 16), returned by @racket[bar-icon], is used to build the others. -} - -@subsection{Arrow Icons} - -@doc-apply[up-arrow-icon] -@doc-apply[down-arrow-icon] -@doc-apply[left-arrow-icon] -@doc-apply[right-arrow-icon]{ -@examples[#:eval icon-eval - (for/list ([make-icon (list up-arrow-icon down-arrow-icon - left-arrow-icon right-arrow-icon)]) - (for/list ([color icon-colors] - [style (in-cycle icon-styles)]) - (make-icon color (default-icon-height) style)))] -} - -@subsection{Sign Icons} - -@doc-apply[stop-sign-icon]{ -@examples[#:eval icon-eval (list (stop-sign-icon (default-icon-height) 'diffuse) - (stop-sign-icon (default-icon-height) 'shiny))] -} - -@doc-apply[stop-signs-icon]{ -@examples[#:eval icon-eval (list (stop-signs-icon (default-icon-height) 'diffuse) - (stop-signs-icon (default-icon-height) 'shiny))] -} - -@subsection{Check Icons} - -@doc-apply[check-icon]{ -@examples[#:eval icon-eval - (for/list ([color icon-colors] - [style (in-cycle icon-styles)]) - (check-icon color 29 style))] -} - -@doc-apply[x-icon]{ -@examples[#:eval icon-eval - (for/list ([color icon-colors] - [style (in-cycle icon-styles)]) - (x-icon color 29 style))] -} - -@subsection{Miscellaneous Icons} - -@doc-apply[magnifying-glass-icon]{ -@examples[#:eval icon-eval (list (magnifying-glass-icon 31 'diffuse) - (magnifying-glass-icon 31 'shiny))] -Note that the uncolorized magnifying glass has a brown handle. -} - -@doc-apply[magnifying-glass-left-icon]{ -@examples[#:eval icon-eval (list (magnifying-glass-left-icon 31 'diffuse) - (magnifying-glass-left-icon 31 'shiny))] -} - -@doc-apply[disk-icon]{ -@examples[#:eval icon-eval - (for/list ([color icon-colors] - [style (in-cycle icon-styles)]) - (disk-icon color 33 style))] -} - -@doc-apply[earth-icon]{ -@examples[#:eval icon-eval (list (earth-icon 48 'diffuse) - (earth-icon 48 'shiny))] -} - -@doc-apply[moon-icon]{ -@examples[#:eval icon-eval (list (moon-icon 48 'diffuse) - (moon-icon 48 'shiny))] -} - -@subsection{Symbols} - -@doc-apply[hash-quote-icon]{ -@examples[#:eval icon-eval (list (hash-quote-icon (toolbar-icon-height) 'diffuse) - (hash-quote-icon (toolbar-icon-height) 'shiny))] -} - -@doc-apply[plus-icon]{ -@examples[#:eval icon-eval - (for/list ([color icon-colors] - [style (in-cycle icon-styles)]) - (plus-icon color 24 style))] -} - -@doc-apply[times-icon]{ -@examples[#:eval icon-eval - (for/list ([color icon-colors] - [style (in-cycle icon-styles)]) - (times-icon color 24 style))] -} - -@subsection{Logos} - -@doc-apply[plt-logo]{ -@examples[#:eval icon-eval - (list (plt-logo 128 'diffuse) (plt-logo 128 'shiny))] -} - -@doc-apply[planet-logo]{ -@examples[#:eval icon-eval (list (planet-logo 128 'diffuse) - (planet-logo 128 'shiny))] -} - - -@section{Icon Constants and Contracts} - -@doc-apply[icon-colors]{ -A list containing the names of allowed icon colors. - -When an SVG icon source file is rendered, it is rendered once directly. Then, for each color corresponding to a symbol in @racket[icon-colors], it is colorized by replacing gradients, and then rendered. - -When loading an icon, a @racket[#f] color name loads an uncolorized rendering. -Every icon can be loaded with a @racket[#f] color name. -An icon can be loaded using any name in @racket[icon-colors] only if its SVG source has gradients that can be colorized. -See @secref["new-icons"] for details. - -The actual hues associated with the color names are the hues of the first seven @racketmodname[plot] color numbers. -The following example illustrates the correspondence: -@interaction[#:eval icon-eval - (require plot) - (for/list ([color (rest icon-colors)]) - (stop-icon-pict color 48)) - (parameterize ([plot-width 48] - [plot-height 48] - [plot-decorations? #f] - [plot-background-alpha 0]) - (for/list ([n (in-range 7)]) - (plot3d-pict (surface3d (λ (x y) (- (sqr x) (sqr y))) -1 1 -1 1 - #:color n #:line-color n - #:samples 11 #:line-width 1))))] -This example also shows how to use @racketmodname[plot] to create icon @racket[pict]s from mathematical functions. -} - -@doc-apply[icon-color/c]{ -A contract that identifies color names. -} - -@doc-apply[icon-styles]{ -Typical icon styles. - -It is not necessary to have a version of each icon in each style. -But if an icon has different styles, it should have these. -} - -@doc-apply[icon-style/c]{ -A contract that identifies icon styles. -} - - -@section{Icon @racket[pict]s} - -@interaction-eval[#:eval icon-eval (require slideshow/pict)] - -It is more flexible, but a little more complicated, to load icons as @racket[pict]s. -As picts, icons can easily be appended, inset, superimposed, blurred, and more. -For example, it is easy to make modern-looking media player controls using @racket[cc-superimpose] and the @racket['shiny] style: -@interaction[#:eval icon-eval - (define media-icon-background (record-icon-pict 'green 64 'shiny)) - (list (cc-superimpose media-icon-background - (step-back-icon-pict 'white 32 'shiny)) - (cc-superimpose media-icon-background - (pause-icon-pict 'white 32 'shiny)) - (cc-superimpose media-icon-background - (step-icon-pict 'white 32 'shiny)))] - -Almost all of the functions in preceeding sections are defined in terms of the @racket[pict]-producing functions documented in this section. - -To use these functions effectively, you should require @racketmodname[icons] and @racketmodname[slideshow/pict] together. -Use @racket[bitmap] to convert a @racket[bitmap%] (e.g. an icon) to a @racket[pict], and @racket[pict->bitmap] to convert back. - -Converting from @racket[pict]s to bitmaps can be lossy. For example, converting text can look especially horrible: -@interaction[#:eval icon-eval - (scale (text "Hello" null 10) 5) - (scale (bitmap (pict->bitmap (text "Hello" null 10))) 5)] - -Therefore, when composing icons from parts, try to work only with @racket[pict]s, and convert to an icon using @racket[pict->bitmap] as the last step. - -When composing icons from parts, it is fine to use @racket[pict]s converted from @racket[bitmap%]s. -Without scaling or rotating, the conversion is lossless: -@interaction[#:eval icon-eval - (define not-blurry (magnifying-glass-icon 64 'shiny)) - not-blurry - (for/fold ([icon not-blurry]) ([i (in-range 30)]) - (pict->bitmap (bitmap icon)))] - -Avoid converting between @racket[pict]s and @racket[bitmap%]s more than once if bitmap-backed @racket[pict]s are scaled, rotated by angles that are not multiples of 90 degrees, or superimposed or appended at non-integer coordinates. -Avoid scaling up in general. - -@doc-apply[load-icon-pict]{ -Corresponds to @racket[load-icon]. In fact, @racket[load-icon] uses @racket[load-icon-pict] to load the icon as a @racket[pict], and passes it to @racket[pict->bitmap]. -} - -@doc-apply[go-icon-pict] -@doc-apply[bar-icon-pict] -@doc-apply[back-icon-pict] -@doc-apply[stop-icon-pict] -@doc-apply[record-icon-pict] -@doc-apply[step-icon-pict] -@doc-apply[step-back-icon-pict] -@doc-apply[continue-icon-pict] -@doc-apply[continue-back-icon-pict] -@doc-apply[fast-forward-icon-pict] -@doc-apply[rewind-icon-pict] -@doc-apply[pause-icon-pict]{ -These return typical ``playback'' icons, as @racket[pict]s. - -@interaction[#:eval icon-eval - (for/fold ([icon (blank)]) - ([make-icon-pict (list rewind-icon-pict continue-back-icon-pict - step-back-icon-pict back-icon-pict - pause-icon-pict stop-icon-pict - go-icon-pict step-icon-pict - continue-icon-pict fast-forward-icon-pict - record-icon-pict)]) - (hc-append icon (make-icon-pict 'black 32 'shiny) (blank 12)))] -} - -@doc-apply[up-arrow-icon-pict]{ Corresponds to @racket[up-arrow-icon]. } -@doc-apply[down-arrow-icon-pict]{ Corresponds to @racket[down-arrow-icon]. } -@doc-apply[left-arrow-icon-pict]{ Corresponds to @racket[left-arrow-icon]. } -@doc-apply[right-arrow-icon-pict]{ Corresponds to @racket[right-arrow-icon]. } - -@doc-apply[stop-sign-icon-pict]{ Corresponds to @racket[stop-sign-icon]. } -@doc-apply[stop-signs-icon-pict]{ Corresponds to @racket[stop-signs-icon]. } -@doc-apply[check-icon-pict]{ Corresponds to @racket[check-icon]. } -@doc-apply[x-icon-pict]{ Corresponds to @racket[x-icon]. } -@doc-apply[magnifying-glass-icon-pict]{ Corresponds to @racket[magnifying-glass-icon]. } -@doc-apply[magnifying-glass-left-icon-pict]{ Corresponds to @racket[magnifying-glass-left-icon]. } -@doc-apply[disk-icon-pict]{ Corresponds to @racket[disk-icon]. } -@doc-apply[earth-icon-pict]{ Corresponds to @racket[earth-icon]. } -@doc-apply[moon-icon-pict]{ Corresponds to @racket[moon-icon]. } -@doc-apply[hash-quote-icon-pict]{ Corresponds to @racket[hash-quote-icon]. } -@doc-apply[plus-icon-pict]{ Corresponds to @racket[plus-icon]. } -@doc-apply[times-icon-pict]{ Corresponds to @racket[times-icon]. } -@doc-apply[plt-logo-pict]{ Corresponds to @racket[plt-logo]. } -@doc-apply[planet-logo-pict]{ Corresponds to @racket[planet-logo]. } - -@section[#:tag "new-icons"]{Making New SVG Icons} - -This section is intended for Racket developers, who have permission to add SVG icon sources to the repository. - -Take the following steps to add an SVG icon to the @racketmodname[icons] collection. - -@bold{1. Create an SVG file.} -The author of this module uses @link["http://inkscape.org"]{Inkscape}, a free software vector graphics program. -Another option is of course @link["http://www.adobe.com/illustrator"]{Adobe Illustrator}. - -If the icon (or part of it) can be generated by a mathematical function, use Racket's @racketmodname[plot] library. -Specifically, use @racket[plot] or @racket[plot3d], passing an @racket[#:out-file] argument with a @racket[".svg"] file name extension. -Use @racket[plot-file] or @racket[plot3d-file] in scripts. -Set @racket[plot-decorations?] to @racket[#f] and @racket[plot-background-alpha] to @racket[0]. - -If the icon (or part of it) can be otherwise generated programmatically, use Racket to draw on an @racket[svg-dc%], or use @link["http://www.imagemagick.org"]{ImageMagick} and its MVG or MagickWand languages. - -Use @tt{collects/icons/private/svg/control/stop-diffuse.svg} and @tt{collects/icons/private/svg/control/stop-shiny.svg} as simple examples of icons in diffuse and shiny styles. -Note that the light source is apparently above and slightly to the right. -However, to make it easy to center the icons, and to keep them looking symmetric at very small sizes, the blurry shadow is directly underneath. - -@bold{2. Make SVG gradients colorizable.} -Do this by editing the SVG file to change the names of gradients. -It cannot currently be done in Inkscape, but a text editor's find-and-replace-all works perfectly. - -If part of the icon should be colorizable, find the gradient for that part and change its name to @tt{diffuseColorGradient}. -Make sure the first stop is a dark version of the default color and the second stop is the default color. -For specular highlights, do not use @tt{diffuseColorGradient}. -Instead, overlay the image with partially transparent gradients. -Keeping the lighting and coloring in separate layers is good practice besides. - -For shiny icons, change undershine gradients (the bright spots opposite the light source that make icons look like candy or transparent plastic) to have the name @tt{undershineGradient}. -Make sure the first stop is fully opaque with a hue close to the default color's, and the second stop is fully transparent. - -@bold{3. Place the SVG file in the @racketmodname[icons] collection.} -Put it in the directory @tt{collects/icons/private/svg/} where @tt{} is a category appropriate for the icon. -Feel free to make new category directories to keep things organized. - -If the icon has diffuse and shiny styles, name them @tt{-diffuse.svg} and @tt{-shiny.svg}. - -@bold{4. Re-render PNGs.} -Install Inkscape, then run the program @tt{collects/icons/private/svg/render-png.rkt}. -This will render every modified SVG source file in @tt{collects/icons/private/svg}. -Be aware that it will @italic{not} delete any PNGs whose source files are deleted. - -Because Cairo, which backs Racket's drawing library, draws bitmaps downscaled past half size poorly, renderings are done at power-of-two heights. -For non-logo icons, the heights are currently 16, 32 and 64. -Logos are rendered at 32, 64, 128, 256 and 512. - -Uncolorized renders are put in a subdirectory named after their size. -For example, a render of @tt{silly/walks-diffuse.svg} at height 64 will have the name @tt{silly/64/walks-diffuse.png}. - -Colorized renders are put in a further subdirectory named after their color. -For example, a red render of @tt{silly/walks-diffuse.svg} at height 64 will have the name @tt{silly/64/red/walks-diffuse.png}. - -@bold{5. Load the icon.} -For example, to load a red render of @tt{walks-diffuse.svg} at height 50, do - -@racketblock[(load-icon-pict "silly" "walks" 'red 50 'diffuse)] - -For this, @racket[load-icon-pict] finds the first rendered height not less than @racket[50], which is @racket[64], loads the bitmap from @racket["silly/64/red/walks-diffuse.png"], converts it to a @racket[pict], and scales it by @racket[(/ 50 64)]. - -For convenience, write functions to load the icon; for example, -@racketblock[ -(define (silly-walk-icon-pict color - [height (default-icon-height)] - [style (default-icon-style)]) - (load-icon-pict "silly" "walk" color height style)) - -(define (silly-walk-icon color - [height (default-icon-height)] - [style (default-icon-style)]) - (pict->bitmap (silly-walk-icon-pict color height style)))] -Please export them with a contract. diff --git a/collects/icons/tests/icon-tests.rkt b/collects/icons/tests/icon-tests.rkt deleted file mode 100644 index c13e41f7ec..0000000000 --- a/collects/icons/tests/icon-tests.rkt +++ /dev/null @@ -1,108 +0,0 @@ -#lang racket - -(require icons slideshow/pict) - -(define icon-heights '(8 12 16 24 32 48 64)) - -(define (tape-deck color height style) - (list - (rewind-icon color height style) - (continue-back-icon color height style) - (step-back-icon color height style) - (pause-icon color height style) - (stop-icon color height style) - (go-icon color height style) - (step-icon color height style) - (continue-icon color height style) - (fast-forward-icon color height style))) - -(for*/list ([height icon-heights] - [color icon-colors] - [style icon-styles]) - (tape-deck color height style)) - -(for*/list ([height icon-heights] - [style icon-styles]) - (stop-sign-icon height style)) - -(for*/list ([height icon-heights] - [style icon-styles]) - (stop-signs-icon height style)) - -(for/list ([height icon-heights]) - (for*/list ([color icon-colors] - [style icon-styles]) - (check-icon color height style))) - -(for/list ([height icon-heights]) - (for*/list ([color icon-colors] - [style icon-styles]) - (disk-icon color height style))) - -(for/list ([height icon-heights]) - (for*/list ([color icon-colors] - [style icon-styles]) - (for/list ([make-icon (list up-arrow-icon down-arrow-icon - left-arrow-icon right-arrow-icon)]) - (make-icon color height style)))) - -(for/list ([height icon-heights]) - (for*/list ([color icon-colors] - [style icon-styles]) - (hc-append (magnifying-glass-icon-pict height style) - (check-icon-pict color height style)))) - -(for/list ([height icon-heights]) - (for*/list ([color icon-colors] - [style icon-styles]) - (lt-superimpose (check-icon-pict color height style) - (magnifying-glass-icon-pict height style)))) - -(ht-append (go-icon-pict 'red 24 'diffuse) - (back-icon-pict 'blue 32 'shiny)) - -(hc-append (go-icon-pict 'red 24 'diffuse) - (back-icon-pict 'blue 32 'shiny)) - -(hc-append (back-icon-pict 'blue 32 'shiny) - (go-icon-pict 'red 24 'diffuse)) - -(hb-append (go-icon-pict 'red 24 'diffuse) - (back-icon-pict 'blue 32 'shiny)) - -(hb-append (back-icon-pict 'blue 32 'shiny) - (go-icon-pict 'red 24 'diffuse)) - -(lt-superimpose (back-icon-pict 'blue 32 'shiny) - (go-icon-pict 'red 24 'diffuse)) - -(rb-superimpose (check-icon-pict 'green (toolbar-icon-height) 'diffuse) - (scale (magnifying-glass-icon-pict (toolbar-icon-height)) 3/4)) - -(define not-blurry - (let* ([1x (compose bitmap pict->bitmap)] - [2x (compose 1x 1x)] - [4x (compose 2x 2x)] - [8x (compose 4x 4x)] - [16x (compose 8x 8x)] - [32x (compose 16x 16x)] - [64x (compose 32x 32x)]) - (64x (magnifying-glass-icon-pict 31.5 'shiny)))) -(list not-blurry (pict-width not-blurry) (pict-height not-blurry)) - -(plt-logo 48 'shiny) -(planet-logo 48 'shiny) - -(list (earth-icon 48 'shiny) - (earth-icon 24 'diffuse) - (earth-icon 16 'diffuse)) - -(list (moon-icon 48 'shiny) - (moon-icon 24 'diffuse) - (moon-icon 16 'diffuse)) - -(for/list ([height icon-heights]) - (for/list ([pose '("running" "standing")]) - (for*/list ([color icon-colors] - [style icon-styles]) - (load-icon "misc" pose color height style)))) diff --git a/collects/images/icons/arrow.rkt b/collects/images/icons/arrow.rkt new file mode 100644 index 0000000000..644b769f89 --- /dev/null +++ b/collects/images/icons/arrow.rkt @@ -0,0 +1,73 @@ +#lang racket/base + +(require racket/class + "../private/flomap.rkt" + "../private/deep-flomap.rkt" + "../private/utils.rkt" + "style.rkt") + +(provide (all-defined-out)) + +(define (right-arrow-flomap color height) + (draw-icon-flomap + 32 32 (λ (dc) + (send dc set-brush color 'solid) + (send dc draw-polygon (list '(0 . 9) '(15 . 9) '(14 . 0) + '(31 . 15.5) + '(14 . 31) '(15 . 22) '(0 . 22)))) + (/ height 32))) + +(define (right-over-arrow-flomap color height) + (draw-icon-flomap + 32 32 (λ (dc) + (send dc set-brush color 'solid) + (draw-path-commands + dc 0 15 '((c (9 . -14) (19.5 . -8) (24 . -2)) + (l (5 . -7) (2 . 20) (-20 . -2) (7 . -5)) + (c (-2.5 . -4) (-8 . -8.5) (-14 . 0)) + (l (-4 . -4))))) + (/ height 32))) + +(define (flomap-render-short-icon fm material) + (define scale (/ (flomap-height fm) 32)) + (define dfm + (let* ([dfm (flomap->deep-flomap fm)] + [dfm (deep-flomap-icon-style dfm)] + [dfm (deep-flomap-raise dfm (* -12 scale))]) + dfm)) + (deep-flomap-render-icon dfm material)) + +(define (right-arrow-icon-flomap* color height material) + (flomap-render-short-icon (right-arrow-flomap color height) material)) + +(define (up-arrow-icon-flomap* color height material) + (flomap-render-icon (flomap-cw-rotate (right-arrow-flomap color height)) material)) + +(define (down-arrow-icon-flomap* color height material) + (flomap-render-icon (flomap-ccw-rotate (right-arrow-flomap color height)) material)) + +(define (right-over-arrow-icon-flomap* color height material) + (flomap-render-short-icon (right-over-arrow-flomap color height) material)) + +(define (right-under-arrow-icon-flomap* color height material) + (flomap-render-short-icon (flomap-flip-vertical (right-over-arrow-flomap color height)) material)) + +(define-icon-flomap-proc right-arrow-icon-flomap right-arrow-icon-flomap* 32 color) +(define-icon-flomap-proc up-arrow-icon-flomap up-arrow-icon-flomap* 32 color) +(define-icon-flomap-proc down-arrow-icon-flomap down-arrow-icon-flomap* 32 color) +(define-icon-flomap-proc right-over-arrow-icon-flomap right-over-arrow-icon-flomap* 32 color) +(define-icon-flomap-proc right-under-arrow-icon-flomap right-under-arrow-icon-flomap* 32 color) + +(define left-arrow-icon-flomap (compose flomap-flip-horizontal right-arrow-icon-flomap)) +(define left-over-arrow-icon-flomap (compose flomap-flip-horizontal right-over-arrow-icon-flomap)) +(define left-under-arrow-icon-flomap (compose flomap-flip-horizontal right-under-arrow-icon-flomap)) + +(define right-arrow-icon (compose flomap->bitmap right-arrow-icon-flomap)) +(define left-arrow-icon (compose flomap->bitmap left-arrow-icon-flomap)) +(define up-arrow-icon (compose flomap->bitmap up-arrow-icon-flomap)) +(define down-arrow-icon (compose flomap->bitmap down-arrow-icon-flomap)) + +(define right-over-arrow-icon (compose flomap->bitmap right-over-arrow-icon-flomap)) +(define left-over-arrow-icon (compose flomap->bitmap left-over-arrow-icon-flomap)) +(define right-under-arrow-icon (compose flomap->bitmap right-under-arrow-icon-flomap)) +(define left-under-arrow-icon (compose flomap->bitmap left-under-arrow-icon-flomap)) diff --git a/collects/images/icons/control.rkt b/collects/images/icons/control.rkt new file mode 100644 index 0000000000..e12e8168d8 --- /dev/null +++ b/collects/images/icons/control.rkt @@ -0,0 +1,123 @@ +#lang racket/base + +(require racket/class + "../private/flomap.rkt" + "../private/utils.rkt" + "style.rkt") + +(provide (all-defined-out)) + +(define (play-flomap color height) + (draw-icon-flomap + 24 32 (λ (dc) + (send dc set-brush color 'solid) + (send dc draw-polygon (list '(0 . 0) '(4 . 0) + '(23 . 13) '(23 . 18) + '(4 . 31) '(0 . 31)))) + (/ height 32))) + +(define (fast-forward-flomap color height) + (draw-icon-flomap + 32 32 (λ (dc) + (send dc set-brush color 'solid) + (send dc draw-polygon (list '(0 . 0) '(4 . 0) + '(17 . 13) '(17 . 18) + '(4 . 31) '(0 . 31))) + (send dc translate 2 0) + (send dc draw-polygon (list + ;; right side + '(14 . 2) + '(27 . 13) '(27 . 18) + '(14 . 29) + ;; left side + '(8 . 29) + '(18 . 19) '(18 . 12) + '(8 . 2)))) + (/ height 32))) + +(define (play-icon-flomap* color height material) + (flomap-render-icon (play-flomap color height) material)) + +(define (fast-forward-icon-flomap* color height material) + (flomap-render-icon (fast-forward-flomap color height) material)) + +(define (stop-icon-flomap* color height material) + (draw-rendered-icon-flomap + 32 32 (λ (dc) + (send dc set-brush color 'solid) + (send dc draw-polygon (list '(0 . 0) '(31 . 0) '(31 . 31) '(0 . 31)))) + (/ height 32) + material)) + +(define (record-icon-flomap* color height material) + (draw-rendered-icon-flomap + 32 32 (λ (dc) + (send dc set-brush color 'solid) + (draw-ellipse/smoothed dc 0 0 32 32)) + (/ height 32) + material)) + +(define (bar-icon-flomap* color height material) + (draw-rendered-icon-flomap + 8 32 (λ (dc) + (send dc set-brush color 'solid) + (send dc draw-polygon (list '(0 . 0) '(7 . 0) '(7 . 31) '(0 . 31)))) + (/ height 32) + material)) + +(define-icon-flomap-proc play-icon-flomap play-icon-flomap* 32 color) +(define-icon-flomap-proc fast-forward-icon-flomap fast-forward-icon-flomap* 32 color) +(define-icon-flomap-proc record-icon-flomap record-icon-flomap* 32 color) +(define-icon-flomap-proc bar-icon-flomap bar-icon-flomap* 32 color) +(define-icon-flomap-proc stop-icon-flomap stop-icon-flomap* 32 color) + +(define back-icon-flomap (compose flomap-flip-horizontal play-icon-flomap)) +(define reverse-icon-flomap (compose flomap-flip-horizontal fast-forward-icon-flomap)) + +(define (pause-icon-flomap color [height (default-icon-height)] + [material (default-icon-material)]) + (flomap-hc-append + (bar-icon-flomap color height material) + (make-flomap 4 (max 1 (inexact->exact (round (* 1/8 height)))) 0) + (bar-icon-flomap color height material))) + +(define (step-icon-flomap color [height (default-icon-height)] + [material (default-icon-material)]) + (flomap-hc-append + (play-icon-flomap color height material) + (make-flomap 4 (max 1 (inexact->exact (round (* 1/16 height)))) 0) + (bar-icon-flomap color height material))) + +(define (step-back-icon-flomap color [height (default-icon-height)] + [material (default-icon-material)]) + (flomap-hc-append + (bar-icon-flomap color height material) + (make-flomap 4 (max 1 (inexact->exact (round (* 1/16 height)))) 0) + (back-icon-flomap color height material))) + +(define (continue-icon-flomap color [height (default-icon-height)] + [material (default-icon-material)]) + (flomap-hc-append + (bar-icon-flomap color height material) + (make-flomap 4 (max 1 (inexact->exact (round (* 1/16 height)))) 0) + (play-icon-flomap color height material))) + +(define (continue-back-icon-flomap color [height (default-icon-height)] + [material (default-icon-material)]) + (flomap-hc-append + (back-icon-flomap color height material) + (make-flomap 4 (max 1 (inexact->exact (round (* 1/16 height)))) 0) + (bar-icon-flomap color height material))) + +(define play-icon (compose flomap->bitmap play-icon-flomap)) +(define back-icon (compose flomap->bitmap back-icon-flomap)) +(define fast-forward-icon (compose flomap->bitmap fast-forward-icon-flomap)) +(define reverse-icon (compose flomap->bitmap reverse-icon-flomap)) +(define bar-icon (compose flomap->bitmap bar-icon-flomap)) +(define stop-icon (compose flomap->bitmap stop-icon-flomap)) +(define record-icon (compose flomap->bitmap record-icon-flomap)) +(define pause-icon (compose flomap->bitmap pause-icon-flomap)) +(define step-icon (compose flomap->bitmap step-icon-flomap)) +(define step-back-icon (compose flomap->bitmap step-back-icon-flomap)) +(define continue-icon (compose flomap->bitmap continue-icon-flomap)) +(define continue-back-icon (compose flomap->bitmap continue-back-icon-flomap)) diff --git a/collects/images/icons/file.rkt b/collects/images/icons/file.rkt new file mode 100644 index 0000000000..99badd68cb --- /dev/null +++ b/collects/images/icons/file.rkt @@ -0,0 +1,127 @@ +#lang racket/base + +(require racket/draw racket/class + "../private/flomap.rkt" + "../private/deep-flomap.rkt" + "../private/renderfx.rkt" + "arrow.rkt" + "style.rkt") + +(provide (all-defined-out)) + +(define (floppy-disk-icon-flomap* color height material) + (define scale (/ height 32)) + + (define metal-fm + (let* ([fm (draw-icon-flomap + 18 11 (λ (dc) + (send dc set-background "lightgray") + (define outer-path (new dc-path%)) + (send outer-path rounded-rectangle 0.5 0.5 13 12 1) + (define inner-path (new dc-path%)) + (send inner-path rectangle 2.5 2.5 4 6) + (define outer-rgn (new region%)) + (send outer-rgn set-path outer-path) + (define inner-rgn (new region%)) + (send inner-rgn set-path inner-path) + (send outer-rgn subtract inner-rgn) + (send dc set-clipping-region outer-rgn) + (send dc clear)) + scale)] + [dfm (flomap->deep-flomap fm)] + [dfm (deep-flomap-icon-style dfm)] + [dfm (deep-flomap-scale-z dfm 1/16)]) + (deep-flomap-render-icon dfm metal-material))) + + (define bottom-indent-fm + (draw-icon-flomap + 20 11 (λ (dc) + (send dc set-alpha 1/4) + (send dc set-pen "black" 1 'transparent) + (send dc set-brush "black" 'solid) + (send dc draw-rounded-rectangle 1.5 0.5 18 11 1)) + scale)) + + (define label-fm + (let* ([fm (draw-icon-flomap + 22 20 (λ (dc) + (send dc set-pen "black" 1 'transparent) + (send dc set-brush "black" 'solid) + (send dc draw-rounded-rectangle -0.5 -3.5 22 21 3) + (send dc set-brush "lemonchiffon" 'solid) + (send dc draw-rounded-rectangle 0.5 -3.5 20 20 2) + (send dc set-brush "chocolate" 'solid) + (send dc draw-rectangle 0.5 -0.5 20 4) + (send dc set-brush "navy" 'solid) + (for ([i (in-range 5.5 15 3)]) + (send dc draw-rectangle 2.5 i 16 1))) + scale)] + [dfm (flomap->deep-flomap fm)] + [dfm (deep-flomap-bulge-vertical dfm (* 4 scale))]) + (deep-flomap-render-icon dfm matte-material))) + + (define top-indent-fm + (draw-icon-flomap + 22 19 (λ (dc) + (send dc set-alpha 1) + (send dc set-pen "black" 1 'transparent) + (send dc set-brush "black" 'solid) + (send dc draw-rounded-rectangle -0.5 -2.5 22 20 2.5)) + scale)) + + (define case-fm + (draw-icon-flomap + 32 32 (λ (dc) + (send dc set-brush color 'solid) + (send dc draw-polygon (list '(0 . 3) '(3 . 0) + '(28 . 0) '(31 . 3) + '(31 . 28) '(28 . 31) + '(3 . 31) '(0 . 28)))) + scale)) + + (define disk-fm + (let* ([dfm (deep-flomap-ct-superimpose + (deep-flomap-cb-superimpose + (flomap->deep-flomap case-fm) + (deep-flomap-raise (flomap->deep-flomap bottom-indent-fm) (* -4 scale)) + #:z-mode 'add) + (deep-flomap-raise (flomap->deep-flomap top-indent-fm) (* -1 scale)) + #:z-mode 'add)] + [dfm (deep-flomap-icon-style dfm)]) + (deep-flomap-render-icon dfm material))) + + (let* ([fm (flomap-cb-superimpose disk-fm metal-fm)] + [fm (flomap-ct-superimpose fm label-fm)]) + fm)) + +(define-icon-flomap-proc floppy-disk-icon-flomap floppy-disk-icon-flomap* 32 color) + +(define (save-icon-flomap arrow-color color [height (default-icon-height)] + [material (default-icon-material)]) + (flomap-hc-append (right-arrow-icon-flomap arrow-color (* 3/4 height) material) + (make-flomap 4 (max 1 (inexact->exact (round (* 1/16 height)))) 0) + (floppy-disk-icon-flomap color height material))) + +(define (load-icon-flomap arrow-color color [height (default-icon-height)] + [material (default-icon-material)]) + (flomap-hc-append (floppy-disk-icon-flomap color height material) + (make-flomap 4 (max 1 (inexact->exact (round (* 1/16 height)))) 0) + (right-arrow-icon-flomap arrow-color (* 3/4 height) material))) + +(define (small-save-icon-flomap arrow-color color [height (default-icon-height)] + [material (default-icon-material)]) + (flomap-pin* 0 0 11/16 0 + (floppy-disk-icon-flomap color height material) + (right-arrow-icon-flomap arrow-color (* 3/4 height) material))) + +(define (small-load-icon-flomap arrow-color color [height (default-icon-height)] + [material (default-icon-material)]) + (flomap-pin* 1 1 5/16 1 + (floppy-disk-icon-flomap color height material) + (right-arrow-icon-flomap arrow-color (* 3/4 height) material))) + +(define floppy-disk-icon (compose flomap->bitmap floppy-disk-icon-flomap)) +(define save-icon (compose flomap->bitmap save-icon-flomap)) +(define load-icon (compose flomap->bitmap load-icon-flomap)) +(define small-save-icon (compose flomap->bitmap small-save-icon-flomap)) +(define small-load-icon (compose flomap->bitmap small-load-icon-flomap)) diff --git a/collects/images/icons/misc.rkt b/collects/images/icons/misc.rkt new file mode 100644 index 0000000000..ff321c51de --- /dev/null +++ b/collects/images/icons/misc.rkt @@ -0,0 +1,279 @@ +#lang racket/base + +(require racket/draw racket/class racket/math racket/sequence + "../private/flomap.rkt" + "../private/deep-flomap.rkt" + "../private/renderfx.rkt" + "../private/utils.rkt" + "style.rkt") + +(provide (all-defined-out)) + +;; =================================================================================================== +;; Unrendered flomaps + +(define (x-flomap color height) + (define mn 7.5) + (define mx 23.5) + (draw-icon-flomap + 32 32 (λ (dc) + (send dc set-pen (make-object pen% "black" 12 'solid 'projecting 'miter)) + (send dc draw-line mn mn mx mx) + (send dc draw-line mn mx mx mn) + (send dc set-pen (make-object pen% color 10 'solid 'projecting 'miter)) + (send dc draw-line mn mn mx mx) + (send dc draw-line mn mx mx mn)) + (/ height 32))) + +(define (check-flomap color height) + (draw-icon-flomap + 32 32 (λ (dc) + (send dc set-brush color 'solid) + (draw-path-commands + dc 0 19 '((c (0 . 0) (7 . 4) (14 . 12) (5.5 . -13.5) (17 . -23) (17 . -23)) + (l (-9 . -8)) + (c (0 . 0) (-6.5 . 7.5) (-9.5 . 16) (-2.5 . -4) (-6 . -6.5) (-6 . -6.5)) + (l (-6 . 9))))) + (/ height 32))) + +(define (regular-polygon-flomap sides start color size) + (draw-icon-flomap + 32 32 (λ (dc) + (send dc set-brush color 'solid) + (define dθ (/ (* 2 pi) sides)) + (define θs (sequence->list (in-range start (+ start (* 2 pi)) dθ))) + (define max-frac (apply max (append (map (compose abs cos) θs) + (map (compose abs sin) θs)))) + (send dc draw-polygon (for/list ([θ (in-list θs)]) + (cons (+ 15.5 (/ (* 15.5 (cos θ)) max-frac)) + (+ 15.5 (/ (* 15.5 (sin θ)) max-frac)))))) + (/ size 32))) + +;; =================================================================================================== +;; Rendered flomaps + +(define (text-icon-flomap* str font color trim? outline? height material) + (define family (send font get-family)) + (define style (send font get-style)) + (define weight (send font get-weight)) + (define underline? (send font get-underlined)) + (define smoothing (send font get-smoothing)) + (let ([font (make-object font% (min 255 (inexact->exact (ceiling height))) + family style weight underline? smoothing #t)]) + (define-values (w h) (get-text-size str font)) + (define outline-amt (if outline? (/ height 32) 0)) + (define ceiling-amt (inexact->exact (ceiling outline-amt))) + (define fm + (let* ([fm (draw-flomap + w h (λ (dc) + (send dc set-font font) + (send dc set-text-foreground color) + (send dc draw-text str 0 0 #t)))] + [fm (if trim? (flomap-trim fm) fm)] + [fm (flomap-resize fm #f (- height (* 2 ceiling-amt)))] + [fm (flomap-inset fm ceiling-amt)] + [fm (if outline? (flomap-outlined fm outline-amt) fm)]) + fm)) + (flomap-render-icon fm material))) + +(define (x-icon-flomap* color height material) + (define scale (/ height 32)) + (let* ([fm (x-flomap color height)] + [dfm (flomap->deep-flomap fm)] + [dfm (deep-flomap-icon-style dfm)] + [dfm (deep-flomap-raise dfm (* -8 scale))]) + (deep-flomap-render-icon dfm material))) + +(define (check-icon-flomap* color height material) + (define scale (/ height 32)) + (let* ([fm (check-flomap color height)] + [dfm (flomap->deep-flomap fm)] + [dfm (deep-flomap-icon-style dfm)] + [dfm (deep-flomap-raise dfm (* -12 scale))]) + (deep-flomap-render-icon dfm material))) + +(define (regular-polygon-icon-flomap* sides start color height material) + (flomap-render-icon (regular-polygon-flomap sides start color height) material)) + +(define (octagon-icon-flomap* color height material) + (regular-polygon-icon-flomap* 8 (/ (* 2 pi) 16) color height material)) + +(define (stop-sign-icon-flomap* color height material) + (define scale (/ height 32)) + (let* ([indent-fm (fm* 0.5 (x-flomap "black" (* 22 scale)))] + [indent-dfm (deep-flomap-raise (flomap->deep-flomap indent-fm) (* -2 scale))] + [fm (regular-polygon-flomap 8 (/ (* 2 pi) 16) color height)] + [dfm (flomap->deep-flomap fm)] + [dfm (deep-flomap-cc-superimpose dfm indent-dfm #:z-mode 'add)] + [dfm (deep-flomap-icon-style dfm)] + [fm (deep-flomap-render-icon dfm material)]) + (flomap-cc-superimpose + fm + (x-icon-flomap* "azure" (* 22 scale) metal-material)))) + +;; --------------------------------------------------------------------------------------------------- +;; Magnifying glass + +(define magnifying-glass-material + (deep-flomap-material-value + 'glass 1.0 0.75 1.0 + 0.25 0.15 1.0 + 0.25 0.25 0.0 + 0.0)) + +(define magnifying-glass-metal-material + (deep-flomap-material-value + 3.0 0.5 0.0 1.0 + 0.8 0.1 0.2 + 0.2 0.8 0.0 + 0.0)) +(define (magnifying-glass-icon-flomap* metal-color handle-color height material) + (define scale (/ height 32)) + (define glass-fm + (let* ([fm (draw-icon-flomap + 18 18 (λ (dc) + (send dc set-pen handle-color 1 'solid) + (send dc set-brush "azure" 'solid) + (draw-ellipse/smoothed dc 0 0 18 18) + (send dc set-alpha 0.75) + (send dc set-pen "black" 1 'solid) + (send dc set-brush "white" 'transparent) + (draw-ellipse/smoothed dc 0 0 18 18)) + scale)] + [dfm (flomap->deep-flomap fm)] + [dfm (deep-flomap-bulge-spheroid dfm (* 4 scale))] + [dfm (deep-flomap-raise dfm (* 4 scale))]) + (deep-flomap-render-icon dfm magnifying-glass-material))) + + (define circle-fm + (let* ([fm (draw-icon-flomap + 28 28 (λ (dc) + (send dc set-pen "black" 3 'solid) + (send dc set-brush "black" 'solid) + (draw-ellipse/smoothed dc 1 1 26 26) + (send dc set-pen metal-color 1 'solid) + (send dc set-brush metal-color 'solid) + (draw-ellipse/smoothed dc 1 1 26 26)) + scale)] + [indent-fm (draw-icon-flomap + 28 28 (λ (dc) + (send dc set-pen metal-color 1 'solid) + (send dc set-brush metal-color 'solid) + (draw-ellipse/smoothed dc 5 5 18 18)) + scale)] + [indent-dfm (flomap->deep-flomap indent-fm)] + [indent-dfm (deep-flomap-raise indent-dfm (* -3 scale))] + ;[indent-dfm (deep-flomap-smooth-z indent-dfm (* 2 scale))] + [dfm (flomap->deep-flomap fm)] + ;[dfm (deep-flomap-icon-style dfm)] + [dfm (deep-flomap-raise dfm (* 4 scale))] + [dfm (deep-flomap-cc-superimpose dfm indent-dfm #:z-mode 'add)] + [dfm (deep-flomap-smooth-z dfm (* 1 scale))] + ) + (deep-flomap-render-icon dfm magnifying-glass-metal-material))) + + (define handle-fm + (let* ([fm (draw-icon-flomap + 11 11 (λ (dc) + (send dc set-brush handle-color 'solid) + (define p (new dc-path%)) + (send p move-to 4 0) + (send p line-to 10 5) + (send p curve-to 10 8 8 10 5 10) + (send p line-to 0 4) + (send p move-to 4 0) + (send dc draw-path p)) + scale)]) + (flomap-render-icon fm material))) + + (flomap-pin* 0 0 21/28 21/28 + handle-fm + (flomap-pin* 1/2 1/2 1/2 1/2 circle-fm glass-fm))) + +(define (left-bomb-icon-flomap* cap-color bomb-color height material) + (define scale (/ height 32)) + (define fuse-fm + (let* ([fm (draw-icon-flomap + 16 16 (λ (dc) + (send dc set-pen "black" 5 'solid) + (draw-path-commands dc 5.5 5.5 '((c (0 . -1) (-2.5 . -4) (-3 . -2.5)))) + (send dc set-pen "orange" 4 'solid) + (draw-path-commands dc 5.5 5.5 '((c (0 . -1) (-2.5 . -4) (-3 . -2.5))))) + scale)] + [dfm (flomap->deep-flomap fm)] + [dfm (deep-flomap-icon-style dfm)] + [dfm (deep-flomap-scale-z dfm 1)]) + (deep-flomap-render-icon dfm matte-material))) + + (define (bomb-cap-flomap color) + (draw-icon-flomap + 20 20 (λ (dc) + (send dc set-pen "black" 1 'solid) + (send dc set-brush color 'solid) + (draw-path-commands + dc 1 11 '((l (10 . -10) (3 . 3)) + (c (4 . 5) (-5 . 14) (-10 . 10)) + (l (-3 . -3)))) + (draw-path-commands + dc 1 11 '((c (-2 . -5) (5 . -12) (10 . -10) + (4 . 5) (-5 . 14) (-10 . 10))))) + scale)) + + (define cap-fm + (let* ([cap-fm (bomb-cap-flomap cap-color)] + [cap-dfm (flomap->deep-flomap cap-fm)] + [cap-dfm (deep-flomap-icon-style cap-dfm)]) + (deep-flomap-render-icon cap-dfm material))) + + (define sphere-fm + (let* ([sphere-fm (draw-icon-flomap + 32 32 (λ (dc) + (send dc set-brush bomb-color 'solid) + (draw-ellipse/smoothed dc 0 0 32 32)) + scale)] + [cap-fm (bomb-cap-flomap cap-color)] + [cap-dfm (flomap->deep-flomap cap-fm)] + [cap-dfm (deep-flomap-raise cap-dfm (* -2 scale))] + [cap-dfm (deep-flomap-smooth-z cap-dfm (* 1 scale))] + [sphere-dfm (flomap->deep-flomap sphere-fm)] + [sphere-dfm (deep-flomap-bulge-spheroid sphere-dfm (* 16 scale))] + [sphere-dfm (deep-flomap-lt-superimpose sphere-dfm cap-dfm #:z-mode 'add)] + ) + (deep-flomap-render-icon sphere-dfm material))) + (flomap-lt-superimpose sphere-fm cap-fm fuse-fm)) + +(define-icon-flomap-proc text-icon-flomap text-icon-flomap* 32 str font color trim? outline?) +(define-icon-flomap-proc regular-polygon-icon-flomap regular-polygon-icon-flomap* 32 color) +(define-icon-flomap-proc octagon-icon-flomap octagon-icon-flomap* 32 color) +(define-icon-flomap-proc x-icon-flomap x-icon-flomap* 24 color) +(define-icon-flomap-proc stop-sign-icon-flomap stop-sign-icon-flomap* 32 color) +(define-icon-flomap-proc check-icon-flomap check-icon-flomap* 32 color) +(define-icon-flomap-proc magnifying-glass-icon-flomap + magnifying-glass-icon-flomap* 32 color metal-color) +(define-icon-flomap-proc left-bomb-icon-flomap left-bomb-icon-flomap* 32 cap-color bomb-color) + +(define (stop-signs-icon-flomap color [height (default-icon-height)] + [icon-material (default-icon-material)]) + (define fm (stop-sign-icon-flomap color (* height 2/3) icon-material)) + (flomap-pin* 3/16 1/4 0 0 + fm (flomap-pin* 3/16 1/4 0 0 fm fm))) + +(define left-magnifying-glass-icon-flomap + (compose flomap-flip-horizontal magnifying-glass-icon-flomap)) + +(define bomb-icon-flomap (compose flomap-flip-horizontal left-bomb-icon-flomap)) + +;; =================================================================================================== +;; Bitmaps (icons) + +(define text-icon (compose flomap->bitmap text-icon-flomap)) +(define regular-polygon-icon (compose flomap->bitmap regular-polygon-icon-flomap)) +(define octagon-icon (compose flomap->bitmap octagon-icon-flomap)) +(define x-icon (compose flomap->bitmap x-icon-flomap)) +(define stop-sign-icon (compose flomap->bitmap stop-sign-icon-flomap)) +(define stop-signs-icon (compose flomap->bitmap stop-signs-icon-flomap)) +(define check-icon (compose flomap->bitmap check-icon-flomap)) +(define magnifying-glass-icon (compose flomap->bitmap magnifying-glass-icon-flomap)) +(define left-magnifying-glass-icon (compose flomap->bitmap left-magnifying-glass-icon-flomap)) +(define bomb-icon (compose flomap->bitmap bomb-icon-flomap)) +(define left-bomb-icon (compose flomap->bitmap left-bomb-icon-flomap)) diff --git a/collects/images/icons/scratch/bomb.svg b/collects/images/icons/scratch/bomb.svg new file mode 100644 index 0000000000..9e6073c0f4 --- /dev/null +++ b/collects/images/icons/scratch/bomb.svg @@ -0,0 +1,94 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/collects/images/icons/style.rkt b/collects/images/icons/style.rkt new file mode 100644 index 0000000000..0042a08f65 --- /dev/null +++ b/collects/images/icons/style.rkt @@ -0,0 +1,121 @@ +#lang racket + +(require racket/draw unstable/parameter-group + "../private/flomap.rkt" + "../private/deep-flomap.rkt" + "../private/renderfx.rkt" + "../private/transient-box.rkt") + +(provide (all-defined-out)) + +(define icon-lighting + (deep-flomap-lighting-value + '(0.0 -1.0 1.0) + '(1.0 1.0 1.0) + '(1.0 1.0 1.0) + '(1.0 1.0 1.0))) + +(define plastic-icon-material + (deep-flomap-material-value + 'cubic-zirconia 1.0 0.0 1.0 + 1.0 0.3 1.0 + 0.8 0.2 0.0 + 0.0)) + +(define glass-icon-material + (deep-flomap-material-value + 'cubic-zirconia 1.0 0.75 0.15 + 0.5 0.2 1.0 + 0.0 0.4 0.25 + 0.08)) + +(define metal-icon-color "lightsteelblue") +(define dark-metal-icon-color "steelblue") +(define syntax-icon-color (make-object color% 38 38 128)) +(define halt-icon-color (make-object color% 255 32 24)) +(define run-icon-color "lawngreen") + +(define default-icon-material (make-parameter plastic-icon-material)) +(define default-icon-height (make-parameter 24)) +(define toolbar-icon-height (make-parameter 16)) + +;(default-icon-material glass-icon-material) +;(default-icon-material matte-material) + +(define (deep-flomap-render-icon dfm material) + ;(printf "rendering~n") + (parameterize/group ([deep-flomap-material material] + [deep-flomap-lighting icon-lighting]) + (deep-flomap-render dfm))) + +(define (deep-flomap-icon-style dfm) + (define s (/ (deep-flomap-height dfm) 32)) + (let* ([dfm (deep-flomap-emboss dfm (* s 2) (* s 2))] + [dfm (deep-flomap-bulge-round dfm (* s 6))] + [dfm (deep-flomap-raise dfm (* s 18))]) + dfm)) + +(define (draw-icon-flomap w h draw-proc scale) + (draw-flomap (inexact->exact (ceiling (* w scale))) + (inexact->exact (ceiling (* h scale))) + (λ (dc) + (send dc set-scale scale scale) + (send dc set-smoothing 'smoothed) + (send dc set-origin (* 0.5 scale) (* 0.5 scale)) + (send dc set-pen (make-object pen% "black" 1 'solid 'projecting 'miter)) + (draw-proc dc)))) + +(define (flomap-render-icon fm material) + (deep-flomap-render-icon (deep-flomap-icon-style (flomap->deep-flomap fm)) material)) + +(define (draw-rendered-icon-flomap w h draw-proc scale material) + (let* ([fm (draw-icon-flomap w h draw-proc scale)] + [fm (flomap-render-icon fm material)]) + fm)) + +(define (clean-cache! h) + (define ks (for*/list ([(k v) (in-hash h)] + [vv (in-value (transient-box-value v))] + #:when (not vv)) + k)) + (for ([k (in-list ks)]) (hash-remove! h k))) + +(define (transient-value-hash-ref! h k thnk) + (thnk) + #;(begin + (define bx (hash-ref! h k (λ () (make-transient-box (thnk))))) + (transient-box-touch! bx) + (define val (transient-box-value bx)) + (cond [val val] + [else (clean-cache! h) + (let ([val (thnk)]) + (hash-set! h k (make-transient-box val)) + val)]))) + +(define caches empty) + +(define (add-cache! cache) (set! caches (cons cache caches))) + +(define (clean-caches!) + (for ([h (in-list caches)]) + (clean-cache! h))) + +(define (read-caches) + (for*/list ([cache (in-list caches)] + [(k v) (in-hash cache)]) + (cons k v))) + +(define-syntax-rule (define-icon-flomap-proc name name* min-height args ...) + (define name + (let ([cache (make-hash)]) + (add-cache! cache) + (λ (args ... + [height (default-icon-height)] + [material (default-icon-material)]) + (cond [(height . < . min-height) + (flomap-scale (transient-value-hash-ref! cache (list args ... min-height material) + (λ () (name* args ... min-height material))) + (/ height min-height))] + [else + (transient-value-hash-ref! cache (list args ... height material) + (λ () (name* args ... height material)))]))))) diff --git a/collects/images/icons/tool.rkt b/collects/images/icons/tool.rkt new file mode 100644 index 0000000000..9e448e66b8 --- /dev/null +++ b/collects/images/icons/tool.rkt @@ -0,0 +1,63 @@ +#lang racket/base + +(require racket/draw racket/class racket/math racket/sequence + "../private/flomap.rkt" + "../private/deep-flomap.rkt" + "../private/renderfx.rkt" + "../private/utils.rkt" + "control.rkt" + "misc.rkt" + "style.rkt") + +(provide (all-defined-out)) + +(define (check-syntax-icon-flomap [height (toolbar-icon-height)] + [material (default-icon-material)]) + (flomap-ht-append + (left-magnifying-glass-icon-flomap metal-icon-color syntax-icon-color height material) + (make-flomap 4 (max 1 (inexact->exact (round (* 1/32 height)))) 0) + (check-icon-flomap run-icon-color height material))) + +(define (small-check-syntax-icon-flomap [height (toolbar-icon-height)] + [material (default-icon-material)]) + (flomap-pin* + 1 1 5/16 1 + (check-icon-flomap run-icon-color height material) + (magnifying-glass-icon-flomap metal-icon-color syntax-icon-color (* 3/4 height) material))) + +(define (macro-stepper-icon-flomap [height (toolbar-icon-height)] + [material (default-icon-material)]) + (flomap-ht-append + (text-icon-flomap "#'" (make-object font% 12 'system 'normal 'normal) + run-icon-color #t #t height material) + (make-flomap 4 (max 1 (inexact->exact (round (* 1/32 height)))) 0) + (step-icon-flomap (make-object color% 38 38 128) height material))) + +(define (small-macro-stepper-icon-flomap [height (toolbar-icon-height)] + [material (default-icon-material)]) + (flomap-pin* + 0 0 7/16 0 + (step-icon-flomap (make-object color% 38 38 128) height material) + (text-icon-flomap "#'" (make-object font% 12 'system 'normal 'bold) + run-icon-color #t #t (* 3/4 height) material))) + +(define (debugger-icon-flomap [height (toolbar-icon-height)] + [material (default-icon-material)]) + (flomap-ht-append + (left-bomb-icon-flomap metal-icon-color halt-icon-color height material) + (make-flomap 4 (max 1 (inexact->exact (round (* 1/16 height)))) 0) + (step-icon-flomap run-icon-color height material))) + +(define (small-debugger-icon-flomap [height (toolbar-icon-height)] + [material (default-icon-material)]) + (flomap-pin* + 0 0 9/16 0 + (step-icon-flomap run-icon-color height material) + (left-bomb-icon-flomap metal-icon-color halt-icon-color (* 3/4 height) material))) + +(define check-syntax-icon (compose flomap->bitmap check-syntax-icon-flomap)) +(define small-check-syntax-icon (compose flomap->bitmap small-check-syntax-icon-flomap)) +(define macro-stepper-icon (compose flomap->bitmap macro-stepper-icon-flomap)) +(define small-macro-stepper-icon (compose flomap->bitmap small-macro-stepper-icon-flomap)) +(define debugger-icon (compose flomap->bitmap debugger-icon-flomap)) +(define small-debugger-icon (compose flomap->bitmap small-debugger-icon-flomap)) diff --git a/collects/images/logos.rkt b/collects/images/logos.rkt new file mode 100644 index 0000000000..5751014ffe --- /dev/null +++ b/collects/images/logos.rkt @@ -0,0 +1,153 @@ +#lang racket/base + +(require racket/draw racket/class racket/match racket/math racket/flonum + "private/flomap.rkt" + "private/deep-flomap.rkt" + "private/renderfx.rkt" + "icons/style.rkt" + "private/unsafe.rkt") + +(provide plt-logo) + +(define glass-logo-material + (deep-flomap-material-value + 'cubic-zirconia 0.7 0.6 0.4 + 0.2 0.1 1.0 + 0.2 0.1 0.1 + 0.0)) + +(define lambda-start-point (cons 235.0 38.0)) +(define lambda-control-points + (list (list (cons -27.07492 0.489079) (cons -52.83237 9.901645) (cons -78.13681 18.608898)) + (list (cons 11.0396 11.823329) (cons 9.37418 15.558039) (cons 14.19246 14.659919)) + (list (cons 18.43869 -4.46584) (cons 45.7868 -14.85883) (cons 57.97111 4.83448)) + (list (cons 26.56443 33.55767) (cons 37.83026 76.50393) (cons 41.85449 118.37596)) + (list (cons 5.15871 25.44003) (cons -47.30403 116.52589) (cons -63.42303 152.88265)) + (list (cons -26.20045 46.22879) (cons -49.47611 94.20521) (cons -78.99673 138.48542)) + (list (cons 7.0596 9.34303) (cons 17.25993 5.68676) (cons 26.86192 4.2502)) + (list (cons 8.19842 -1.22826) (cons 16.39686 -2.4565) (cons 24.59528 -3.68475)) + (list (cons 26.44013 -62.68827) (cons 54.98797 -120.2314) (cons 79.79859 -183.59412)) + (list (cons 11.30581 -26.11293) (cons 16.82865 -40.47628) (cons 30.26123 -57.57618)) + (list (cons 15.92423 9.74246) (cons 20.66525 33.77224) (cons 29.3527 50.35199)) + (list (cons 25.60238 65.87977) (cons 51.09413 131.80228) (cons 75.25809 198.22074)) + (list (cons 6.32468 2.20244) (cons 12.81613 8.78314) (cons 18.81535 2.44056)) + (list (cons 15.78086 -9.73038) (cons 34.15342 -15.82488) (cons 47.2925 -29.27438)) + (list (cons -3.74907 -18.17899) (cons -15.79452 -35.18254) (cons -23.13261 -52.66524)) + (list (cons -46.51473 -92.95952) (cons -91.3634 -191.5622) (cons -120.47873 -291.65949)) + (list (cons -10.72309 -31.50493) (cons -23.92724 -69.469699) (cons -58.05359 -81.906439)) + (list (cons -7.7741 -2.308013) (cons -15.96612 -2.751575) (cons -24.03222 -2.750218)))) + +(define (lambda-path x y x-scale y-scale) + (define (scale-x x) (* x x-scale)) + (define (scale-y y) (* y y-scale)) + (define p (new dc-path%)) + (match-define (cons (app scale-x sx) (app scale-y sy)) lambda-start-point) + (send p move-to sx sy) + (for/fold ([lx sx] [ly sy]) ([pt (in-list lambda-control-points)]) + (match-define (list (cons (app scale-x x1) (app scale-y y1)) + (cons (app scale-x x2) (app scale-y y2)) + (cons (app scale-x x3) (app scale-y y3))) pt) + (send p curve-to (+ lx x1) (+ ly y1) (+ lx x2) (+ ly y2) (+ lx x3) (+ ly y3)) + (values (+ lx x3) (+ ly y3))) + (send p close) + p) + +(define (draw-lambda dc x y w h) + (send dc draw-path (lambda-path x y (/ w 565) (/ h 565)))) + +(define blue-θ-start (* -45 (/ pi 180))) +(define blue-θ-end (* 110 (/ pi 180))) + +(define logo-red-color (make-object color% 255 36 32)) +(define logo-blue-color (make-object color% 32 36 255)) +(define lambda-outline-color (make-object color% 16 16 64)) +(define (lambda-pen color width) (make-object pen% color width 'solid 'projecting 'miter)) + +(define (make-arc-path x y w h start end [ccw? #t]) + (define p (new dc-path%)) + (send p arc x y w h start end ccw?) + (send p close) + p) + +(define (flomap-add-sparkles! fm) + (match-define (flomap vs c w h) fm) + (for ([_ (in-range 2000)]) + (define x (random w)) + (define y (random h)) + (define i (unsafe-fx* c (unsafe-fx+ x (unsafe-fx* w y)))) + (define a (flvector-ref vs i)) + (when (a . > . 0) + (define l (unsafe-fl+ 0.5 (unsafe-fl* 1.5 (random)))) + (define-values (r g b) (unsafe-flvector-3ref vs (unsafe-fx+ 1 i))) + (unsafe-flvector-3set! vs (unsafe-fx+ 1 i) + (unsafe-fl* r l) + (unsafe-fl* g l) + (unsafe-fl* b l))))) + +(define (flomap-rough fm z-amt) + (match-define (flomap vs c w h) fm) + (unsafe-build-flomap + c w h + (λ (k x y) + (define i (unsafe-fx+ k (unsafe-fx* c (unsafe-fx+ x (unsafe-fx* w y))))) + (unsafe-fl+ (unsafe-fl* z-amt (exact->inexact (random))) + (unsafe-flvector-ref vs i))))) + +(define (plt-logo height) + (define scale (/ height 256)) + (define bulge-fm + (draw-flomap + height height + (λ (dc) + (send dc set-scale scale scale) + (send dc set-pen logo-red-color 2 'solid) + (send dc set-brush logo-red-color 'solid) + (send dc draw-path (make-arc-path 7 7 242 242 blue-θ-end blue-θ-start)) + (send dc set-pen logo-blue-color 2 'solid) + (send dc set-brush logo-blue-color 'solid) + (send dc draw-path (make-arc-path 7 7 242 242 blue-θ-start blue-θ-end)) + (send dc set-pen (lambda-pen lambda-outline-color 12)) + (send dc set-brush lambda-outline-color 'solid) + (draw-lambda dc 0 0 256 256)))) + + ;(flomap-add-sparkles! bulge-fm) + + (define (lambda-flomap color pen-width) + (draw-flomap + height height + (λ (dc) + (send dc set-scale scale scale) + (send dc set-pen (lambda-pen color pen-width)) + (send dc set-brush color 'solid) + (draw-lambda dc 0 0 256 256)))) + + (let* ([bulge-dfm (flomap->deep-flomap bulge-fm)] + [bulge-dfm (deep-flomap-bulge-spheroid bulge-dfm (* 116 scale))] + ;[bulge-dfm (deep-flomap-raise bulge-dfm (* 8 scale))] + ;[bulge-dfm (deep-flomap-smooth-z bulge-dfm (* 1/2 scale))] + #;[bulge-dfm (deep-flomap (deep-flomap-argb bulge-dfm) + (flomap-rough (deep-flomap-z bulge-dfm) 0.5))] + [lambda-dfm (flomap->deep-flomap (lambda-flomap "azure" 4))] + [lambda-dfm (deep-flomap-bulge-spheroid lambda-dfm (* 116 scale))] + [lambda-dfm (deep-flomap-smooth-z lambda-dfm (* 3 scale))] + [lambda-fm (deep-flomap-render-icon lambda-dfm metal-material)] + [fm (deep-flomap-render-icon bulge-dfm glass-logo-material)] + [fm (flomap-cc-superimpose + fm + (lambda-flomap lambda-outline-color 12) + lambda-fm)] + [fm (flomap-inset fm 16)] + [fm (flomap-cc-superimpose + fm + (draw-flomap + (inexact->exact (ceiling (* 1.015625 height))) + (inexact->exact (ceiling (* 1.015625 height))) + (λ (dc) + (send dc set-scale scale scale) + (send dc set-origin (* 2.5 scale) (* 2.5 scale)) + (send dc set-pen lambda-outline-color 4 'solid) + (send dc set-brush lambda-outline-color 'transparent) + (send dc draw-ellipse 0 0 256 256))))] + [fm (flomap-cc-superimpose (fm* 0.5 (flomap-shadow fm (* 4 scale))) fm)] + ) + (flomap->bitmap fm))) diff --git a/collects/images/private/deep-flomap.rkt b/collects/images/private/deep-flomap.rkt new file mode 100644 index 0000000000..5ab232a45f --- /dev/null +++ b/collects/images/private/deep-flomap.rkt @@ -0,0 +1,486 @@ +#lang racket/base + +(require racket/flonum racket/draw racket/match racket/math racket/contract racket/class + "unsafe.rkt" + "flomap.rkt") + +(provide + (contract-out + ;; type, contructors and accessors + (struct deep-flomap ([argb flomap?] [z flomap?])) + [flomap->deep-flomap (flomap? . -> . deep-flomap?)] + [bitmap->deep-flomap ((is-a?/c bitmap%) . -> . deep-flomap?)] + [deep-flomap-width (deep-flomap? . -> . (fx>=/c 0))] + [deep-flomap-height (deep-flomap? . -> . (fx>=/c 0))] + [deep-flomap-z-min (deep-flomap? . -> . flonum?)] + [deep-flomap-z-max (deep-flomap? . -> . flonum?)] + [deep-flomap-size (deep-flomap? . -> . (values (fx>=/c 0) (fx>=/c 0)))] + [deep-flomap-alpha (deep-flomap? . -> . flomap?)] + [deep-flomap-rgb (deep-flomap? . -> . flomap?)] + ;; sizing + [deep-flomap-inset (case-> (deep-flomap? fixnum? . -> . deep-flomap?) + (deep-flomap? fixnum? fixnum? . -> . deep-flomap?) + (deep-flomap? fixnum? fixnum? fixnum? fixnum? . -> . deep-flomap?))] + [deep-flomap-trim (deep-flomap? . -> . deep-flomap?)] + [deep-flomap-scale (case-> (deep-flomap? (>/c 0.0) . -> . deep-flomap?) + (deep-flomap? (>/c 0.0) (>/c 0.0) (>/c 0.0) . -> . deep-flomap?))] + [deep-flomap-resize (deep-flomap? (or/c (>/c 0.0) #f) (or/c (>/c 0.0) #f) + (or/c real? #f) (or/c real? #f) + . -> . deep-flomap?)] + ;; z-adjusting + [deep-flomap-scale-z (deep-flomap? (or/c flomap? real?) . -> . deep-flomap?)] + [deep-flomap-smooth-z (deep-flomap? real? . -> . deep-flomap?)] + [deep-flomap-raise (deep-flomap? (or/c flomap? real?) . -> . deep-flomap?)] + [deep-flomap-tilt (deep-flomap? real? real? real? real? . -> . deep-flomap?)] + [deep-flomap-emboss (deep-flomap? real? real? . -> . deep-flomap?)] + [deep-flomap-bulge (deep-flomap? (flonum? flonum? . -> . real?) . -> . deep-flomap?)] + [deep-flomap-bulge-round (deep-flomap? real? . -> . deep-flomap?)] + [deep-flomap-bulge-round-rect (deep-flomap? real? . -> . deep-flomap?)] + [deep-flomap-bulge-spheroid (deep-flomap? real? . -> . deep-flomap?)] + [deep-flomap-bulge-horizontal (deep-flomap? real? . -> . deep-flomap?)] + [deep-flomap-bulge-vertical (deep-flomap? real? . -> . deep-flomap?)] + [deep-flomap-bulge-ripple (deep-flomap? real? real? . -> . deep-flomap?)] + ;; combining + [deep-flomap-pin (->* [deep-flomap? real? real? deep-flomap? real? real?] + [#:z-mode (one-of/c 'place 'replace 'add 'blend)] + deep-flomap?)] + [deep-flomap-pin* (->* [real? real? real? real? deep-flomap?] + [#:z-mode (one-of/c 'place 'replace 'add 'blend)] + #:rest (listof deep-flomap?) + deep-flomap?)] + [deep-flomap-lt-superimpose deep-flomap-superimpose/c] + [deep-flomap-lc-superimpose deep-flomap-superimpose/c] + [deep-flomap-lb-superimpose deep-flomap-superimpose/c] + [deep-flomap-ct-superimpose deep-flomap-superimpose/c] + [deep-flomap-cc-superimpose deep-flomap-superimpose/c] + [deep-flomap-cb-superimpose deep-flomap-superimpose/c] + [deep-flomap-rt-superimpose deep-flomap-superimpose/c] + [deep-flomap-rc-superimpose deep-flomap-superimpose/c] + [deep-flomap-rb-superimpose deep-flomap-superimpose/c] + [deep-flomap-vl-append deep-flomap-append/c] + [deep-flomap-vc-append deep-flomap-append/c] + [deep-flomap-vr-append deep-flomap-append/c] + [deep-flomap-ht-append deep-flomap-append/c] + [deep-flomap-hc-append deep-flomap-append/c] + [deep-flomap-hb-append deep-flomap-append/c] + [deep-flomap-superimpose/c contract?] + [deep-flomap-append/c contract?] + )) + +(struct deep-flomap (argb z) + #:guard + (λ (argb-fm z-fm name) + (match-define (flomap _ 4 w h) argb-fm) + (match-define (flomap _ 1 zw zh) z-fm) + (unless (and (= w zw) (= h zh)) + (error 'deep-flomap + "expected flomaps of equal dimension; given dimensions ~e×~e and ~e×~e" w h zw zh)) + (values argb-fm z-fm))) + +(define (flomap->deep-flomap argb-fm) + (match-define (flomap _ 4 w h) argb-fm) + (deep-flomap argb-fm (make-flomap 1 w h))) + +(define (bitmap->deep-flomap bm) + (flomap->deep-flomap (bitmap->flomap bm))) + +(define (deep-flomap-width dfm) + (flomap-width (deep-flomap-argb dfm))) + +(define (deep-flomap-height dfm) + (flomap-height (deep-flomap-argb dfm))) + +(define (deep-flomap-z-min dfm) + (flomap-min-value (deep-flomap-z dfm))) + +(define (deep-flomap-z-max dfm) + (flomap-max-value (deep-flomap-z dfm))) + +(define (deep-flomap-size dfm) + (values (deep-flomap-width dfm) (deep-flomap-height dfm))) + +(define (deep-flomap-alpha dfm) + (flomap-ref-component (deep-flomap-argb dfm) 0)) + +(define (deep-flomap-rgb dfm) + (flomap-drop-components (deep-flomap-argb dfm) 1)) + +;; =================================================================================================== +;; Z adjusters + +(define (deep-flomap-scale-z dfm z) + (match-define (deep-flomap argb-fm z-fm) dfm) + (deep-flomap argb-fm (fm* z-fm z))) + +(define (deep-flomap-smooth-z dfm σ) + (let ([σ (exact->inexact σ)]) + (match-define (deep-flomap argb-fm z-fm) dfm) + (define new-z-fm (flomap-blur z-fm σ)) + (deep-flomap argb-fm new-z-fm))) + +;; deep-flomap-raise and everything derived from it observe an invariant: +;; when z is added, added z must be 0.0 everywhere alpha is 0.0 + +(define (deep-flomap-raise dfm z) + (match-define (deep-flomap argb-fm z-fm) dfm) + (define alpha-fm (deep-flomap-alpha dfm)) + (deep-flomap argb-fm (fm+ z-fm (fm* alpha-fm z)))) + +(define (deep-flomap-emboss dfm xy-amt z-amt) + (let ([σ (/ xy-amt 3.0)]) + (define z-fm (flomap-normalize (deep-flomap-alpha dfm))) + (define new-z-fm (fm* (flomap-blur z-fm σ) + (exact->inexact z-amt))) + (deep-flomap-raise dfm new-z-fm))) + +(define-syntax-rule (unsafe-deep-flomap-bulge dfm f) + (let () + (define-values (w h) (deep-flomap-size dfm)) + (define half-x-size (unsafe-fl- (unsafe-fl* 0.5 (unsafe-fx->fl w)) 0.5)) + (define half-y-size (unsafe-fl- (unsafe-fl* 0.5 (unsafe-fx->fl h)) 0.5)) + (define z-fm + (unsafe-build-flomap + 1 w h + (λ (_ x y) + (f (unsafe-fl- (unsafe-fl/ (unsafe-fx->fl x) half-x-size) 1.0) + (unsafe-fl- (unsafe-fl/ (unsafe-fx->fl y) half-y-size) 1.0))))) + (deep-flomap-raise dfm z-fm))) + +(define (deep-flomap-bulge dfm f) + (unsafe-deep-flomap-bulge dfm (λ (cx cy) (exact->inexact (f cx cy))))) + +(define (deep-flomap-tilt dfm left-z-amt top-z-amt right-z-amt bottom-z-amt) + (let ([l (exact->inexact left-z-amt)] + [t (exact->inexact top-z-amt)] + [r (exact->inexact right-z-amt)] + [b (exact->inexact bottom-z-amt)]) + (define (f x y) + (define α (unsafe-fl/ (unsafe-fl+ x 1.0) 2.0)) + (define β (unsafe-fl/ (unsafe-fl+ y 1.0) 2.0)) + (unsafe-flsum (unsafe-fl* (unsafe-fl- 1.0 α) l) (unsafe-fl* α r) + (unsafe-fl* (unsafe-fl- 1.0 β) t) (unsafe-fl* β b))) + (unsafe-deep-flomap-bulge dfm f))) + +(define (deep-flomap-bulge-round dfm z-amt) + (let ([z-amt (exact->inexact z-amt)]) + (define (f x y) + (define d^2 (unsafe-fl+ (unsafe-fl* x x) (unsafe-fl* y y))) + (unsafe-fl* z-amt (unsafe-flsqrt (unsafe-fl/ (unsafe-fl- 2.0 d^2) 2.0)))) + (unsafe-deep-flomap-bulge dfm f))) + +(define (deep-flomap-bulge-round-rect dfm z-amt) + (let ([z-amt (exact->inexact z-amt)]) + (define (f x y) + (unsafe-fl* z-amt (unsafe-flsqrt + (unsafe-fl* (unsafe-fl- 1.0 (unsafe-fl* x x)) + (unsafe-fl- 1.0 (unsafe-fl* y y)))))) + (unsafe-deep-flomap-bulge dfm f))) + +(define (deep-flomap-bulge-spheroid dfm z-amt) + (let ([z-amt (exact->inexact z-amt)]) + (define (f x y) + (define d^2 (unsafe-fl+ (unsafe-fl* x x) (unsafe-fl* y y))) + (cond [(d^2 . unsafe-fl< . 1.0) + (unsafe-fl* z-amt (unsafe-flsqrt (unsafe-fl- 1.0 d^2)))] + [else 0.0])) + (unsafe-deep-flomap-bulge dfm f))) + +(define (deep-flomap-bulge-horizontal dfm z-amt) + (let ([z-amt (exact->inexact z-amt)]) + (define (f x _) + (define d^2 (unsafe-fl* x x)) + (unsafe-fl* z-amt (unsafe-flsqrt (unsafe-fl- 1.0 d^2)))) + (unsafe-deep-flomap-bulge dfm f))) + +(define (deep-flomap-bulge-vertical dfm z-amt) + (let ([z-amt (exact->inexact z-amt)]) + (define (f _ y) + (define d^2 (unsafe-fl* y y)) + (unsafe-fl* z-amt (unsafe-flsqrt (unsafe-fl- 1.0 d^2)))) + (unsafe-deep-flomap-bulge dfm f))) + +(define (deep-flomap-bulge-ripple dfm freq z-amt) + (let ([freq (exact->inexact freq)] + [z-amt (exact->inexact z-amt)]) + (define (f x y) + (define d^2 (unsafe-fl+ (unsafe-fl* x x) (unsafe-fl* y y))) + (define d (unsafe-flproduct freq pi (unsafe-flsqrt d^2))) + (unsafe-flproduct z-amt 0.5 (unsafe-fl- 1.0 (unsafe-flcos d)))) + (unsafe-deep-flomap-bulge dfm f))) + +;; =================================================================================================== +;; Sizing + +(define deep-flomap-inset + (case-lambda + [(dfm amt) + (deep-flomap-inset dfm amt amt amt amt)] + [(dfm h-amt v-amt) + (deep-flomap-inset dfm h-amt v-amt h-amt v-amt)] + [(dfm l-amt t-amt r-amt b-amt) + (match-define (deep-flomap argb-fm z-fm) dfm) + (deep-flomap (flomap-inset argb-fm l-amt t-amt r-amt b-amt) + (flomap-inset z-fm l-amt t-amt r-amt b-amt))])) + +(define (deep-flomap-trim dfm) + (define-values (w h) (deep-flomap-size dfm)) + (define-values (_k-min x-min y-min _k-max x-max y-max) + (flomap-nonzero-rect (deep-flomap-alpha dfm))) + (deep-flomap-inset dfm (- x-min) (- y-min) (- x-max w) (- y-max h))) + +(define deep-flomap-scale + (case-lambda + [(dfm scale) + (match-define (deep-flomap argb-fm z-fm) (deep-flomap-scale-z dfm scale)) + (deep-flomap (flomap-scale argb-fm scale) + (flomap-scale z-fm scale))] + [(dfm x-scale y-scale z-scale) + (match-define (deep-flomap argb-fm z-fm) (deep-flomap-scale-z dfm z-scale)) + (deep-flomap (flomap-scale argb-fm x-scale y-scale) + (flomap-scale z-fm x-scale y-scale))])) + +(define (deep-flomap-resize dfm width height z-min z-max) + (match-define (deep-flomap argb-fm z-fm) dfm) + (define new-z-fm + (cond [(or z-min z-max) + (let ([z-min (if z-min z-min (flomap-min-value z-fm))] + [z-max (if z-max z-max (flomap-max-value z-fm))]) + (fm+ (fm* (flomap-normalize z-fm) (- z-max z-min)) z-min))] + [else z-fm])) + (deep-flomap (flomap-resize argb-fm width height) + (flomap-resize new-z-fm width height))) + +;; =================================================================================================== +;; Combining + +(define (deep-flomap-pin dfm1 x1 y1 dfm2 x2 y2 #:z-mode [z-mode 'blend]) + (cond + [(not (and (zero? x2) (zero? y2))) + (deep-flomap-pin dfm1 (- x1 x2) (- y1 y2) dfm2 0 0 #:z-mode z-mode)] + [else + (define-values (w1 h1) (deep-flomap-size dfm1)) + (define-values (w2 h2) (deep-flomap-size dfm2)) + + ;; dfm1 and dfm2 offsets, in final image coordinates + (define dx1 (inexact->exact (round (max 0 (- x1))))) + (define dy1 (inexact->exact (round (max 0 (- y1))))) + (define dx2 (inexact->exact (round (max 0 x1)))) + (define dy2 (inexact->exact (round (max 0 y1)))) + ;; final image size + (define w (max (+ dx1 w1) (+ dx2 w2))) + (define h (max (+ dy1 h1) (+ dy2 h2))) + + (case z-mode + [(place) (deep-flomap-superimpose/place w h dfm1 dx1 dy1 w1 h1 dfm2 dx2 dy2 w2 h2)] + [(blend) (deep-flomap-superimpose/blend w h dfm1 dx1 dy1 w1 h1 dfm2 dx2 dy2 w2 h2)] + [(replace add) (deep-flomap-superimpose/replace w h + dfm1 dx1 dy1 w1 h1 + dfm2 dx2 dy2 w2 h2 z-mode)])])) + +(define (deep-flomap-superimpose/replace w h dfm1 dx1 dy1 w1 h1 dfm2 dx2 dy2 w2 h2 z-mode) + (match-define (deep-flomap argb1-fm z1-fm) dfm1) + (match-define (deep-flomap argb2-fm z2-fm) dfm2) + (define argb1-vs (flomap-values argb1-fm)) + (define argb2-vs (flomap-values argb2-fm)) + (define z1-vs (flomap-values z1-fm)) + (define z2-vs (flomap-values z2-fm)) + + (define-syntax-rule (get-argbz-pixel argb-vs z-vs dx dy w h x y) + (let ([x (unsafe-fx- x dx)] + [y (unsafe-fx- y dy)]) + (cond [(and (x . unsafe-fx>= . 0) (x . unsafe-fx< . w) + (y . unsafe-fx>= . 0) (y . unsafe-fx< . h)) + (define i (unsafe-fx+ x (unsafe-fx* y w))) + (define-values (a r g b) (unsafe-flvector-4ref argb-vs (unsafe-fx* 4 i))) + (define z (unsafe-flvector-ref z-vs i)) + (values a r g b z)] + [else + (values 0.0 0.0 0.0 0.0 0.0)]))) + + (define argb-vs (make-flvector (* 4 w h))) + (define z-vs (make-flvector (* w h))) + (for* ([y (in-range h)] [x (in-range w)]) + (define-values (a1 r1 g1 b1 z1) (get-argbz-pixel argb1-vs z1-vs dx1 dy1 w1 h1 x y)) + (define-values (a2 r2 g2 b2 z2) (get-argbz-pixel argb2-vs z2-vs dx2 dy2 w2 h2 x y)) + + (define i (unsafe-fx+ x (unsafe-fx* y w))) + (unsafe-flvector-4set! argb-vs (unsafe-fx* 4 i) + (unsafe-fl-alpha-blend a1 a2 a2) + (unsafe-fl-alpha-blend r1 r2 a2) + (unsafe-fl-alpha-blend g1 g2 a2) + (unsafe-fl-alpha-blend b1 b2 a2)) + (unsafe-flvector-set! z-vs i + (case z-mode + [(replace) (unsafe-fl-alpha-blend z1 z2 a2)] + [else (unsafe-fl+ z1 z2)]))) + + (deep-flomap (flomap argb-vs 4 w h) + (flomap z-vs 1 w h))) + +(define (deep-flomap-superimpose/place w h dfm1 dx1 dy1 w1 h1 dfm2 dx2 dy2 w2 h2) + (match-define (deep-flomap argb1-fm z1-fm) dfm1) + (match-define (deep-flomap argb2-fm z2-fm) dfm2) + (match-define (flomap argb1-vs 4 argb1-w argb1-h) argb1-fm) + (match-define (flomap argb2-vs 4 argb2-w argb2-h) argb2-fm) + (match-define (flomap z1-vs 1 z1-w z1-h) z1-fm) + (match-define (flomap z2-vs 1 z2-w z2-h) z2-fm) + + (define-syntax-rule (get-alpha-pixel vs dx dy w h x y) + (let ([x (unsafe-fx- x dx)] + [y (unsafe-fx- y dy)]) + (cond [(and (x . unsafe-fx>= . 0) (x . unsafe-fx< . w) + (y . unsafe-fx>= . 0) (y . unsafe-fx< . h)) + (unsafe-flvector-ref vs (unsafe-fx* 4 (unsafe-fx+ x (unsafe-fx* y w))))] + [else 0.0]))) + + (define-syntax-rule (get-z-pixel vs dx dy w h x y) + (let ([x (unsafe-fx- x dx)] + [y (unsafe-fx- y dy)]) + (cond [(and (x . unsafe-fx>= . 0) (x . unsafe-fx< . w) + (y . unsafe-fx>= . 0) (y . unsafe-fx< . h)) + (unsafe-flvector-ref vs (unsafe-fx+ x (unsafe-fx* y w)))] + [else 0.0]))) + + (define z1-max + (for*/fold ([z1-max -inf.0]) ([y (in-range h)] [x (in-range w)]) + (define a1 (get-alpha-pixel argb1-vs dx1 dy1 w1 h1 x y)) + (define a2 (get-alpha-pixel argb2-vs dx2 dy2 w2 h2 x y)) + (cond [(and (a1 . unsafe-fl> . 0.0) (a2 . unsafe-fl> . 0.0)) + (define z1 (get-z-pixel z1-vs dx1 dy1 w1 h1 x y)) + (unsafe-flmax z1-max z1)] + [else z1-max]))) + + (define new-dfm2 (deep-flomap argb2-fm (fm+ z2-fm z1-max))) + (deep-flomap-superimpose/replace w h dfm1 dx1 dy1 w1 h1 new-dfm2 dx2 dy2 w2 h2 'replace)) + +(define (deep-flomap-superimpose/blend w h dfm1 dx1 dy1 w1 h1 dfm2 dx2 dy2 w2 h2) + (match-define (deep-flomap argb1-fm z1-fm) dfm1) + (match-define (deep-flomap argb2-fm z2-fm) dfm2) + (define argb1-vs (flomap-values argb1-fm)) + (define argb2-vs (flomap-values argb2-fm)) + (define z1-vs (flomap-values z1-fm)) + (define z2-vs (flomap-values z2-fm)) + + (define-values (u1-fm v1-fm) (flomap-gradient z1-fm)) + (define-values (u2-fm v2-fm) (flomap-gradient z2-fm)) + (define u1-vs (flomap-values u1-fm)) + (define v1-vs (flomap-values v1-fm)) + (define u2-vs (flomap-values u2-fm)) + (define v2-vs (flomap-values v2-fm)) + + (define-syntax-rule (get-argbzuv-pixel argb-vs z-vs u-vs v-vs dx dy w h x y) + (let ([x (unsafe-fx- x dx)] + [y (unsafe-fx- y dy)]) + (cond [(and (x . unsafe-fx>= . 0) (x . unsafe-fx< . w) + (y . unsafe-fx>= . 0) (y . unsafe-fx< . h)) + (define i (unsafe-fx+ x (unsafe-fx* y w))) + (define-values (a r g b) (unsafe-flvector-4ref argb-vs (unsafe-fx* 4 i))) + (define z (unsafe-flvector-ref z-vs i)) + (define u (unsafe-flvector-ref u-vs i)) + (define v (unsafe-flvector-ref v-vs i)) + (values a r g b z u v)] + [else + (values 0.0 0.0 0.0 0.0 0.0 0.0 0.0)]))) + + (define argb-vs (make-flvector (* 4 w h))) + (define z-vs (make-flvector (* w h))) + (for* ([y (in-range h)] [x (in-range w)]) + (define-values (a1 r1 g1 b1 z1 u1 v1) + (get-argbzuv-pixel argb1-vs z1-vs u1-vs v1-vs dx1 dy1 w1 h1 x y)) + (define-values (a2 r2 g2 b2 z2 u2 v2) + (get-argbzuv-pixel argb2-vs z2-vs u2-vs v2-vs dx2 dy2 w2 h2 x y)) + + #;; max blending: if both alphas nonzero and unequal, keep the pixel with greatest z + (define α + (cond [(and (a1 . unsafe-fl> . 0.0) (a2 . unsafe-fl> . 0.0)) + (cond [(a1 . unsafe-fl> . a2) 0.0] + [(a2 . unsafe-fl> . a1) 1.0] + [else (cond [(z1 . unsafe-fl> . z2) 0.0] + [(z2 . unsafe-fl> . z1) 1.0] + [else 0.5])])] + [(a1 . unsafe-fl> . 0.0) 0.0] + [(a2 . unsafe-fl> . 0.0) 1.0] + [else 0.5])) + ;; softmax blending + (define α + (cond [(and (a1 . unsafe-fl> . 0.0) (a2 . unsafe-fl> . 0.0)) + (define u (unsafe-fl- (unsafe-fl* a2 u2) (unsafe-fl* a1 u1))) + (define v (unsafe-fl- (unsafe-fl* a2 v2) (unsafe-fl* a1 v1))) + (define β (unsafe-fl/ (unsafe-fl- (unsafe-fl* a2 z2) (unsafe-fl* a1 z1)) + (unsafe-flsqrt (unsafe-fl+ (unsafe-fl* u u) (unsafe-fl* v v))))) + (unsafe-flsigmoid (unsafe-fl* 15.0 β))] + [(a1 . unsafe-fl> . 0.0) 0.0] + [(a2 . unsafe-fl> . 0.0) 1.0] + [else 0.5])) + + (define i (unsafe-fx+ x (unsafe-fx* y w))) + (unsafe-flvector-4set! argb-vs (unsafe-fx* 4 i) + (unsafe-fl-convex-combination a1 a2 α) + (unsafe-fl-convex-combination r1 r2 α) + (unsafe-fl-convex-combination g1 g2 α) + (unsafe-fl-convex-combination b1 b2 α)) + (unsafe-flvector-set! z-vs i (unsafe-fl-convex-combination z1 z2 α))) + + (deep-flomap (flomap argb-vs 4 w h) + (flomap z-vs 1 w h))) + +(define (deep-flomap-pin* x1-frac y1-frac x2-frac y2-frac dfm #:z-mode [z-mode 'blend] . dfms) + (for/fold ([dfm1 dfm]) ([dfm2 (in-list dfms)]) + (define-values (w1 h1) (deep-flomap-size dfm1)) + (define-values (w2 h2) (deep-flomap-size dfm2)) + (deep-flomap-pin dfm1 (* x1-frac w1) (* y1-frac h1) + dfm2 (* x2-frac w2) (* y2-frac h2) #:z-mode z-mode))) + +(define deep-flomap-superimpose/c (->* [deep-flomap?] + [#:z-mode (one-of/c 'place 'replace 'add 'blend)] + #:rest (listof deep-flomap?) + deep-flomap?)) + +(define (deep-flomap-lt-superimpose dfm #:z-mode [z-mode 'blend] . dfms) + (apply deep-flomap-pin* 0 0 0 0 dfm dfms #:z-mode z-mode)) + +(define (deep-flomap-lc-superimpose dfm #:z-mode [z-mode 'blend] . dfms) + (apply deep-flomap-pin* 0 1/2 0 1/2 dfm dfms #:z-mode z-mode)) + +(define (deep-flomap-lb-superimpose dfm #:z-mode [z-mode 'blend] . dfms) + (apply deep-flomap-pin* 0 1 0 1 dfm dfms #:z-mode z-mode)) + +(define (deep-flomap-ct-superimpose dfm #:z-mode [z-mode 'blend] . dfms) + (apply deep-flomap-pin* 1/2 0 1/2 0 dfm dfms #:z-mode z-mode)) + +(define (deep-flomap-cc-superimpose dfm #:z-mode [z-mode 'blend] . dfms) + (apply deep-flomap-pin* 1/2 1/2 1/2 1/2 dfm dfms #:z-mode z-mode)) + +(define (deep-flomap-cb-superimpose dfm #:z-mode [z-mode 'blend] . dfms) + (apply deep-flomap-pin* 1/2 1 1/2 1 dfm dfms #:z-mode z-mode)) + +(define (deep-flomap-rt-superimpose dfm #:z-mode [z-mode 'blend] . dfms) + (apply deep-flomap-pin* 1 0 1 0 dfm dfms #:z-mode z-mode)) + +(define (deep-flomap-rc-superimpose dfm #:z-mode [z-mode 'blend] . dfms) + (apply deep-flomap-pin* 1 1/2 1 1/2 dfm dfms #:z-mode z-mode)) + +(define (deep-flomap-rb-superimpose dfm #:z-mode [z-mode 'blend] . dfms) + (apply deep-flomap-pin* 1 1 1 1 dfm dfms #:z-mode z-mode)) + +(define deep-flomap-append/c (->* [deep-flomap?] + #:rest (listof deep-flomap?) + deep-flomap?)) + +(define (deep-flomap-vl-append dfm . dfms) + (apply deep-flomap-pin* 0 1 0 0 dfm dfms #:z-mode 'add)) + +(define (deep-flomap-vc-append dfm . dfms) + (apply deep-flomap-pin* 1/2 1 1/2 0 dfm dfms #:z-mode 'add)) + +(define (deep-flomap-vr-append dfm . dfms) + (apply deep-flomap-pin* 1 1 1 0 dfm dfms #:z-mode 'add)) + +(define (deep-flomap-ht-append dfm . dfms) + (apply deep-flomap-pin* 1 0 0 0 dfm dfms #:z-mode 'add)) + +(define (deep-flomap-hc-append dfm . dfms) + (apply deep-flomap-pin* 1 1/2 0 1/2 dfm dfms #:z-mode 'add)) + +(define (deep-flomap-hb-append dfm . dfms) + (apply deep-flomap-pin* 1 1 0 1 dfm dfms #:z-mode 'add)) diff --git a/collects/images/private/flomap.rkt b/collects/images/private/flomap.rkt new file mode 100644 index 0000000000..5188475d3a --- /dev/null +++ b/collects/images/private/flomap.rkt @@ -0,0 +1,1149 @@ +#lang racket/base + +(require racket/flonum racket/math racket/list racket/match racket/contract racket/class racket/draw + "unsafe.rkt") + +(provide + (contract-out + ;; Contracts + [fx>=/c (fixnum? . -> . contract?)] + ;; Data types + [struct flomap ([values flvector?] + [components (fx>=/c 0)] + [width (fx>=/c 0)] + [height (fx>=/c 0)])] + [flomap-size (flomap? . -> . (values (fx>=/c 0) (fx>=/c 0)))] + [flomap-ref (flomap? (fx>=/c 0) fixnum? fixnum? . -> . flonum?)] + [flomap-bilinear-ref (flomap? (fx>=/c 0) real? real? . -> . flonum?)] + ;; Construction and conversion + [make-flomap (((fx>=/c 0) (fx>=/c 0) (fx>=/c 0)) (real?) . ->* . flomap?)] + [build-flomap ((fx>=/c 0) (fx>=/c 0) (fx>=/c 0) + ((fx>=/c 0) (fx>=/c 0) (fx>=/c 0) . -> . real?) + . -> . flomap?)] + [make-flomap/components ((fx>=/c 0) (fx>=/c 0) (listof real?) . -> . flomap?)] + [flomap-ref-component (flomap? (fx>=/c 0) . -> . flomap?)] + [flomap-take-components (flomap? (fx>=/c 0) . -> . flomap?)] + [flomap-drop-components (flomap? (fx>=/c 0) . -> . flomap?)] + [flomap-append-components ((flomap?) #:rest (listof flomap?) . ->* . flomap?)] + [flomap-multiply-alpha (flomap? . -> . flomap?)] + [flomap-divide-alpha (flomap? . -> . flomap?)] + [bitmap->flomap ((is-a?/c bitmap%) . -> . flomap?)] + [flomap->bitmap (flomap? . -> . (is-a?/c bitmap%))] + [draw-flomap ((fx>=/c 0) (fx>=/c 0) ((is-a?/c bitmap-dc%) . -> . any/c) . -> . flomap?)] + ;; Pointwise unary operations + [flomap-lift ((flonum? . -> . real?) . -> . (flomap? . -> . flomap?))] + [fmneg (flomap? . -> . flomap?)] + [fmabs (flomap? . -> . flomap?)] + [fmsqr (flomap? . -> . flomap?)] + [fmsin (flomap? . -> . flomap?)] + [fmcos (flomap? . -> . flomap?)] + [fmtan (flomap? . -> . flomap?)] + [fmlog (flomap? . -> . flomap?)] + [fmexp (flomap? . -> . flomap?)] + [fmsqrt (flomap? . -> . flomap?)] + [fmasin (flomap? . -> . flomap?)] + [fmacos (flomap? . -> . flomap?)] + [fmatan (flomap? . -> . flomap?)] + [fmround (flomap? . -> . flomap?)] + [fmfloor (flomap? . -> . flomap?)] + [fmceiling (flomap? . -> . flomap?)] + [fmtruncate (flomap? . -> . flomap?)] + [flomap-normalize (flomap? . -> . flomap?)] + ;; Pointwise binary operations + [flomap-lift2 (symbol? (flonum? flonum? . -> . real?) + . -> . ((or/c flomap? real?) (or/c flomap? real?) . -> . flomap?))] + [fm+ ((or/c flomap? real?) (or/c flomap? real?) . -> . flomap?)] + [fm- ((or/c flomap? real?) (or/c flomap? real?) . -> . flomap?)] + [fm* ((or/c flomap? real?) (or/c flomap? real?) . -> . flomap?)] + [fm/ ((or/c flomap? real?) (or/c flomap? real?) . -> . flomap?)] + [fmmin ((or/c flomap? real?) (or/c flomap? real?) . -> . flomap?)] + [fmmax ((or/c flomap? real?) (or/c flomap? real?) . -> . flomap?)] + ;; Blur + [flomap-gaussian-blur ((flomap? real?) + (real? #:x-stddevs real? #:y-stddevs real?) + . ->* . flomap?)] + [flomap-box-blur ((flomap? real?) (real?) . ->* . flomap?)] + [flomap-blur ((flomap? real?) (real?) . ->* . flomap?)] + ;[flomap-integral (flomap? . -> . flomap?)] + ;; Derivatives + [flomap-gradient-x (flomap? . -> . flomap?)] + [flomap-gradient-y (flomap? . -> . flomap?)] + [flomap-gradient (flomap? . -> . (values flomap? flomap?))] + [flomap-gradient-normal (flomap? . -> . flomap?)] + ;; Statistics + [flomap-extreme-values (flomap? . -> . (values flonum? flonum?))] + [flomap-min-value (flomap? . -> . flonum?)] + [flomap-max-value (flomap? . -> . flonum?)] + [flomap-nonzero-rect (flomap? . -> . (values (fx>=/c 0) (fx>=/c 0) (fx>=/c 0) + (fx>=/c 0) (fx>=/c 0) (fx>=/c 0)))] + ;; Sizing + [flomap-inset (case-> (flomap? fixnum? . -> . flomap?) + (flomap? fixnum? fixnum? . -> . flomap?) + (flomap? fixnum? fixnum? fixnum? fixnum? . -> . flomap?))] + [flomap-trim (flomap? . -> . flomap?)] + [flomap-crop (flomap? (fx>=/c 0) (fx>=/c 0) real? real? . -> . flomap?)] + [flomap-lt-crop (flomap? (fx>=/c 0) (fx>=/c 0) . -> . flomap?)] + [flomap-lc-crop (flomap? (fx>=/c 0) (fx>=/c 0) . -> . flomap?)] + [flomap-lb-crop (flomap? (fx>=/c 0) (fx>=/c 0) . -> . flomap?)] + [flomap-ct-crop (flomap? (fx>=/c 0) (fx>=/c 0) . -> . flomap?)] + [flomap-cc-crop (flomap? (fx>=/c 0) (fx>=/c 0) . -> . flomap?)] + [flomap-cb-crop (flomap? (fx>=/c 0) (fx>=/c 0) . -> . flomap?)] + [flomap-rt-crop (flomap? (fx>=/c 0) (fx>=/c 0) . -> . flomap?)] + [flomap-rc-crop (flomap? (fx>=/c 0) (fx>=/c 0) . -> . flomap?)] + [flomap-rb-crop (flomap? (fx>=/c 0) (fx>=/c 0) . -> . flomap?)] + [flomap-scale (case-> (flomap? (>=/c 0.0) . -> . flomap?) + (flomap? (>=/c 0.0) (>=/c 0.0) . -> . flomap?))] + [flomap-resize (flomap? (or/c (fx>=/c 0) #f) (or/c (fx>=/c 0) #f) . -> . flomap?)] + ;; Transforms + [flomap-flip-horizontal (flomap? . -> . flomap?)] + [flomap-flip-vertical (flomap? . -> . flomap?)] + [flomap-transpose (flomap? . -> . flomap?)] + [flomap-cw-rotate (flomap? . -> . flomap?)] + [flomap-ccw-rotate (flomap? . -> . flomap?)] + ;; Compositing + [flomap-pin (flomap? real? real? flomap? real? real? . -> . flomap?)] + [flomap-pin* ([real? real? real? real? flomap?] #:rest (listof flomap?) . ->* . flomap?)] + [flomap-lt-superimpose ([flomap?] #:rest (listof flomap?) . ->* . flomap?)] + [flomap-lc-superimpose ([flomap?] #:rest (listof flomap?) . ->* . flomap?)] + [flomap-lb-superimpose ([flomap?] #:rest (listof flomap?) . ->* . flomap?)] + [flomap-ct-superimpose ([flomap?] #:rest (listof flomap?) . ->* . flomap?)] + [flomap-cc-superimpose ([flomap?] #:rest (listof flomap?) . ->* . flomap?)] + [flomap-cb-superimpose ([flomap?] #:rest (listof flomap?) . ->* . flomap?)] + [flomap-rt-superimpose ([flomap?] #:rest (listof flomap?) . ->* . flomap?)] + [flomap-rc-superimpose ([flomap?] #:rest (listof flomap?) . ->* . flomap?)] + [flomap-rb-superimpose ([flomap?] #:rest (listof flomap?) . ->* . flomap?)] + [flomap-vl-append ([flomap?] #:rest (listof flomap?) . ->* . flomap?)] + [flomap-vc-append ([flomap?] #:rest (listof flomap?) . ->* . flomap?)] + [flomap-vr-append ([flomap?] #:rest (listof flomap?) . ->* . flomap?)] + [flomap-ht-append ([flomap?] #:rest (listof flomap?) . ->* . flomap?)] + [flomap-hc-append ([flomap?] #:rest (listof flomap?) . ->* . flomap?)] + [flomap-hb-append ([flomap?] #:rest (listof flomap?) . ->* . flomap?)] + ;; Effects + [flomap-outline ([flomap? real?] [#:color (or/c real? (listof real?))] . ->* . flomap?)] + [flomap-outlined ([flomap? real?] [#:color (or/c real? (listof real?))] . ->* . flomap?)] + [flomap-shadow ([flomap? real?] [#:color (or/c real? (listof real?))] . ->* . flomap?)] + [flomap-shadowed ([flomap? real?] [#:color (or/c real? (listof real?))] . ->* . flomap?)] + ) + unsafe-build-flomap + flomap-lift/unsafe + flomap-lift2/unsafe) + +(struct flomap (values components width height) + #:transparent + #:guard (λ (vs c w h name) + (unless (= (flvector-length vs) (* c w h)) + (error 'flomap "expected flvector of length ~e; given one of length ~e" + (* c w h) (flvector-length vs))) + (values vs c w h))) + +(define (fx>=/c n) (and/c fixnum? (>=/c n))) + +(define (flomap-size fm) + (match-define (flomap _vs _c w h) fm) + (values w h)) + +(define-syntax-rule (unsafe-coords->index c w k x y) + (unsafe-fx+ k (unsafe-fx* c (unsafe-fx+ x (unsafe-fx* y w))))) + +(define (flomap-ref* vs c w h k x y) + (cond [(and (x . unsafe-fx>= . 0) (x . unsafe-fx< . w) + (y . unsafe-fx>= . 0) (y . unsafe-fx< . h)) + (unsafe-flvector-ref vs (unsafe-coords->index c w k x y))] + [else 0.0])) + +(define (flomap-ref fm k x y) + (match-define (flomap vs c w h) fm) + (unless (k . < . c) + (raise-type-error 'flomap-ref (format "nonnegative fixnum < ~e" c) k)) + (flomap-ref* vs c w h k x y)) + +(define (flomap-bilinear-ref fm k x y) + (match-define (flomap vs c w h) fm) + (unless (k . < . c) + (raise-type-error 'flomap-bilinear-ref (format "nonnegative fixnum < ~e" c) k)) + (let ([x (unsafe-fl- (exact->inexact x) 0.5)] + [y (unsafe-fl- (exact->inexact y) 0.5)]) + (define floor-x (unsafe-flfloor x)) + (define floor-y (unsafe-flfloor y)) + (define x0 (unsafe-fl->fx floor-x)) + (define y0 (unsafe-fl->fx floor-y)) + (define x1 (unsafe-fx+ x0 1)) + (define y1 (unsafe-fx+ y0 1)) + (define v00 (flomap-ref* vs c w h k x0 y0)) + (define v10 (flomap-ref* vs c w h k x1 y0)) + (define v01 (flomap-ref* vs c w h k x0 y1)) + (define v11 (flomap-ref* vs c w h k x1 y1)) + (define xα (unsafe-fl- x floor-x)) + (unsafe-fl-convex-combination (unsafe-fl-convex-combination v00 v10 xα) + (unsafe-fl-convex-combination v01 v11 xα) + (unsafe-fl- y floor-y)))) + +;; =================================================================================================== +;; Construction and conversion + +(define (make-flomap c w h [v 0.0]) + (flomap (make-flvector (* c w h) (exact->inexact v)) + c w h)) + +(define (make-flomap/components w h vs) + (let ([vs (apply flvector (map exact->inexact vs))]) + (define c (flvector-length vs)) + (define new-vs + (for*/flvector #:length (* c w h) ([y (in-range h)] [x (in-range w)] [v (in-flvector vs)]) + v)) + (flomap new-vs c w h))) + +(define-syntax-rule (unsafe-build-flomap components width height image-fun) + (let ([c components] [w width] [h height] [f image-fun]) + (define vs (make-flvector (* c w h))) + (let y-loop ([y 0] [i 0]) + (cond + [(y . unsafe-fx< . h) + (let x-loop ([x 0] [i i]) + (cond + [(x . unsafe-fx< . w) + (let k-loop ([k 0] [i i]) + (cond + [(k . unsafe-fx< . c) + (unsafe-flvector-set! vs i (f k x y)) + (k-loop (unsafe-fx+ k 1) (unsafe-fx+ i 1))] + [else + (x-loop (unsafe-fx+ x 1) i)]))] + [else + (y-loop (unsafe-fx+ y 1) i)]))] + [else + (flomap vs c w h)])))) + +(define (build-flomap c w h f) + (unsafe-build-flomap c w h (λ (k x y) (exact->inexact (f k x y))))) + +(define (flomap-ref-component fm k) + (match-define (flomap vs c w h) fm) + (unless (k . < . c) + (error 'flomap-ref-component "expected component index < ~e; given index ~e" c k)) + (unsafe-build-flomap + 1 w h + (λ (_ x y) (unsafe-flvector-ref vs (unsafe-coords->index c w k x y))))) + +(define (flomap-take-components fm c) + (match-define (flomap vs old-c w h) fm) + (unless (c . <= . old-c) + (error 'flomap-take-components "can only take <= ~e components; given ~e" old-c c)) + (unsafe-build-flomap + c w h + (λ (k x y) (unsafe-flvector-ref vs (unsafe-coords->index old-c w k x y))))) + +(define (flomap-drop-components fm c) + (match-define (flomap vs old-c w h) fm) + (unless (c . <= . old-c) + (error 'flomap-drop-components "can only drop <= ~e components; given ~e" old-c c)) + (unsafe-build-flomap + (- old-c c) w h + (λ (k x y) (unsafe-flvector-ref vs (unsafe-coords->index old-c w (unsafe-fx+ k c) x y))))) + +(define (flomap-append-components2 fm1 fm2) + (match-define (flomap vs1 d1 w1 h1) fm1) + (match-define (flomap vs2 d2 w2 h2) fm2) + (unless (and (= w1 w2) (= h1 h2)) + (error 'flomap-append-components + "expected flomaps with equal dimension; given dimensions ~e×~e and ~e×~e" + w1 h1 w2 h2)) + (unsafe-build-flomap + (+ d1 d2) w1 h1 + (λ (k x y) + (cond [(k . unsafe-fx< . d1) (unsafe-flvector-ref vs1 (unsafe-coords->index d1 w1 k x y))] + [else (unsafe-flvector-ref vs2 (unsafe-coords->index d2 w2 (unsafe-fx- k d1) x y))])))) + +(define (flomap-append-components fm . fms) + (for/fold ([fm1 fm]) ([fm2 (in-list fms)]) + (flomap-append-components2 fm1 fm2))) + +(define (fldivide x y) + (if (y . unsafe-fl= . 0.0) 0.0 (unsafe-fl/ x y))) + +(define (flomap-divide-alpha fm) + (match-define (flomap _ c w h) fm) + (cond [(c . <= . 1) fm] + [else + (define alpha-fm (flomap-ref-component fm 0)) + (flomap-append-components alpha-fm ((flomap-lift2/unsafe 'flomap-divide-alpha fldivide) + (flomap-drop-components fm 1) alpha-fm))])) + +(define (flomap-multiply-alpha fm) + (match-define (flomap _ c w h) fm) + (cond [(c . > . 1) + (define alpha-fm (flomap-ref-component fm 0)) + (flomap-append-components alpha-fm (fm* (flomap-drop-components fm 1) alpha-fm))] + [else fm])) + +(define (bitmap->flomap bm) + (define w (send bm get-width)) + (define h (send bm get-height)) + (define bs (make-bytes (* 4 w h))) + ;; get bytes without premultiplying alpha because doing it in flonums maintains precision + ;; (if RGB bytes are stored without premultiplying alpha) + (send bm get-argb-pixels 0 0 w h bs #t) + (send bm get-argb-pixels 0 0 w h bs #f) + + (define argb-fm (make-flomap 4 w h)) + (define argb-vs (flomap-values argb-fm)) + (for ([i0 (in-range 0 (* 4 w h) 4)]) + (define i1 (unsafe-fx+ i0 1)) + (define i2 (unsafe-fx+ i0 2)) + (define i3 (unsafe-fx+ i0 3)) + (define a (unsafe-bytes-ref bs i0)) + (define r (unsafe-bytes-ref bs i1)) + (define g (unsafe-bytes-ref bs i2)) + (define b (unsafe-bytes-ref bs i3)) + (unsafe-flvector-set! argb-vs i0 (unsafe-fl/ (unsafe-fx->fl a) 255.0)) + (unsafe-flvector-set! argb-vs i1 (unsafe-fl/ (unsafe-fx->fl r) 255.0)) + (unsafe-flvector-set! argb-vs i2 (unsafe-fl/ (unsafe-fx->fl g) 255.0)) + (unsafe-flvector-set! argb-vs i3 (unsafe-fl/ (unsafe-fx->fl b) 255.0))) + (flomap-multiply-alpha argb-fm)) + +(define (flomap->bitmap fm) + (match-define (flomap vs c w h) fm) + (let* ([fm (case c + [(1) (flomap-append-components (make-flomap 1 w h 1.0) fm fm fm)] + [(2) (define alpha-fm (flomap-ref-component fm 0)) + (define value-fm (flomap-drop-components fm 1)) + (flomap-append-components alpha-fm value-fm value-fm value-fm)] + [(3) (flomap-append-components (make-flomap 1 w h 1.0) fm)] + [(4) fm] + [else (raise-type-error 'flomap->bitmap "flomap with 1, 2, 3 or 4 components" fm)])] + ;; inset if zero (bitmaps can't have zero size) + [fm (flomap-inset fm 0 0 (if (= w 0) 1 0) (if (= h 0) 1 0))] + ;; divide alphas before converting + [fm (flomap-divide-alpha fm)]) + ;; guaranteed an ARGB flomap now + (match-define (flomap vs 4 w h) fm) + (define bs (make-bytes (* 4 w h))) + (for ([i0 (in-range 0 (* 4 w h) 4)]) + (define i1 (unsafe-fx+ i0 1)) + (define i2 (unsafe-fx+ i0 2)) + (define i3 (unsafe-fx+ i0 3)) + (define a (unsafe-flvector-ref vs i0)) + (define r (unsafe-flvector-ref vs i1)) + (define g (unsafe-flvector-ref vs i2)) + (define b (unsafe-flvector-ref vs i3)) + (unsafe-bytes-set! bs i0 (unsafe-fl->byte (unsafe-fl* 255.0 a))) + (unsafe-bytes-set! bs i1 (unsafe-fl->byte (unsafe-fl* 255.0 r))) + (unsafe-bytes-set! bs i2 (unsafe-fl->byte (unsafe-fl* 255.0 g))) + (unsafe-bytes-set! bs i3 (unsafe-fl->byte (unsafe-fl* 255.0 b)))) + + (define bm (make-bitmap w h)) + (send bm set-argb-pixels 0 0 w h bs #t) + (send bm set-argb-pixels 0 0 w h bs #f) + bm)) + +(define (draw-flomap w h draw-proc) + (define bm (make-bitmap (max w 1) (max h 1))) + (define dc (make-object bitmap-dc% bm)) + (send dc set-smoothing 'smoothed) + (draw-proc dc) + (flomap-inset (bitmap->flomap bm) 0 0 (if (= w 0) -1 0) (if (= h 0) -1 0))) + +;; =================================================================================================== +;; Unary pointwise operations + +(define-syntax-rule (flomap-lift/unsafe f) + (λ (fm) + (match-define (flomap vs c w h) fm) + (define n (* c w h)) + (define res-vs (make-flvector n)) + (flomap (let loop ([i 0]) + (cond [(i . unsafe-fx< . n) + (unsafe-flvector-set! res-vs i (f (unsafe-flvector-ref vs i))) + (loop (unsafe-fx+ i 1))] + [else res-vs])) + c w h))) + +(define (flomap-lift op) + (flomap-lift/unsafe (λ (x) (exact->inexact (op x))))) + +(define fmneg (flomap-lift/unsafe unsafe-flneg)) +(define fmabs (flomap-lift/unsafe unsafe-flabs)) +(define fmsqr (flomap-lift/unsafe (λ (x) (unsafe-fl* x x)))) +(define fmsin (flomap-lift/unsafe unsafe-flsin)) +(define fmcos (flomap-lift/unsafe unsafe-flcos)) +(define fmtan (flomap-lift/unsafe unsafe-fltan)) +(define fmlog (flomap-lift/unsafe unsafe-fllog)) +(define fmexp (flomap-lift/unsafe unsafe-flexp)) +(define fmsqrt (flomap-lift/unsafe unsafe-flsqrt)) +(define fmasin (flomap-lift/unsafe unsafe-flasin)) +(define fmacos (flomap-lift/unsafe unsafe-flacos)) +(define fmatan (flomap-lift/unsafe unsafe-flatan)) +(define fmround (flomap-lift/unsafe unsafe-flround)) +(define fmfloor (flomap-lift/unsafe unsafe-flfloor)) +(define fmceiling (flomap-lift/unsafe unsafe-flceiling)) +(define fmtruncate (flomap-lift/unsafe unsafe-fltruncate)) + +;; =================================================================================================== +;; Binary pointwise operations + +(define-syntax-rule (flomap-lift2/unsafe name unsafe-op) + (λ (fm1 fm2) + (cond + [(and (real? fm1) (real? fm2)) + (error name "expected at least one flomap argument; given ~e and ~e" fm1 fm2)] + [(real? fm1) (let ([fm1 (exact->inexact fm1)]) + ((flomap-lift/unsafe (λ (v) (unsafe-op fm1 v))) fm2))] + [(real? fm2) (let ([fm2 (exact->inexact fm2)]) + ((flomap-lift/unsafe (λ (v) (unsafe-op v fm2))) fm1))] + [else + (match-define (flomap vs1 c1 w h) fm1) + (match-define (flomap vs2 c2 w2 h2) fm2) + (cond + [(not (and (= w w2) (= h h2))) + (error name "expected flomaps of equal size; given sizes ~e×~e and ~e×~e" w h w2 h2)] + [(= c1 c2) + (define n (* c1 w h)) + (define res-vs (make-flvector n)) + (flomap (let loop ([i 0]) + (cond [(i . unsafe-fx< . n) + (unsafe-flvector-set! res-vs i (unsafe-op (unsafe-flvector-ref vs1 i) + (unsafe-flvector-ref vs2 i))) + (loop (unsafe-fx+ i 1))] + [else res-vs])) + c1 w h)] + [(= c1 1) + (unsafe-build-flomap + c2 w h + (λ (k x y) + (unsafe-op (unsafe-flvector-ref vs1 (unsafe-coords->index 1 w 0 x y)) + (unsafe-flvector-ref vs2 (unsafe-coords->index c2 w k x y)))))] + [(= c2 1) + (unsafe-build-flomap + c1 w h + (λ (k x y) + (unsafe-op (unsafe-flvector-ref vs1 (unsafe-coords->index c1 w k x y)) + (unsafe-flvector-ref vs2 (unsafe-coords->index 1 w 0 x y)))))] + [else + (error name (string-append "expected flomaps with the same number of components, " + "or a flomap with 1 component and a flomap with n components; " + "given flomaps with ~e and ~e components") + c1 c2)])]))) + +(define (flomap-lift2 name op) + (flomap-lift2/unsafe name (λ (x y) (exact->inexact (op x y))))) + +(define fm+ (flomap-lift2/unsafe 'fm+ unsafe-fl+)) +(define fm- (flomap-lift2/unsafe 'fm- unsafe-fl-)) +(define fm* (flomap-lift2/unsafe 'fm* unsafe-fl*)) +(define fm/ (flomap-lift2/unsafe 'fm/ unsafe-fl/)) +(define fmmin (flomap-lift2/unsafe 'fmmin unsafe-flmin)) +(define fmmax (flomap-lift2/unsafe 'fmmax unsafe-flmax)) + +(define (flomap-normalize fm) + (match-define (flomap _ _c w h) fm) + (define-values (v-min v-max) (flomap-extreme-values fm)) + (define v-size (- v-max v-min)) + (let* ([fm (fm- fm v-min)] + [fm (if (zero? v-size) fm (fm/ fm (- v-max v-min)))]) + fm)) + +;; =================================================================================================== +;; Gaussian blur + +(define (flomap-gaussian-blur fm xσ [yσ xσ] #:x-stddevs [x-stddevs 3.0] #:y-stddevs [y-stddevs 3.0]) + (flomap-gaussian-blur-y + (flomap-gaussian-blur-x fm (abs (exact->inexact xσ)) (abs (exact->inexact x-stddevs))) + (abs (exact->inexact yσ)) (abs (exact->inexact y-stddevs)))) + +(define (flomap-gaussian-blur-x fm σ stddevs) + (let ([σ (abs (exact->inexact σ))] + [stddevs (abs (exact->inexact stddevs))]) + (cond + [(or (σ . = . 0.0) (stddevs . = . 0.0)) fm] + [else + (define dx-min (inexact->exact (floor (* (- stddevs) σ)))) + (define dx-max (+ 1 (inexact->exact (ceiling (* stddevs σ))))) + (define ss (gaussian-kernel-1d dx-min dx-max σ)) + + (match-define (flomap vs c w h) fm) + (unsafe-build-flomap + c w h + (λ (k x y) + (define dx-start (unsafe-fx- (unsafe-fxmax (unsafe-fx+ x dx-min) 0) x)) + (define dx-end (unsafe-fx- (unsafe-fxmin (unsafe-fx+ x dx-max) w) x)) + (define i (unsafe-fx+ k (unsafe-fx* c (unsafe-fx+ x (unsafe-fx* w y))))) + (define j (unsafe-fx+ i (unsafe-fx* c dx-start))) + ;; this inner loop has to be *tight*, so no `for'; seems to speed it up by about 50% + (let src-loop ([sum 0.0] [dx dx-start] [j j]) + (cond [(dx . unsafe-fx< . dx-end) + (define s (unsafe-flvector-ref ss (unsafe-fx- dx dx-min))) + (src-loop (unsafe-fl+ sum (unsafe-fl* s (unsafe-flvector-ref vs j))) + (unsafe-fx+ dx 1) + (unsafe-fx+ j c))] + [else sum]))))]))) + +(define (flomap-gaussian-blur-y fm σ stddevs) + (let ([σ (abs (exact->inexact σ))] + [stddevs (abs (exact->inexact stddevs))]) + (cond + [(or (σ . = . 0.0) (stddevs . = . 0.0)) fm] + [else + (define dy-min (inexact->exact (floor (* (- stddevs) σ)))) + (define dy-max (+ 1 (inexact->exact (ceiling (* stddevs σ))))) + (define ss (gaussian-kernel-1d dy-min dy-max σ)) + + (match-define (flomap vs c w h) fm) + (define cw (* c w)) + (unsafe-build-flomap + c w h + (λ (k x y) + (define dy-start (unsafe-fx- (unsafe-fxmax (unsafe-fx+ y dy-min) 0) y)) + (define dy-end (unsafe-fx- (unsafe-fxmin (unsafe-fx+ y dy-max) h) y)) + (define i (unsafe-fx+ k (unsafe-fx* c (unsafe-fx+ x (unsafe-fx* w y))))) + (define j (unsafe-fx+ i (unsafe-fx* cw dy-start))) + ;; this inner loop has to be *tight*, so no `for'; seems to speed it up by about 50% + (let src-loop ([sum 0.0] [dy dy-start] [j j]) + (cond [(dy . unsafe-fx< . dy-end) + (define s (unsafe-flvector-ref ss (unsafe-fx- dy dy-min))) + (src-loop (unsafe-fl+ sum (unsafe-fl* s (unsafe-flvector-ref vs j))) + (unsafe-fx+ dy 1) + (unsafe-fx+ j cw))] + [else sum]))))]))) + +(define (gaussian-kernel-1d mn mx σ) + (define n (- mx mn)) + (define ys + (for/flvector #:length n ([x (in-range mn mx)]) + (unsafe-flgaussian (unsafe-fx->fl x) σ))) + (define s (unsafe-flvector-sum ys)) + (for/flvector #:length n ([y (in-flvector ys)]) + (unsafe-fl/ y s))) + +;; =================================================================================================== +;; Integral images + +(define (flomap-integral fm) + (match-define (flomap vs c w h) fm) + (define w+1 (+ w 1)) + (define c*w+1 (* c w+1)) + (define h+1 (+ h 1)) + (define new-vs (make-flvector (* c w+1 h+1))) + (for* ([y (in-range h)] [x (in-range w)] [k (in-range c)]) + (define i (unsafe-coords->index c w k x y)) + (define j00 (unsafe-coords->index c w+1 k x y)) + (define j01 (unsafe-fx+ j00 c*w+1)) + (unsafe-flvector-set! new-vs (unsafe-fx+ j01 c) + (unsafe-fl- (unsafe-flsum (unsafe-flvector-ref vs i) + (unsafe-flvector-ref new-vs j01) + (unsafe-flvector-ref new-vs (unsafe-fx+ j00 c))) + (unsafe-flvector-ref new-vs j00)))) + (flomap new-vs c w+1 h+1)) + +(define (unsafe-flomap-integral-sum vs c w h k x-start y-start x-end y-end) + (define w-1 (unsafe-fx- w 1)) + (define h-1 (unsafe-fx- h 1)) + (define x1 (unsafe-fxmax 0 (unsafe-fxmin x-start w-1))) + (define x2 (unsafe-fxmax 0 (unsafe-fxmin x-end w-1))) + (define y1 (unsafe-fxmax 0 (unsafe-fxmin y-start h-1))) + (define y2 (unsafe-fxmax 0 (unsafe-fxmin y-end h-1))) + (unsafe-fl- (unsafe-fl+ (unsafe-flvector-ref vs (unsafe-coords->index c w k x1 y1)) + (unsafe-flvector-ref vs (unsafe-coords->index c w k x2 y2))) + (unsafe-fl+ (unsafe-flvector-ref vs (unsafe-coords->index c w k x1 y2)) + (unsafe-flvector-ref vs (unsafe-coords->index c w k x2 y1))))) + +(define (flomap-integral-x fm) + (match-define (flomap vs c w h) fm) + (define w+1 (+ w 1)) + (define new-vs (make-flvector (* c w+1 h))) + (for* ([y (in-range h)] [x (in-range w)] [k (in-range c)]) + (define i (unsafe-coords->index c w k x y)) + (define j0 (unsafe-coords->index c w+1 k x y)) + (define j1 (unsafe-fx+ j0 c)) + (unsafe-flvector-set! new-vs j1 + (unsafe-fl+ (unsafe-flvector-ref vs i) + (unsafe-flvector-ref new-vs j0)))) + (flomap new-vs c w+1 h)) + +(define (flomap-integral-y fm) + (match-define (flomap vs c w h) fm) + (define h+1 (+ h 1)) + (define cw (* c w)) + (define new-vs (make-flvector (* c w h+1))) + (for* ([y (in-range h)] [x (in-range w)] [k (in-range c)]) + (define j0 (unsafe-coords->index c w k x y)) + (define j1 (unsafe-fx+ j0 cw)) + (unsafe-flvector-set! new-vs j1 + (unsafe-fl+ (unsafe-flvector-ref vs j0) + (unsafe-flvector-ref new-vs j0)))) + (flomap new-vs c w h+1)) + +(define (unsafe-flomap-integral-x-sum vs c w k x-start x-end y) + (define w-1 (unsafe-fx- w 1)) + (define x1 (unsafe-fxmax 0 (unsafe-fxmin x-start w-1))) + (define x2 (unsafe-fxmax 0 (unsafe-fxmin x-end w-1))) + (unsafe-fl- (unsafe-flvector-ref vs (unsafe-coords->index c w k x2 y)) + (unsafe-flvector-ref vs (unsafe-coords->index c w k x1 y)))) + +(define (unsafe-flomap-integral-y-sum vs c w h k x y-start y-end) + (define h-1 (unsafe-fx- h 1)) + (define y1 (unsafe-fxmax 0 (unsafe-fxmin y-start h-1))) + (define y2 (unsafe-fxmax 0 (unsafe-fxmin y-end h-1))) + (unsafe-fl- (unsafe-flvector-ref vs (unsafe-coords->index c w k x y2)) + (unsafe-flvector-ref vs (unsafe-coords->index c w k x y1)))) + +;; =================================================================================================== +;; Box blur + +(define (flomap-box-blur fm xr [yr xr]) + (let ([xr (abs xr)] [yr (abs yr)]) + (cond [(and (integer? xr) (integer? yr)) + (flomap-box-blur/int fm (inexact->exact xr) (inexact->exact yr))] + [else + (flomap-box-blur-y (flomap-box-blur-x fm xr) yr)]))) + +(define (flomap-box-blur-x fm r) + (cond + [(integer? r) (flomap-box-blur-x/int fm (inexact->exact r))] + [else + (define r1 (inexact->exact (floor r))) + (define r2 (+ r1 1)) + (define s (+ 1 (* 2 r))) + (define s1 (+ 1 (* 2 r1))) + (define s2 (+ 1 (* 2 r2))) + (define α (exact->inexact (/ (- (sqr s2) (sqr s)) (- (sqr s2) (sqr s1))))) + (define norm1 (/ α s1)) + (define norm2 (/ (- 1 α) s2)) + (define r1+1 (+ r1 1)) + (define r2+1 (+ r2 1)) + (match-define (flomap _ c w h) fm) + (match-define (flomap int-vs int-c int-w int-h) (flomap-integral-x fm)) + (unsafe-build-flomap + c w h + (λ (k x y) + (unsafe-fl+ + (unsafe-fl* norm1 (unsafe-flomap-integral-x-sum + int-vs int-c int-w k + (unsafe-fx- x r1) (unsafe-fx+ x r1+1) y)) + (unsafe-fl* norm2 (unsafe-flomap-integral-x-sum + int-vs int-c int-w k + (unsafe-fx- x r2) (unsafe-fx+ x r2+1) y)))))])) + +(define (flomap-box-blur-y fm r) + (cond + [(integer? r) (flomap-box-blur-y/int fm (inexact->exact r))] + [else + (define r1 (inexact->exact (floor r))) + (define r2 (+ r1 1)) + (define s (+ 1 (* 2 r))) + (define s1 (+ 1 (* 2 r1))) + (define s2 (+ 1 (* 2 r2))) + (define α (exact->inexact (/ (- (sqr s2) (sqr s)) (- (sqr s2) (sqr s1))))) + (define norm1 (/ α s1)) + (define norm2 (/ (- 1 α) s2)) + (define r1+1 (+ r1 1)) + (define r2+1 (+ r2 1)) + (match-define (flomap _ c w h) fm) + (match-define (flomap int-vs int-c int-w int-h) (flomap-integral-y fm)) + (unsafe-build-flomap + c w h + (λ (k x y) + (unsafe-fl+ + (unsafe-fl* norm1 (unsafe-flomap-integral-y-sum + int-vs int-c int-w int-h k x + (unsafe-fx- y r1) (unsafe-fx+ y r1+1))) + (unsafe-fl* norm2 (unsafe-flomap-integral-y-sum + int-vs int-c int-w int-h k x + (unsafe-fx- y r2) (unsafe-fx+ y r2+1))))))])) + +(define (flomap-box-blur/int fm xr yr) + (define norm (/ 1.0 (* (+ 1 (* 2 xr)) (+ 1 (* 2 yr))))) + (define xr+1 (+ xr 1)) + (define yr+1 (+ yr 1)) + (match-define (flomap _ c w h) fm) + (match-define (flomap int-vs int-c int-w int-h) (flomap-integral fm)) + (unsafe-build-flomap + c w h + (λ (k x y) + (unsafe-fl* norm (unsafe-flomap-integral-sum + int-vs int-c int-w int-h k + (unsafe-fx- x xr) (unsafe-fx- y yr) + (unsafe-fx+ x xr+1) (unsafe-fx+ y yr+1)))))) + +(define (flomap-box-blur-x/int fm r) + (define norm (/ 1.0 (+ 1 (* 2 r)))) + (define r+1 (+ r 1)) + (match-define (flomap _ c w h) fm) + (match-define (flomap int-vs int-c int-w int-h) (flomap-integral-x fm)) + (unsafe-build-flomap + c w h + (λ (k x y) + (unsafe-fl* norm (unsafe-flomap-integral-x-sum + int-vs int-c int-w k + (unsafe-fx- x r) (unsafe-fx+ x r+1) y))))) + +(define (flomap-box-blur-y/int fm r) + (define norm (/ 1.0 (+ 1 (* 2 r)))) + (define r+1 (+ r 1)) + (match-define (flomap _ c w h) fm) + (match-define (flomap int-vs int-c int-w int-h) (flomap-integral-y fm)) + (unsafe-build-flomap + c w h + (λ (k x y) + (unsafe-fl* norm (unsafe-flomap-integral-y-sum + int-vs int-c int-w int-h k x + (unsafe-fx- y r) (unsafe-fx+ y r+1)))))) + +;; =================================================================================================== +;; Default blur + +(define (flomap-blur fm xσ [yσ xσ]) + (let ([xσ (abs xσ)] [yσ (abs yσ)]) + (cond + [(and (xσ . >= . 1.5) (yσ . >= . 1.5)) + (define xσ^2 (sqr xσ)) + (define yσ^2 (sqr yσ)) + (define xr (floor (variance->box-radius (* 1/3 xσ^2)))) + (define yr (floor (variance->box-radius (* 1/3 yσ^2)))) + (flomap-box-blur (flomap-box-blur (flomap-box-blur fm xr yr) xr yr) + (variance->box-radius (- xσ^2 (* 2 (box-radius->variance xr)))) + (variance->box-radius (- yσ^2 (* 2 (box-radius->variance yr)))))] + [else + (flomap-blur-x (flomap-blur-y fm yσ) xσ)]))) + +(define (box-radius->variance r) + (* 1/12 (sqr (+ 1 (* 2 r))))) + +(define (variance->box-radius σ^2) + (* 1/2 (- (sqrt (* 12 σ^2)) 1))) + +(define ((make-flomap-blur-dimension gaussian-blur box-blur) fm σ) + (cond + [(σ . = . 0.0) fm] + [(σ . < . 1.5) (gaussian-blur fm σ 3.0)] + [else + (define σ^2 (sqr σ)) + (define r (floor (variance->box-radius (* 1/3 σ^2)))) + (box-blur (box-blur (box-blur fm r) r) + (variance->box-radius (- σ^2 (* 2 (box-radius->variance r)))))])) + +(define flomap-blur-x (make-flomap-blur-dimension flomap-gaussian-blur-x flomap-box-blur-x)) +(define flomap-blur-y (make-flomap-blur-dimension flomap-gaussian-blur-y flomap-box-blur-y)) + +;; =================================================================================================== +;; Derivatives (Schurr operator) + +(define (flomap-gradient-x fm) + (match-define (flomap vs c w h) fm) + (define cw (* c w)) + (define d00 (+ (- cw) -1)) + (define d20 (+ (- cw) 1)) + (define d02 (+ cw -1)) + (define d22 (+ cw 1)) + (define w-1 (- w 1)) + (define h-1 (- h 1)) + (unsafe-build-flomap + c w h + (λ (k x y) + (cond [(and (x . unsafe-fx> . 0) (x . unsafe-fx< . w-1) + (y . unsafe-fx> . 0) (y . unsafe-fx< . h-1)) + (define i (unsafe-fx+ k (unsafe-fx* c (unsafe-fx+ x (unsafe-fx* w y))))) + (unsafe-flsum + (unsafe-fl- (unsafe-fl* 0.1875 (unsafe-flvector-ref vs (unsafe-fx+ i d20))) + (unsafe-fl* 0.1875 (unsafe-flvector-ref vs (unsafe-fx+ i d00)))) + (unsafe-fl- (unsafe-fl* 0.6250 (unsafe-flvector-ref vs (unsafe-fx+ i 1))) + (unsafe-fl* 0.6250 (unsafe-flvector-ref vs (unsafe-fx- i 1)))) + (unsafe-fl- (unsafe-fl* 0.1875 (unsafe-flvector-ref vs (unsafe-fx+ i d22))) + (unsafe-fl* 0.1875 (unsafe-flvector-ref vs (unsafe-fx+ i d02)))))] + [else 0.0])))) + +(define (flomap-gradient-y fm) + (match-define (flomap vs c w h) fm) + (define cw (* c w)) + (define d00 (+ (- cw) -1)) + (define d02 (+ cw -1)) + (define d20 (+ (- cw) 1)) + (define d22 (+ cw 1)) + (define w-1 (- w 1)) + (define h-1 (- h 1)) + (unsafe-build-flomap + c w h + (λ (k x y) + (cond [(and (x . unsafe-fx> . 0) (x . unsafe-fx< . w-1) + (y . unsafe-fx> . 0) (y . unsafe-fx< . h-1)) + (define i (unsafe-fx+ k (unsafe-fx* c (unsafe-fx+ x (unsafe-fx* w y))))) + (unsafe-flsum + (unsafe-fl- (unsafe-fl* 0.1875 (unsafe-flvector-ref vs (unsafe-fx+ i d02))) + (unsafe-fl* 0.1875 (unsafe-flvector-ref vs (unsafe-fx+ i d00)))) + (unsafe-fl- (unsafe-fl* 0.6250 (unsafe-flvector-ref vs (unsafe-fx+ i cw))) + (unsafe-fl* 0.6250 (unsafe-flvector-ref vs (unsafe-fx- i cw)))) + (unsafe-fl- (unsafe-fl* 0.1875 (unsafe-flvector-ref vs (unsafe-fx+ i d22))) + (unsafe-fl* 0.1875 (unsafe-flvector-ref vs (unsafe-fx+ i d20)))))] + [else 0.0])))) + +(define (flomap-gradient fm) + (values (flomap-gradient-x fm) (flomap-gradient-y fm))) + +(define (flomap-gradient-normal z-fm) + (define-values (dx-bm dy-bm) (flomap-gradient z-fm)) + (match-define (flomap dxs 1 w h) dx-bm) + (match-define (flomap dys 1 _w _h) dy-bm) + (define normal-vs (make-flvector (* 3 w h))) + (for ([i (in-range (* w h))]) + (define j (unsafe-fx* 3 i)) + (define dx (unsafe-flvector-ref dxs i)) + (define dy (unsafe-flvector-ref dys i)) + (define-values (nx ny nz) (unsafe-fl3normalize (unsafe-flneg dx) (unsafe-flneg dy) 2.0)) + (unsafe-flvector-3set! normal-vs j nx ny nz)) + (flomap normal-vs 3 w h)) + +;; =================================================================================================== +;; Statistics + +(define (flomap-min-value fm) + (define vs (flomap-values fm)) + (for/fold ([v-min 0.0]) ([v (in-flvector vs)]) + (unsafe-flmin v-min v))) + +(define (flomap-max-value fm) + (define vs (flomap-values fm)) + (for/fold ([v-max 0.0]) ([v (in-flvector vs)]) + (unsafe-flmax v-max v))) + +(define (flomap-extreme-values fm) + (define vs (flomap-values fm)) + (for/fold ([v-min 0.0] [v-max 0.0]) ([v (in-flvector vs)]) + (values (unsafe-flmin v-min v) + (unsafe-flmax v-max v)))) + +(define (flomap-nonzero-rect fm) + (match-define (flomap vs c w h) fm) + (for*/fold ([k-min c] [x-min w] [y-min h] [k-max 0] [x-max 0] [y-max 0] + ) ([y (in-range h)] [x (in-range w)] [k (in-range c)]) + (define i (unsafe-fx+ k (unsafe-fx* c (unsafe-fx+ x (unsafe-fx* y w))))) + (define v (unsafe-flvector-ref vs i)) + (cond [(not (v . unsafe-fl= . 0.0)) + (values (unsafe-fxmin k-min k) + (unsafe-fxmin x-min x) + (unsafe-fxmin y-min y) + (unsafe-fxmax k-max (unsafe-fx+ 1 k)) + (unsafe-fxmax x-max (unsafe-fx+ 1 x)) + (unsafe-fxmax y-max (unsafe-fx+ 1 y)))] + [else (values k-min x-min y-min k-max x-max y-max)]))) + +;; =================================================================================================== +;; Sizing + +(define flomap-inset + (case-lambda + [(fm amt) + (flomap-inset fm amt amt amt amt)] + [(fm h-amt v-amt) + (flomap-inset fm h-amt v-amt h-amt v-amt)] + [(fm l-amt t-amt r-amt b-amt) + (cond [(and (= l-amt 0) (= t-amt 0) (= r-amt 0) (= b-amt 0)) fm] + [else + (match-define (flomap vs c w h) fm) + (define new-w (+ w l-amt r-amt)) + (define new-h (+ h t-amt b-amt)) + (define new-vs (make-flvector (* c new-w new-h))) + (for ([new-y (in-range new-h)]) + (define y (- new-y t-amt)) + (when (and (y . >= . 0) (y . < . h)) + (for ([new-x (in-range new-w)]) + (define x (- new-x l-amt)) + (when (and (x . >= . 0) (x . < . w)) + (for ([k (in-range c)]) + (define i (unsafe-coords->index c w k x y)) + (define new-i (unsafe-coords->index c new-w k new-x new-y)) + (unsafe-flvector-set! new-vs new-i (unsafe-flvector-ref vs i))))))) + (flomap new-vs c new-w new-h)])])) + +(define (flomap-trim fm) + (match-define (flomap _ c w h) fm) + (unless (c . > . 0) + (raise-type-error 'flomap-shadow "flomap with at least 1 component" fm)) + (define-values (_k-min x-min y-min _k-max x-max y-max) + (flomap-nonzero-rect (flomap-ref-component fm 0))) + (flomap-inset fm (- x-min) (- y-min) (- x-max w) (- y-max h))) + +(define (flomap-crop fm width height x-frac y-frac) + (match-define (flomap _ c w h) fm) + (define l-amt (round (* x-frac (- width w)))) + (define r-amt (- (- width w) l-amt)) + (define t-amt (round (* y-frac (- height h)))) + (define b-amt (- (- height h) t-amt)) + (flomap-inset fm l-amt t-amt r-amt b-amt)) + +(define (flomap-lt-crop fm w h) (flomap-crop fm w h 0 0)) +(define (flomap-lc-crop fm w h) (flomap-crop fm w h 0 1/2)) +(define (flomap-lb-crop fm w h) (flomap-crop fm w h 0 1)) +(define (flomap-ct-crop fm w h) (flomap-crop fm w h 1/2 0)) +(define (flomap-cc-crop fm w h) (flomap-crop fm w h 1/2 1/2)) +(define (flomap-cb-crop fm w h) (flomap-crop fm w h 1/2 1)) +(define (flomap-rt-crop fm w h) (flomap-crop fm w h 1 0)) +(define (flomap-rc-crop fm w h) (flomap-crop fm w h 1 1/2)) +(define (flomap-rb-crop fm w h) (flomap-crop fm w h 1 1)) + +(define flomap-scale + (case-lambda + [(fm scale) (flomap-scale fm scale scale)] + [(fm x-scale y-scale) (flomap-scale-x (flomap-scale-y fm (exact->inexact y-scale)) + (exact->inexact x-scale))])) + +(define (flomap-resize fm width height) + (cond [(and width height) (flomap-resize-x (flomap-resize-y fm height) width)] + [width (define s (exact->inexact (/ width (flomap-width fm)))) + (flomap-resize-x (flomap-scale-y fm s) width)] + [height (define s (exact->inexact (/ height (flomap-height fm)))) + (flomap-scale-x (flomap-resize-y fm height) s)])) + +(define (flomap-scale-x fm scale) + (cond [(= 0 scale) (match-define (flomap _ c w h) fm) + (make-flomap c 0 h)] + [else (flomap-scale*-x fm scale (inexact->exact (ceiling (* (flomap-width fm) scale))))])) + +(define (flomap-scale-y fm scale) + (cond [(= 0 scale) (match-define (flomap _ c w h) fm) + (make-flomap c w 0)] + [else (flomap-scale*-y fm scale (inexact->exact (ceiling (* (flomap-height fm) scale))))])) + +(define (flomap-resize-x fm width) + (cond [(= 0 width) (match-define (flomap _ c w h) fm) + (make-flomap c 0 h)] + [else (flomap-scale*-x fm (exact->inexact (/ width (flomap-width fm))) width)])) + +(define (flomap-resize-y fm height) + (cond [(= 0 height) (match-define (flomap _ c w h) fm) + (make-flomap c w 0)] + [else (flomap-scale*-y fm (exact->inexact (/ height (flomap-height fm))) height)])) + +;; standard deviation of an unscaled box filter (i.e. f([-1/2,1/2]) = {1}, zero elsewhere) +(define box-filter-variance 1/12) +;; standard deviation of an unscaled triangle filter (simualtes effect of linear interpolation) +(define triangle-filter-variance 1/24) + +;; calculates the standard deviation of downscaling blur, assuming linear interpolation will be +;; carried out on the blurred image +(define (stddev-for-scale scale) + (define var (- (/ box-filter-variance (sqr scale)) + triangle-filter-variance)) + (sqrt (max 0 var))) + +(define (flomap-scale*-x fm scale width) + (cond [(scale . = . 1.0) fm] + [(scale . > . 1.0) (flomap-scale*-x/linear fm scale width)] + [else (define low-res-fm + (flomap-gaussian-blur-x fm (stddev-for-scale scale) 2.0)) + (flomap-scale*-x/linear low-res-fm scale width)])) + +(define (flomap-scale*-y fm scale height) + (cond [(scale . = . 1.0) fm] + [(scale . > . 1.0) (flomap-scale*-y/linear fm scale height)] + [else (define low-res-fm + (flomap-gaussian-blur-y fm (stddev-for-scale scale) 2.0)) + (flomap-scale*-y/linear low-res-fm scale height)])) + +(define (flomap-scale*-x/linear fm s new-w) + (match-define (flomap vs c w h) fm) + (define w-1 (unsafe-fx- w 1)) + (unsafe-build-flomap + c new-w h + (λ (k new-x y) + (define scaled-x (unsafe-fl- (unsafe-fl/ (unsafe-fl+ (unsafe-fx->fl new-x) 0.5) s) 0.5)) + (define floor-scaled-x (unsafe-flfloor scaled-x)) + (define x0 (unsafe-fl->fx floor-scaled-x)) + (cond [(or (x0 . unsafe-fx< . 0) (x0 . unsafe-fx>= . w)) 0.0] + [else + (define i0 (unsafe-coords->index c w k x0 y)) + (define v0 (unsafe-flvector-ref vs i0)) + (define v1 (cond [(x0 . unsafe-fx= . w-1) 0.0] + [else (unsafe-flvector-ref vs (unsafe-fx+ i0 c))])) + (unsafe-fl-convex-combination v0 v1 (unsafe-fl- scaled-x floor-scaled-x))])))) + +(define (flomap-scale*-y/linear fm s new-h) + (match-define (flomap vs c w h) fm) + (define h-1 (unsafe-fx- h 1)) + (define cw (* c w)) + (unsafe-build-flomap + c w new-h + (λ (k x new-y) + (define orig-y (unsafe-fl+ (unsafe-fx->fl new-y) 0.5)) + (define scaled-y (unsafe-fl/ orig-y s)) + (define half-floor-y (unsafe-fl- (unsafe-flfloor (unsafe-fl+ scaled-y 0.5)) 0.5)) + (define y0 (unsafe-fl->fx (unsafe-flfloor half-floor-y))) + (cond [(or (y0 . unsafe-fx< . 0) (y0 . unsafe-fx>= . h)) 0.0] + [else + (define i0 (unsafe-coords->index c w k x y0)) + (define v0 (unsafe-flvector-ref vs i0)) + (define v1 (cond [(y0 . unsafe-fx= . h-1) 0.0] + [else (unsafe-flvector-ref vs (unsafe-fx+ i0 cw))])) + (unsafe-fl-convex-combination v0 v1 (unsafe-fl- scaled-y half-floor-y))])))) + +;; =================================================================================================== +;; Pinning and standard pin-derived combiners + +(define (flomap-pin fm1 x1 y1 fm2 x2 y2) + (cond + [(not (and (zero? x2) (zero? y2))) + (flomap-pin fm1 (- x1 x2) (- y1 y2) fm2 0 0)] + [else + (match-define (flomap argb1-vs 4 w1 h1) fm1) + (match-define (flomap argb2-vs 4 w2 h2) fm2) + + ;; fm1 and fm2 offsets, in final image coordinates + (define dx1 (inexact->exact (round (max 0 (- x1))))) + (define dy1 (inexact->exact (round (max 0 (- y1))))) + (define dx2 (inexact->exact (round (max 0 x1)))) + (define dy2 (inexact->exact (round (max 0 y1)))) + + ;; final image size + (define w (max (+ dx1 w1) (+ dx2 w2))) + (define h (max (+ dy1 h1) (+ dy2 h2))) + + (define-syntax-rule (get-argb-pixel argb-vs dx dy w h x y) + (let ([x (unsafe-fx- x dx)] + [y (unsafe-fx- y dy)]) + (cond [(and (x . unsafe-fx>= . 0) (x . unsafe-fx< . w) + (y . unsafe-fx>= . 0) (y . unsafe-fx< . h)) + (unsafe-flvector-4ref argb-vs (unsafe-coords->index 4 w 0 x y))] + [else + (values 0.0 0.0 0.0 0.0)]))) + + (define argb-vs (make-flvector (* 4 w h))) + (for* ([y (in-range h)] [x (in-range w)]) + (define-values (a1 r1 g1 b1) (get-argb-pixel argb1-vs dx1 dy1 w1 h1 x y)) + (define-values (a2 r2 g2 b2) (get-argb-pixel argb2-vs dx2 dy2 w2 h2 x y)) + (unsafe-flvector-4set! argb-vs (unsafe-coords->index 4 w 0 x y) + (unsafe-fl-alpha-blend a1 a2 a2) + (unsafe-fl-alpha-blend r1 r2 a2) + (unsafe-fl-alpha-blend g1 g2 a2) + (unsafe-fl-alpha-blend b1 b2 a2))) + + (flomap argb-vs 4 w h)])) + +(define (flomap-pin* x1-frac y1-frac x2-frac y2-frac fm . fms) + (for/fold ([fm1 fm]) ([fm2 (in-list fms)]) + (define-values (w1 h1) (flomap-size fm1)) + (define-values (w2 h2) (flomap-size fm2)) + (flomap-pin fm1 (* x1-frac w1) (* y1-frac h1) + fm2 (* x2-frac w2) (* y2-frac h2)))) + +(define (flomap-lt-superimpose fm . fms) + (apply flomap-pin* 0 0 0 0 fm fms)) + +(define (flomap-lc-superimpose fm . fms) + (apply flomap-pin* 0 1/2 0 1/2 fm fms)) + +(define (flomap-lb-superimpose fm . fms) + (apply flomap-pin* 0 1 0 1 fm fms)) + +(define (flomap-ct-superimpose fm . fms) + (apply flomap-pin* 1/2 0 1/2 0 fm fms)) + +(define (flomap-cc-superimpose fm . fms) + (apply flomap-pin* 1/2 1/2 1/2 1/2 fm fms)) + +(define (flomap-cb-superimpose fm . fms) + (apply flomap-pin* 1/2 1 1/2 1 fm fms)) + +(define (flomap-rt-superimpose fm . fms) + (apply flomap-pin* 1 0 1 0 fm fms)) + +(define (flomap-rc-superimpose fm . fms) + (apply flomap-pin* 1 1/2 1 1/2 fm fms)) + +(define (flomap-rb-superimpose fm . fms) + (apply flomap-pin* 1 1 1 1 fm fms)) + +(define (flomap-vl-append fm . fms) + (apply flomap-pin* 0 1 0 0 fm fms)) + +(define (flomap-vc-append fm . fms) + (apply flomap-pin* 1/2 1 1/2 0 fm fms)) + +(define (flomap-vr-append fm . fms) + (apply flomap-pin* 1 1 1 0 fm fms)) + +(define (flomap-ht-append fm . fms) + (apply flomap-pin* 1 0 0 0 fm fms)) + +(define (flomap-hc-append fm . fms) + (apply flomap-pin* 1 1/2 0 1/2 fm fms)) + +(define (flomap-hb-append fm . fms) + (apply flomap-pin* 1 1 0 1 fm fms)) + +;; =================================================================================================== +;; Transforms + +(define (flomap-flip-horizontal fm) + (match-define (flomap vs c w h) fm) + (define w-1 (- w 1)) + (unsafe-build-flomap + c w h + (λ (k x y) + (unsafe-flvector-ref vs (unsafe-coords->index c w k (unsafe-fx- w-1 x) y))))) + +(define (flomap-flip-vertical fm) + (match-define (flomap vs c w h) fm) + (define h-1 (- h 1)) + (unsafe-build-flomap + c w h + (λ (k x y) + (unsafe-flvector-ref vs (unsafe-coords->index c w k x (unsafe-fx- h-1 y)))))) + +(define (flomap-transpose fm) + (match-define (flomap vs c w h) fm) + (unsafe-build-flomap + c h w + (λ (k x y) + (unsafe-flvector-ref vs (unsafe-coords->index c w k y x))))) + +(define (flomap-cw-rotate fm) + (match-define (flomap vs c w h) fm) + (define h-1 (- h 1)) + (unsafe-build-flomap + c h w + (λ (k x y) + (unsafe-flvector-ref vs (unsafe-coords->index c w k (unsafe-fx- h-1 y) x))))) + +(define (flomap-ccw-rotate fm) + (match-define (flomap vs c w h) fm) + (define w-1 (- w 1)) + (unsafe-build-flomap + c h w + (λ (k x y) + (unsafe-flvector-ref vs (unsafe-coords->index c w k y (unsafe-fx- w-1 x)))))) + + +;; =================================================================================================== +;; Effects + +(define (colorize-alpha fm color) + (match-define (flomap _ 1 w h) fm) + (flomap-append-components fm (fm* fm (make-flomap/components w h color)))) + +(define (flomap-outline fm amt #:color [color #f]) + (match-define (flomap _ c w h) fm) + (define σ (* 0.5 (max 1.0 amt))) + (define ceiling-amt (inexact->exact (ceiling amt))) + (define test-size (* 2 (+ 1 ceiling-amt))) + (define test-mid (quotient test-size 2)) + (define test-fm (build-flomap 1 test-size test-size + (λ (k x y) (if (x . >= . test-mid) 1.0 0.0)))) + (define blur-fm (flomap-blur test-fm σ)) + (define v-max (flomap-bilinear-ref blur-fm 0 (+ 0.5 (- test-mid amt)) test-mid)) + (define v-min (flomap-bilinear-ref blur-fm 0 (+ 0.5 (- test-mid amt 1)) test-mid)) + (define alpha-fm (flomap-ref-component fm 0)) + (define new-alpha-fm (fmmax 0.0 (fmmin 1.0 (fm/ (fm- (flomap-blur alpha-fm σ) v-min) + (- v-max v-min))))) + (define color-vs (if (list? color) color (make-list (- c 1) 0.0))) + (colorize-alpha new-alpha-fm color-vs)) + +(define (flomap-outlined fm amt #:color [color #f]) + (flomap-cc-superimpose (flomap-outline fm amt #:color color) fm)) + +(define (flomap-shadow fm σ #:color [color #f]) + (match-define (flomap _ c w h) fm) + (cond [(c . = . 0) fm] + [else (define alpha-fm (flomap-ref-component fm 0)) + (define color-vs (if (list? color) color (make-list (- c 1) 0.0))) + (colorize-alpha (flomap-blur alpha-fm σ) color-vs)])) + +(define (flomap-shadowed fm σ #:color [color #f]) + (flomap-cc-superimpose (flomap-shadow fm σ #:color color) fm)) diff --git a/collects/images/private/renderfx.rkt b/collects/images/private/renderfx.rkt new file mode 100644 index 0000000000..3980695d8b --- /dev/null +++ b/collects/images/private/renderfx.rkt @@ -0,0 +1,640 @@ +#lang racket/base + +(require racket/match racket/math racket/provide unstable/parameter-group racket/flonum + "unsafe.rkt" + "flomap.rkt" + "deep-flomap.rkt") + +(provide + ;; lighting parameters + light-direction + light-intensity + ambient-intensity + reflected-intensity + deep-flomap-lighting + (struct-out deep-flomap-lighting-value) + ;; material parameters + refractive-indexes + ->refractive-index + refractive-index + ideal-reflectance + ideal-transmission + transmission-density + specular-reflectance + specular-roughness + specular-purity + diffuse-reflectance + ambient-reflectance + ambient-transmission + shadow-blur + deep-flomap-material + (struct-out deep-flomap-material-value) + (matching-identifiers-out #rx".*-material" (all-defined-out)) + ;; ray tracing functions + deep-flomap-render + ) + +;; =================================================================================================== +;; Rendering parameters + +;; Hacks +(define specular-blur 1/2) +(define diffuse-blur 1/2) +(define ideal-transmission-blur 1) +(define ambient-transmission-blur-fraction 1/32) + +(define refractive-indexes + #hash((diamond . 2.42) + (cubic-zirconia . 2.15) + (ruby . 1.76) + (enamel . 1.63) + (glass . 1.54) + (wax . 1.43) + (water . 1.33) + (vacuum . 1.0))) + +(define (->refractive-index idx) + (cond [(symbol? idx) + (hash-ref refractive-indexes idx + (λ () (error 'refractive-index + "`refractive-indexes' does not have a refractive index for ~e" + idx)))] + [(rational? idx) (exact->inexact idx)])) + +(define (list-exact->inexact vs) + (map exact->inexact vs)) + +;; light parameters +(define light-direction (make-parameter '(0.0 -1.0 1.0) list-exact->inexact)) +(define light-intensity (make-parameter '(1.0 1.0 1.0) list-exact->inexact)) +(define ambient-intensity (make-parameter '(1.0 1.0 1.0) list-exact->inexact)) +(define reflected-intensity (make-parameter '(1.0 1.0 1.0) list-exact->inexact)) + +(define-parameter-group deep-flomap-lighting + (light-direction light-intensity ambient-intensity reflected-intensity)) + +;; material parameters +(define refractive-index (make-parameter (->refractive-index 'glass) ->refractive-index)) +(define ideal-reflectance (make-parameter 1.0 exact->inexact)) +(define ideal-transmission (make-parameter 1.0 exact->inexact)) +(define transmission-density (make-parameter 0.65 exact->inexact)) +(define specular-reflectance (make-parameter 0.15 exact->inexact)) +(define specular-roughness (make-parameter 0.15 exact->inexact)) +(define specular-purity (make-parameter 1.0 exact->inexact)) +(define diffuse-reflectance (make-parameter 0.25 exact->inexact)) +(define ambient-reflectance (make-parameter 0.1 exact->inexact)) +(define ambient-transmission (make-parameter 0.7 exact->inexact)) +(define shadow-blur (make-parameter 0.02 exact->inexact)) + +(define-parameter-group deep-flomap-material + (refractive-index ideal-reflectance ideal-transmission transmission-density + specular-reflectance specular-roughness specular-purity + diffuse-reflectance ambient-reflectance ambient-transmission + shadow-blur)) + +(define matte-material + (deep-flomap-material-value + 'vacuum 0.0 0.0 1.0 + 0.0 1.0 1.0 + 1.0 0.25 0.0 + 0.0)) + +(define dull-plastic-material + (deep-flomap-material-value + 'glass 0.0 0.0 1.0 + 1.0 0.25 1.0 + 1.0 0.25 0.0 + 0.0)) + +(define wax-material + (deep-flomap-material-value + 'wax 1.0 0.5 1.25 + 0.5 0.5 0.5 + 0.5 0.5 0.5 + 0.04)) + +(define plastic-material + (deep-flomap-material-value + 'glass 0.375 1.0 2.0 + 0.25 0.15 1.0 + 0.6 0.5 0.1 + 0.03)) + +(define metal-material + (deep-flomap-material-value + 3.0 0.3 0.0 1.0 + 0.8 0.1 0.2 + 0.2 0.8 0.0 + 0.0)) + +(define porcelain-material + (deep-flomap-material-value + 'enamel 0.9 0.5 1.5 + 0.4 0.2 1.0 + 0.5 0.5 0.5 + 0.04)) + +(define frosted-glass-material + (deep-flomap-material-value + 'glass 0.9 1.0 0.8 + 0.4 0.2 1.0 + 0.5 0.1 0.5 + 0.04)) + +(define glass-material + (deep-flomap-material-value + 'glass 1.0 1.0 0.65 + 0.15 0.15 1.0 + 0.25 0.1 0.7 + 0.02)) + +(define diamond-material + (deep-flomap-material-value + 'diamond 1.0 1.0 0.5 + 0.15 0.15 1.0 + 0.15 0.1 0.7 + 0.02)) + +;; =================================================================================================== +;; Ray tracing ops + +;; assumes direction to viewer is 0.0 0.0 1.0 (i.e. viewer above at infinity) +(define (unsafe-reflect-view-ray nx ny nz) + (values (unsafe-fl* 2.0 (unsafe-fl* nz nx)) + (unsafe-fl* 2.0 (unsafe-fl* nz ny)) + (unsafe-fl- (unsafe-fl* 2.0 (unsafe-fl* nz nz)) 1.0))) + +(define (unsafe-transmission-intensity cos-i η1 η2) + ;; Fresnel's equation + (define n1/n2 (unsafe-fl/ η1 η2)) + (define cos^2-i (unsafe-fl* cos-i cos-i)) + (define sin^2-t (unsafe-fl* (unsafe-fl* n1/n2 n1/n2) (unsafe-fl- 1.0 cos^2-i))) + (define cos-t (unsafe-flsqrt (unsafe-fl- 1.0 sin^2-t))) + (define n1-cos-i (unsafe-fl* η1 cos-i)) + (define n2-cos-t (unsafe-fl* η2 cos-t)) + (define n1-cos-t (unsafe-fl* η1 cos-t)) + (define n2-cos-i (unsafe-fl* η2 cos-i)) + (define perp (unsafe-fl/ (unsafe-fl- n1-cos-i n2-cos-t) + (unsafe-fl+ n1-cos-i n2-cos-t))) + (define parl (unsafe-fl/ (unsafe-fl- n2-cos-i n1-cos-t) + (unsafe-fl+ n2-cos-i n1-cos-t))) + (unsafe-fl- 1.0 (unsafe-fl* 0.5 (unsafe-fl+ (unsafe-fl* perp perp) (unsafe-fl* parl parl))))) + +(define (unsafe-transmitted-vector nx ny nz ix iy iz η1 η2) + (define η1/η2 (unsafe-fl/ η1 η2)) + (define cos-i (unsafe-flneg (unsafe-fl3dot nx ny nz ix iy iz))) + (define cos^2-i (unsafe-fl* cos-i cos-i)) + (define sin^2-t (unsafe-fl* (unsafe-fl* η1/η2 η1/η2) (unsafe-fl- 1.0 cos^2-i))) + (define c (unsafe-fl- (unsafe-fl* η1/η2 cos-i) (unsafe-flsqrt (unsafe-fl- 1.0 sin^2-t)))) + (define-values (tx1 ty1 tz1) (unsafe-fl3* ix iy iz η1/η2)) + (define-values (tx2 ty2 tz2) (unsafe-fl3* nx ny nz c)) + (unsafe-fl3+ tx1 ty1 tz1 tx2 ty2 tz2)) + +(define-syntax-rule (unsafe-transmit opacity dist) + (let* ([o (unsafe-fl+ (unsafe-fl* opacity 0.99) 0.005)]) + (cond [(unsafe-fl= 0.0 o) 0.0] + [else (unsafe-flexp (unsafe-flproduct (unsafe-fllog o) dist))]))) + +(define-syntax-rule (unsafe-beckmann-distribution n-dot-h surface-roughness) + (let ([cos-θ n-dot-h] + [m surface-roughness]) + (define x (unsafe-fl/ (unsafe-fltan (unsafe-flacos cos-θ)) m)) + (define m*cos^2-θ (unsafe-flproduct m cos-θ cos-θ)) + (unsafe-fl/ (unsafe-flexp (unsafe-flneg (unsafe-fl* x x))) + (unsafe-flproduct pi m*cos^2-θ m*cos^2-θ)))) + +;; =================================================================================================== +;; Pass 1: tracing from a directional light source + +(define (trace-directional-light alpha-fm rgb-fm z-fm normal-fm) + (match-define (flomap alpha-vs 1 w h) alpha-fm) + (match-define (list rgb-vs z-vs normal-vs) (map flomap-values (list rgb-fm z-fm normal-fm))) + + (define z-max (flomap-max-value z-fm)) + (define opacity-z (/ z-max (transmission-density))) + ;; max coordinates of the shadow image + (define sx-max (- w 1.0)) + (define sy-max (- h 1.0)) + ;; vector pointing toward light source, incident vector, and light color + (define-values (lx ly lz) (match-let ([(list lx ly lz) (light-direction)]) + (unsafe-fl3normalize lx ly lz))) + (define-values (ix iy iz) (unsafe-fl3neg lx ly lz)) + (match-define (list lr lg lb) (light-intensity)) + ;; view and "half" directions + (define-values (hx hy hz) (unsafe-fl3-half-norm lx ly lz 0.0 0.0 1.0)) + ;; material properties + (define η2 (exact->inexact (refractive-index))) + (define η1/η2 (/ 1.0 η2)) + ;; proportion of diffracted reflection + (define 0.5*v-dot-h (* 0.5 hz)) + (define Ra (ambient-reflectance)) + (define Ta (ambient-transmission)) + (define Rd (diffuse-reflectance)) + (define Rs (specular-reflectance)) + (define Ti (ideal-transmission)) + (define roughness (specular-roughness)) + (define purity (specular-purity)) + + (match-define (list ar ag ab) (ambient-intensity)) + (define-values (Tar Tag Tab) (unsafe-fl3* ar ag ab Ta)) + (define-values (Rar Rag Rab) (unsafe-fl3* ar ag ab Ra)) + + (define intensity-fm (make-flomap 3 w h)) + (define intensity-vs (flomap-values intensity-fm)) + (define specular-fm (make-flomap 1 w h)) + (define specular-vs (flomap-values specular-fm)) + (define diffuse-fm (make-flomap 3 w h lz)) + (define diffuse-vs (flomap-values diffuse-fm)) + + (define sx-vs (make-flvector (* w h) +nan.0)) + (define sy-vs (make-flvector (* w h) +nan.0)) + (define Irgb-vs (make-flvector (* 3 w h))) + + (for* ([int-y (in-range h)] [int-x (in-range w)]) + (define i (unsafe-fx+ int-x (unsafe-fx* int-y w))) + (define a (unsafe-flvector-ref alpha-vs i)) + (when (a . unsafe-fl> . 0.0) + (define j (unsafe-fx* 3 i)) + ;; altitude and surface normal + (define z (unsafe-flvector-ref z-vs i)) + (define-values (nx ny nz) (unsafe-flvector-3ref normal-vs j)) + ;; cosine of angle between light and surface normal + (define n-dot-l (unsafe-fl3dot nx ny nz lx ly lz)) + ;; intensity of incident light (Lambert's cosine law) + (define-values (Ilr Ilg Ilb) (unsafe-fl3* lr lg lb n-dot-l)) + (unsafe-flvector-3set! intensity-vs j Ilr Ilg Ilb) + ;; diffraction intensity due to specular, diffuse and ambient reflection + (cond + [(n-dot-l . unsafe-fl> . 0.0) ; does the microfacet face the light? + (define Is + (cond + #;; just Beckmann's distribution + [(Rs . unsafe-fl> . 0.0) + (define n-dot-h (unsafe-fl3dot nx ny nz hx hy hz)) + (unsafe-fl* Rs (unsafe-beckmann-distribution n-dot-h roughness))] + ;; Cook-Torrance specular reflection intensity + [(Rs . unsafe-fl> . 0.0) + (define n-dot-h (unsafe-fl3dot nx ny nz hx hy hz)) + (define n-dot-v nz) + ;; geometrical attenuation factor (has something to do with local reflections) + (define G (unsafe-flmin + 1.0 (unsafe-flmin (unsafe-fl/ (unsafe-fl* n-dot-h n-dot-v) 0.5*v-dot-h) + (unsafe-fl/ (unsafe-fl* n-dot-h n-dot-l) 0.5*v-dot-h)))) + ;; scatter distribution + (define D (unsafe-beckmann-distribution n-dot-h roughness)) + ;; Fresnel term + (define F (unsafe-fl- 1.0 (unsafe-transmission-intensity n-dot-l 1.0 η2))) + (unsafe-flproduct Rs F (unsafe-fl/ D n-dot-l) (unsafe-fl/ G n-dot-v))] + [else 0.0])) + (unsafe-flvector-set! specular-vs i Is) + + (let*-values ([(Idr Idg Idb) (unsafe-fl3* Ilr Ilg Ilb Rd)] + [(Idr Idg Idb) (unsafe-fl3+ Idr Idg Idb Rar Rag Rab)]) + (unsafe-flvector-3set! diffuse-vs j Idr Idg Idb))] + [else + (unsafe-flvector-3set! diffuse-vs j Rar Rag Rab)]) + + (when (and (Ti . unsafe-fl> . 0.0) (n-dot-l . unsafe-fl> . 0.0)) + ;; ideal transmission vector + (define-values (tx ty tz) (unsafe-transmitted-vector nx ny nz ix iy iz 1.0 η2)) + ;; sz = z + dist * tz, so dist = (sz - z) / tz + (define dist (unsafe-fl/ (unsafe-fl- 0.0 z) tz)) + (when (and (dist . unsafe-fl>= . 0.0) (dist . unsafe-fl< . +inf.0)) + ;; transmitted ray intersects with shadow plane at sx sy 0.0 + (define sx (unsafe-flsum 0.5 (unsafe-fx->fl int-x) (unsafe-fl* dist tx))) + (define sy (unsafe-flsum 0.5 (unsafe-fx->fl int-y) (unsafe-fl* dist ty))) + ;; actual transmission proportion (Fresnel's law) + (define T (unsafe-fl* Ti (unsafe-transmission-intensity n-dot-l 1.0 η2))) + ;; intensity of incident light (Lambert's cosine law) + (define-values (Ilr Ilg Ilb) (unsafe-fl3* lr lg lb n-dot-l)) + ;; normalized distance to the surface + (define norm-dist (unsafe-fl/ dist opacity-z)) + ;; intensity of the light that strikes the surface + (define-values (r g b) (unsafe-flvector-3ref rgb-vs j)) + (define-values (Ir Ig Ib) + ;; unsafe-transmit calculates intensity using color as absorption rate + (values (unsafe-flproduct T Ilr (unsafe-transmit r norm-dist)) + (unsafe-flproduct T Ilg (unsafe-transmit g norm-dist)) + (unsafe-flproduct T Ilb (unsafe-transmit b norm-dist)))) + (unsafe-flvector-set! sx-vs i sx) + (unsafe-flvector-set! sy-vs i sy) + (unsafe-flvector-3set! Irgb-vs j Ir Ig Ib))))) + + (define diffracted-fm (fm+ (fm* rgb-fm (flomap-blur diffuse-fm diffuse-blur)) + (fm* (flomap-blur specular-fm specular-blur) + (fm+ (fm* (- 1.0 purity) rgb-fm) + (fm* purity intensity-fm))))) + + ;; approximate ambient transmission by casting light downward with no refraction, then blurring + (define ambient-shadow-fm (make-flomap 3 w h)) + (define ambient-shadow-vs (flomap-values ambient-shadow-fm)) + (when (Ta . unsafe-fl> . 0.0) + (for* ([int-y (in-range h)] [int-x (in-range w)]) + (define i (unsafe-fx+ int-x (unsafe-fx* int-y w))) + (define a (unsafe-flvector-ref alpha-vs i)) + (when (a . unsafe-fl> . 0.0) + (define z (unsafe-flvector-ref z-vs i)) + (define j (unsafe-fx* 3 i)) + (define-values (r g b) (unsafe-flvector-3ref rgb-vs j)) + (define norm-dist (unsafe-fl/ z opacity-z)) + (define-values (Ir Ig Ib) + ;; note: unsafe-transmit converts colors to absorption rates + (values (unsafe-fl* Tar (unsafe-transmit r norm-dist)) + (unsafe-fl* Tag (unsafe-transmit g norm-dist)) + (unsafe-fl* Tab (unsafe-transmit b norm-dist)))) + (unsafe-flvector-3set! ambient-shadow-vs j Ir Ig Ib)))) + + ;; cast approximate shadow volumes + (define shadow-fm (flomap-blur ambient-shadow-fm (* ambient-transmission-blur-fraction (min w h)))) + (define shadow-vs (flomap-values shadow-fm)) + (when (Ti . unsafe-fl> . 0.0) + ;; Gaussian kernels - make as wide as possible to keep from having to reallocate + (define kxs (make-flvector w)) + (define kys (make-flvector h)) + (for* ([int-y (in-range (- h 1))] [int-x (in-range (- w 1))]) + (define i00 (unsafe-fx+ int-x (unsafe-fx* int-y w))) + (define i01 (unsafe-fx+ i00 1)) + (define i10 (unsafe-fx+ i00 w)) + (define i11 (unsafe-fx+ i10 1)) + (define sx00 (unsafe-flvector-ref sx-vs i00)) + (define sx01 (unsafe-flvector-ref sx-vs i01)) + (define sx10 (unsafe-flvector-ref sx-vs i10)) + (define sx11 (unsafe-flvector-ref sx-vs i11)) + (when (and (unsafe-flrational? sx00) (unsafe-flrational? sx01) + (unsafe-flrational? sx10) (unsafe-flrational? sx11)) + (define sy00 (unsafe-flvector-ref sy-vs i00)) + (define sy01 (unsafe-flvector-ref sy-vs i01)) + (define sy10 (unsafe-flvector-ref sy-vs i10)) + (define sy11 (unsafe-flvector-ref sy-vs i11)) + (define sx-min (unsafe-flmin* sx00 sx01 sx10 sx11)) + (define sy-min (unsafe-flmin* sy00 sy01 sy10 sy11)) + (define sx-max (unsafe-flmax* sx00 sx01 sx10 sx11)) + (define sy-max (unsafe-flmax* sy00 sy01 sy10 sy11)) + + (define sx-mid (unsafe-fl* 0.25 (unsafe-flsum sx00 sx01 sx10 sx11))) + (define sy-mid (unsafe-fl* 0.25 (unsafe-flsum sy00 sy01 sy10 sy11))) + (define sx-mid^2 (unsafe-fl* 0.25 (unsafe-flsum (unsafe-flsqr sx00) (unsafe-flsqr sx01) + (unsafe-flsqr sx10) (unsafe-flsqr sx11)))) + (define sy-mid^2 (unsafe-fl* 0.25 (unsafe-flsum (unsafe-flsqr sy00) (unsafe-flsqr sy01) + (unsafe-flsqr sy10) (unsafe-flsqr sy11)))) + (define sx-stddev (unsafe-flsqrt (unsafe-fl- sx-mid^2 (unsafe-flsqr sx-mid)))) + (define sy-stddev (unsafe-flsqrt (unsafe-fl- sy-mid^2 (unsafe-flsqr sy-mid)))) + (define x-min (unsafe-fxmax 0 (unsafe-fl->fx (unsafe-flfloor sx-min)))) + (define x-max (unsafe-fxmin w (unsafe-fx+ 1 (unsafe-fl->fx (unsafe-flfloor sx-max))))) + (define y-min (unsafe-fxmax 0 (unsafe-fl->fx (unsafe-flfloor sy-min)))) + (define y-max (unsafe-fxmin h (unsafe-fx+ 1 (unsafe-fl->fx (unsafe-flfloor sy-max))))) + (define x-size (unsafe-fx- x-max x-min)) + (define y-size (unsafe-fx- y-max y-min)) + (when (and (x-size . unsafe-fx> . 0) (y-size . unsafe-fx> . 0)) + ;; average the color + (define-values (r00 g00 b00) (unsafe-flvector-3ref Irgb-vs (unsafe-fx* 3 i00))) + (define-values (r01 g01 b01) (unsafe-flvector-3ref Irgb-vs (unsafe-fx* 3 i01))) + (define-values (r10 g10 b10) (unsafe-flvector-3ref Irgb-vs (unsafe-fx* 3 i10))) + (define-values (r11 g11 b11) (unsafe-flvector-3ref Irgb-vs (unsafe-fx* 3 i11))) + (define r (unsafe-fl* 0.25 (unsafe-flsum r00 r01 r10 r11))) + (define g (unsafe-fl* 0.25 (unsafe-flsum g00 g01 g10 g11))) + (define b (unsafe-fl* 0.25 (unsafe-flsum b00 b01 b10 b11))) + ;; precalculate the Gaussian kernel for the x direction + (for ([dx (in-range x-size)]) + (define x (unsafe-fx+ dx x-min)) + (define d (unsafe-fl/ (unsafe-fl- (unsafe-fl+ 0.5 (unsafe-fx->fl x)) sx-mid) sx-stddev)) + (define kx (unsafe-flexp (unsafe-fl* -0.5 (unsafe-fl* d d)))) + (unsafe-flvector-set! kxs dx kx)) + ;; precalculate the Gaussian kernel for the y direction + ;; this shouldn't help because it's used only once per y iteration, but it reduces allocs + ;; within the loop (unsafe-flexp has no bytecode op yet, so its args and return are boxed) + (for ([dy (in-range y-size)]) + (define y (unsafe-fx+ dy y-min)) + (define d (unsafe-fl/ (unsafe-fl- (unsafe-fl+ 0.5 (unsafe-fx->fl y)) sy-mid) sy-stddev)) + (define ky (unsafe-flexp (unsafe-fl* -0.5 (unsafe-fl* d d)))) + (unsafe-flvector-set! kys dy ky)) + ;; normalization constant for a 2D Gaussian kernel + (define c (unsafe-flproduct 2.0 pi sx-stddev sy-stddev)) + ;; cast the approximate shadow volume + ;; this loop doesn't use the nice unsafe-fl3 macros or define-values, which (currently) + ;; makes it about 2x faster + (let y-loop ([dy 0]) + (when (dy . unsafe-fx< . y-size) + (define ky (unsafe-flvector-ref kys dy)) + (cond [(ky . unsafe-fl> . 0.1) + (define a (unsafe-fl/ ky c)) + (define Ir (unsafe-fl* r a)) + (define Ig (unsafe-fl* g a)) + (define Ib (unsafe-fl* b a)) + (define i (unsafe-fx* 3 (unsafe-fx+ x-min (unsafe-fx* (unsafe-fx+ dy y-min) w)))) + (let x-loop ([dx 0] [i i]) + (cond [(dx . unsafe-fx< . x-size) + (define kx (unsafe-flvector-ref kxs dx)) + (when (kx . unsafe-fl> . 0.1) + (unsafe-flvector-set! + shadow-vs i (unsafe-fl+ (unsafe-fl* Ir kx) + (unsafe-flvector-ref shadow-vs i))) + (define i1 (unsafe-fx+ i 1)) + (unsafe-flvector-set! + shadow-vs i1 (unsafe-fl+ (unsafe-fl* Ig kx) + (unsafe-flvector-ref shadow-vs i1))) + (define i2 (unsafe-fx+ i 2)) + (unsafe-flvector-set! + shadow-vs i2 (unsafe-fl+ (unsafe-fl* Ib kx) + (unsafe-flvector-ref shadow-vs i2)))) + (x-loop (unsafe-fx+ 1 dx) (unsafe-fx+ 3 i))] + [else + (y-loop (unsafe-fx+ 1 dy))]))] + [else + (y-loop (unsafe-fx+ 1 dy))])))) + ))) + + ;; blur the shadow a bit to make up for approximating it with Gaussians + (values diffracted-fm (flomap-box-blur shadow-fm 1))) + +;; =================================================================================================== +;; Pass 2: tracing from a directional viewer + +(define (trace-directional-view alpha-fm rgb-fm z-fm normal-fm shadow-fm) + (match-define (flomap alpha-vs 1 w h) alpha-fm) + (match-define (list rgb-vs z-vs normal-vs shadow-vs) + (map flomap-values (list rgb-fm z-fm normal-fm shadow-fm))) + + (define w-1 (unsafe-fx- w 1)) + (define h-1 (unsafe-fx- h 1)) + (define x-size (exact->inexact w)) + (define y-size (exact->inexact h)) + (define z-size (flomap-max-value z-fm)) + (define x-mid (* 0.5 x-size)) + (define y-mid (* 0.5 y-size)) + (define opacity-z (/ z-size (transmission-density))) + + ;; reflected wall is tilted a bit toward the viewer + (define wall-tilt-θ (* 1/8 pi)) + (define cos-wall-tilt-θ (cos wall-tilt-θ)) + (define sin-wall-tilt-θ (sin wall-tilt-θ)) + (match-define (list Irr Irg Irb) (reflected-intensity)) + + ;; max coords of the shadow image + ;; subtract epsilon to ensure that sx < (w - 1) so that (flfloor sx) < (w - 1) (similarly for sy) + (define sx-max (- w 1.00001)) + (define sy-max (- h 1.00001)) + ;; material properties + (define η2 (exact->inexact (refractive-index))) + (define η1/η2 (/ 1.0 η2)) + (define Ri (ideal-reflectance)) + (define Ti (ideal-transmission)) + + (define reflected-fm (make-flomap 3 w h)) + (define reflected-vs (flomap-values reflected-fm)) + (define transmitted-fm (make-flomap 3 w h)) + (define transmitted-vs (flomap-values transmitted-fm)) + + (when (or (Ri . unsafe-fl> . 0.0) (Ti . unsafe-fl> . 0.0)) + (for* ([int-y (in-range h)] [int-x (in-range w)]) + (define i (unsafe-fx+ int-x (unsafe-fx* int-y w))) + (define a (unsafe-flvector-ref alpha-vs i)) + (when (a . unsafe-fl> . 0.0) + (define j (unsafe-fx* 3 i)) + ;; surface normal + (define-values (nx ny nz) (unsafe-flvector-3ref normal-vs j)) + ;; cosine of angle between viewer and surface normal + ;; with gradient inferred from z flomap, this is always > 0.0 + (define cos-i nz) + ;; transmitted intensity + (define orig-T (unsafe-transmission-intensity cos-i 1.0 η2)) + (define T (unsafe-fl* Ti orig-T)) + (define R (unsafe-fl* Ri (unsafe-fl- 1.0 orig-T))) + ;; surface coordinates + (define x (unsafe-fl+ 0.5 (unsafe-fx->fl int-x))) + (define y (unsafe-fl+ 0.5 (unsafe-fx->fl int-y))) + (define z (unsafe-flvector-ref z-vs i)) + + ;; reflection + (when (and (Ri . unsafe-fl> . 0.0) + (int-x . unsafe-fx> . 0) (int-x . unsafe-fx< . w-1) + (int-y . unsafe-fx> . 0) (int-y . unsafe-fx< . h-1)) + (define-values (rx ry rz) (unsafe-reflect-view-ray nx ny nz)) + ;; tilt the wall a little so flat surfaces reflect something + (define ry* (- (* ry cos-wall-tilt-θ) (* rz sin-wall-tilt-θ))) + ;(define rz* (+ (* ry sin-wall-tilt-θ) (* rz cos-wall-tilt-θ))) + ;; distance to the wall + (define rdist (unsafe-fl/ (unsafe-fl- (- z-size) y) ry*)) + (define sx (unsafe-fl+ x (unsafe-fl* rx rdist))) + (define sy (unsafe-fl+ y (unsafe-fl* ry rdist))) + (define sz (unsafe-fl+ z (unsafe-fl* rz rdist))) + (when (rdist . unsafe-fl>= . 0.0) + (define cdist (unsafe-fl3dist sx sy sz x-mid y-mid 0.0)) + (define v (unsafe-flsigmoid (unsafe-fl* 0.25 (unsafe-fl- (* 4.5 z-size) cdist)))) + (let-values ([(r g b) (unsafe-fl3* Irr Irg Irb (* R v))]) + (unsafe-flvector-3set! reflected-vs j r g b)))) + + ;; transmission (refraction) + (when (Ti . unsafe-fl> . 0.0) + (define-values (tx ty tz) (unsafe-transmitted-vector nx ny nz 0.0 0.0 -1.0 1.0 η2)) + ;; sz = z + dist * tz, so dist = (sz - z) / tz + (define dist (unsafe-fl/ (unsafe-fl- 0.0 z) tz)) + (when (and (dist . unsafe-fl>= . 0.0) (dist . unsafe-fl< . +inf.0)) + ;; Find the color of the point on the shadow that the ray struck + (define sx (unsafe-flmax 0.0 (unsafe-flmin sx-max (unsafe-fl+ x (unsafe-fl* dist tx))))) + (define sy (unsafe-flmax 0.0 (unsafe-flmin sy-max (unsafe-fl+ y (unsafe-fl* dist ty))))) + (define floor-sx (unsafe-flfloor sx)) + (define floor-sy (unsafe-flfloor sy)) + (define bx (unsafe-fl->fx floor-sx)) + (define by (unsafe-fl->fx floor-sy)) + ;; Bilinearly interpolate the four colors nearest the point on the shadow + (define 1-αx (unsafe-fl- sx floor-sx)) + (define 1-αy (unsafe-fl- sy floor-sy)) + (define αx (unsafe-fl- 1.0 1-αx)) + (define αy (unsafe-fl- 1.0 1-αy)) + ;; upper-left weighted values + (define j1 (unsafe-fx* 3 (unsafe-fx+ bx (unsafe-fx* by w)))) + (define-values (r1 g1 b1) (unsafe-flvector-3ref shadow-vs j1)) + (define-values (sr1 sg1 sb1) (unsafe-fl3* r1 g1 b1 (unsafe-fl* αx αy))) + ;; upper-right weighted values + (define j2 (unsafe-fx+ j1 3)) + (define-values (r2 g2 b2) (unsafe-flvector-3ref shadow-vs j2)) + (define-values (sr2 sg2 sb2) (unsafe-fl3* r2 g2 b2 (unsafe-fl* 1-αx αy))) + ;; lower-left weighted values + (define j3 (unsafe-fx+ j1 (unsafe-fx* 3 w))) + (define-values (r3 g3 b3) (unsafe-flvector-3ref shadow-vs j3)) + (define-values (sr3 sg3 sb3) (unsafe-fl3* r3 g3 b3 (unsafe-fl* αx 1-αy))) + ;; lower-right weighted values + (define j4 (unsafe-fx+ j3 3)) + (define-values (r4 g4 b4) (unsafe-flvector-3ref shadow-vs j4)) + (define-values (sr4 sg4 sb4) (unsafe-fl3* r4 g4 b4 (unsafe-fl* 1-αx 1-αy))) + ;; final interpolated shadow color + (define-values (sr sg sb) + (values (unsafe-flsum sr1 sr2 sr3 sr4) + (unsafe-flsum sg1 sg2 sg3 sg4) + (unsafe-flsum sb1 sb2 sb3 sb4))) + ;; normalized distance to the surface + (define norm-dist (unsafe-fl/ dist opacity-z)) + ;; intensities of each r g b by the time the light emerges from the surface + (define-values (r g b) + ;; colors represent absorption rates + (let-values ([(r g b) (unsafe-flvector-3ref rgb-vs j)]) + (values (unsafe-flproduct T sr (unsafe-transmit r norm-dist)) + (unsafe-flproduct T sg (unsafe-transmit g norm-dist)) + (unsafe-flproduct T sb (unsafe-transmit b norm-dist))))) + (unsafe-flvector-3set! transmitted-vs j r g b)))))) + + ;; blur to cut down on sparklies (poor man's supersampling) + (values reflected-fm + (flomap-blur transmitted-fm ideal-transmission-blur))) + +;; =================================================================================================== +;; Full rendering + +(define (prep-background fm w h) + (let loop ([fm (flomap-cc-crop fm w h)]) + (case (flomap-components fm) + [(0) #f] + [(1) (flomap-append-components fm fm fm)] + [(2) (define value-fm (flomap-ref-component fm 1)) + (loop (flomap-append-components fm value-fm value-fm))] + [(3) fm] + [(4) (flomap-drop-components (flomap-cc-superimpose (make-flomap 4 w h 1.0) fm) 1)] + [else (raise-type-error 'deep-flomap-render "flomap with 0, 1, 2, 3 or 4 components" fm)]))) + +(define (deep-flomap-render dfm [background-fm #f]) + (define-values (w h) (deep-flomap-size dfm)) + (define argb-fm (flomap-divide-alpha (deep-flomap-argb dfm))) + (define alpha-fm (flomap-ref-component argb-fm 0)) + (define rgb-fm (flomap-drop-components argb-fm 1)) + (define z-fm (fmmax 0.0 (deep-flomap-z dfm))) + (define normal-fm (flomap-gradient-normal z-fm)) + ;(printf "~v~n" (flomap->bitmap (fm* 0.5 (fm+ 1.0 normal-fm)))) + (define bg-fm (if background-fm (prep-background background-fm) #f)) + + ;; pass 1: trace from the light source + (define-values (diffracted-fm raw-shadow-fm) + (trace-directional-light alpha-fm rgb-fm z-fm normal-fm)) + #; + (printf "diffracted: ~v~nraw shadow: ~v~n" + (flomap->bitmap diffracted-fm #;(flomap-normalize diffracted-fm)) + (flomap->bitmap raw-shadow-fm #;(flomap-normalize raw-shadow-fm))) + + ;; blur the shadow to simulate internal scatter + (define σ (* (min w h) (shadow-blur))) + (define shadow-fm + (cond [bg-fm + ;; two Gaussian blurs by half-σ is equivalent to one Gaussian blur by σ + (define half-σ (* (/ 1 (sqrt 2)) σ)) + (let* ([fm (flomap-blur raw-shadow-fm half-σ)] + [fm (fm* fm bg-fm)] + [fm (flomap-blur fm half-σ)]) + fm)] + [else + (flomap-blur raw-shadow-fm σ)])) + ;(printf "~v~n" (flomap->bitmap (flomap-normalize scattered-shadow-fm))) + + ;; pass 2: trace from the viewer + (define-values (reflected-fm transmitted-fm) + (trace-directional-view alpha-fm rgb-fm z-fm normal-fm shadow-fm)) + #; + (printf "reflected: ~v~ntransmitted: ~v~n" + (flomap->bitmap (flomap-normalize reflected-fm)) + (flomap->bitmap (flomap-normalize transmitted-fm))) + + ;; add all the light together, convert to premultiplied-alpha flomap + (let* ([fm (fm+ (fm+ diffracted-fm transmitted-fm) reflected-fm)] + [fm (flomap-append-components alpha-fm fm)] + [fm (flomap-multiply-alpha fm)] + ) + fm)) diff --git a/collects/images/private/transient-box.rkt b/collects/images/private/transient-box.rkt new file mode 100644 index 0000000000..431917eb63 --- /dev/null +++ b/collects/images/private/transient-box.rkt @@ -0,0 +1,57 @@ +#lang racket + +(require ffi/unsafe) + +(provide make-transient-box transient-box? + (rename-out [transient-box-value* transient-box-value]) + transient-box-touch!) + +(define (register-gc-callback f) + (define v (make-vector 0)) + (register-finalizer v (λ (x) (when (f) (register-gc-callback f))))) + +(struct transient-box (value counter max-counter touched?) #:mutable #:transparent) + +(struct no-value-struct ()) +(define no-value (no-value-struct)) + +(define (make-transient-box value) + (define bx (transient-box value 1 1 #f)) + (register-gc-callback + (λ () + (define cnt (transient-box-counter bx)) + (cond [(cnt . <= . 0) + (cond [(transient-box-touched? bx) + (define max-cnt (* 2 (transient-box-max-counter bx))) + (set-transient-box-counter! bx max-cnt) + (set-transient-box-max-counter! bx max-cnt) + (set-transient-box-touched?! bx #f) + #t] + [else + (set-transient-box-value! bx no-value) + #f])] + [else + (set-transient-box-counter! bx (- cnt 1)) + #t]))) + bx) + +(define (transient-box-value* bx [gced-value #f]) + (define value (transient-box-value bx)) + (if (eq? value no-value) gced-value value)) + +(define (transient-box-touch! bx) + (set-transient-box-touched?! bx #t)) + +#| +(define bx (make-transient-box (make-vector 0))) +(transient-box-value* bx) +bx +(collect-garbage) +bx +(transient-box-value* bx) +bx +(collect-garbage) +bx +(collect-garbage) +bx +|# diff --git a/collects/images/private/unsafe.rkt b/collects/images/private/unsafe.rkt new file mode 100644 index 0000000000..bf1350a216 --- /dev/null +++ b/collects/images/private/unsafe.rkt @@ -0,0 +1,243 @@ +#lang racket + +(require racket/flonum + ;racket/unsafe/ops + (prefix-in unsafe- (combine-in racket/flonum racket/fixnum racket/base)) + ) + +(provide (all-defined-out) + ;(all-from-out racket/unsafe/ops) + (combine-out (all-from-out racket/flonum racket/fixnum) + unsafe-bytes-ref unsafe-bytes-set! unsafe-bytes-length + unsafe-flvector-ref unsafe-flvector-set! unsafe-flvector-length + unsafe-vector-ref unsafe-vector-set! unsafe-vector-length)) + +;; =================================================================================================== +;; flonum ops + +(define-syntax-rule (unsafe-flneg x) (unsafe-fl- 0.0 x)) +(define-syntax-rule (unsafe-flsqr x) (let ([y x]) (unsafe-fl* y y))) + +(define-syntax-rule (unsafe-flrational? x) + ;; if x = +nan.0, both tests return #f + (and (unsafe-fl> x -inf.0) (unsafe-fl< x +inf.0))) + +(define-syntax unsafe-flsum + (syntax-rules () + [(_) 0.0] + [(_ v1) v1] + [(_ v1 vs ...) (unsafe-fl+ v1 (unsafe-flsum vs ...))])) + +(define-syntax unsafe-flproduct + (syntax-rules () + [(_) 1.0] + [(_ v1) v1] + [(_ v1 vs ...) (unsafe-fl* v1 (unsafe-flproduct vs ...))])) + +(define-syntax unsafe-flmin* + (syntax-rules () + [(_) 1.0] + [(_ v1) v1] + [(_ v1 vs ...) (unsafe-flmin v1 (unsafe-flmin* vs ...))])) + +(define-syntax unsafe-flmax* + (syntax-rules () + [(_) 1.0] + [(_ v1) v1] + [(_ v1 vs ...) (unsafe-flmax v1 (unsafe-flmax* vs ...))])) + +(define-syntax-rule (unsafe-fl->byte x) + (unsafe-fl->fx* (unsafe-flround (unsafe-flmax (unsafe-flmin x 255.0) 0.0)))) + +(define-syntax-rule (unsafe-fl-convex-combination dv sv sa) + (let ([sa* sa]) + (unsafe-fl+ (unsafe-fl* sa* sv) (unsafe-fl* dv (unsafe-fl- 1.0 sa*))))) + +(define-syntax-rule (unsafe-fl-alpha-blend dca sca sa) + (unsafe-fl+ sca (unsafe-fl* dca (unsafe-fl- 1.0 sa)))) + +(define-syntax-rule (unsafe-flsigmoid x) + (unsafe-fl/ 1.0 (unsafe-fl+ 1.0 (unsafe-flexp (unsafe-fl- 0.0 x))))) + +(define-syntax-rule (unsafe-flgaussian x s) + (let* ([s* s] [x* (unsafe-fl/ x s*)]) + (unsafe-fl/ (unsafe-flexp (unsafe-fl* -0.5 (unsafe-fl* x* x*))) + (unsafe-fl* (sqrt (* 2.0 pi)) s*)))) + +;; =================================================================================================== +;; flvector ops + +(define-syntax-rule (unsafe-flvector-3ref vs i) + (let ([j i]) + (values (unsafe-flvector-ref vs j) + (unsafe-flvector-ref vs (unsafe-fx+ j 1)) + (unsafe-flvector-ref vs (unsafe-fx+ j 2))))) + +(define-syntax-rule (unsafe-flvector-3set! vs i x y z) + (let ([j i]) + (unsafe-flvector-set! vs j x) + (unsafe-flvector-set! vs (unsafe-fx+ j 1) y) + (unsafe-flvector-set! vs (unsafe-fx+ j 2) z))) + +(define-syntax-rule (unsafe-flvector-4ref vs i) + (let ([j i]) + (values (unsafe-flvector-ref vs j) + (unsafe-flvector-ref vs (unsafe-fx+ j 1)) + (unsafe-flvector-ref vs (unsafe-fx+ j 2)) + (unsafe-flvector-ref vs (unsafe-fx+ j 3))))) + +(define-syntax-rule (unsafe-flvector-4set! vs i a r g b) + (let ([j i]) + (unsafe-flvector-set! vs j a) + (unsafe-flvector-set! vs (unsafe-fx+ j 1) r) + (unsafe-flvector-set! vs (unsafe-fx+ j 2) g) + (unsafe-flvector-set! vs (unsafe-fx+ j 3) b))) + +(define-syntax-rule (unsafe-build-flvector len f) + (let ([n len]) + (define vs (make-flvector n)) + (let loop ([i 0]) + (cond [(i . unsafe-fx< . n) (unsafe-flvector-set! vs i (f i)) + (loop (unsafe-fx+ i 1))] + [else vs])))) + +(define-syntax-rule (unsafe-flvector-sum vs) + (let ([vs* vs]) + (let ([n (unsafe-flvector-length vs*)]) + (let loop ([i 0] [sum 0.0]) + (cond [(unsafe-fx= i n) sum] + [else (loop (unsafe-fx+ i 1) (unsafe-fl+ sum (unsafe-flvector-ref vs* i)))]))))) + +;; =================================================================================================== +;; fixnum ops + +(define (unsafe-fl->fx* x) (if (unsafe-flrational? x) (unsafe-fl->fx x) 0)) + +(define-syntax-rule (unsafe-fxneg x) (unsafe-fx- 0 x)) + +(define-syntax unsafe-fxsum + (syntax-rules () + [(_) 0] + [(_ v1) v1] + [(_ v1 vs ...) (unsafe-fx+ v1 (unsafe-fxsum vs ...))])) + +(define-syntax unsafe-fxproduct + (syntax-rules () + [(_) 1] + [(_ v1) v1] + [(_ v1 vs ...) (unsafe-fx* v1 (unsafe-fxproduct vs ...))])) + +(define-syntax-rule (unsafe-byte-blend x y α) + (unsafe-fxquotient (unsafe-fx+ (unsafe-fx* x α) (unsafe-fx* (unsafe-fx- 255 α) y)) 255)) + +(define-syntax-rule (unsafe-fx->byte x) + (unsafe-fxmax (unsafe-fxmin x 255) 0)) + +(define-syntax-rule (unsafe-fx-dst-over-alpha sa da) + (let ([sa* sa] [da* da]) + (unsafe-fxquotient (unsafe-fx+ 127 (unsafe-fx- (unsafe-fx* (unsafe-fx+ sa* da*) 255) + (unsafe-fx* sa* da*))) + 255))) + +(define-syntax-rule (unsafe-fx-dst-over-color sa sc da dc) + (let ([da* da]) + (unsafe-fxquotient (unsafe-fxsum 32512 + (unsafe-fxproduct da* dc 255) + (unsafe-fxproduct sa sc (unsafe-fx- 255 da*))) + 65025))) + +;; =================================================================================================== +;; bytes ops + +(define-syntax-rule (unsafe-bytes-3ref bs i) + (let ([j i]) + (values (unsafe-bytes-ref bs j) + (unsafe-bytes-ref bs (unsafe-fx+ j 1)) + (unsafe-bytes-ref bs (unsafe-fx+ j 2))))) + +(define-syntax-rule (unsafe-bytes-3set! bs i r g b) + (let ([j i]) + (unsafe-bytes-set! bs j r) + (unsafe-bytes-set! bs (unsafe-fx+ j 1) g) + (unsafe-bytes-set! bs (unsafe-fx+ j 2) b))) + +(define-syntax-rule (unsafe-bytes-4ref bs i) + (let ([j i]) + (values (unsafe-bytes-ref bs j) + (unsafe-bytes-ref bs (unsafe-fx+ j 1)) + (unsafe-bytes-ref bs (unsafe-fx+ j 2)) + (unsafe-bytes-ref bs (unsafe-fx+ j 3))))) + +(define-syntax-rule (unsafe-bytes-4set! bs i a r g b) + (let ([j i]) + (unsafe-bytes-set! bs j a) + (unsafe-bytes-set! bs (unsafe-fx+ j 1) r) + (unsafe-bytes-set! bs (unsafe-fx+ j 2) g) + (unsafe-bytes-set! bs (unsafe-fx+ j 3) b))) + +;; =================================================================================================== +;; 2-flonum-values ops + +(define-syntax-rule (unsafe-fl2dot x1 y1 x2 y2) + (unsafe-fl+ (unsafe-fl* x1 x2) (unsafe-fl* y1 y2))) + +;; =================================================================================================== +;; 3-flonum-values ops + +(define-syntax-rule (unsafe-fl3+ x1 y1 z1 x2 y2 z2) + (values (unsafe-fl+ x1 x2) (unsafe-fl+ y1 y2) (unsafe-fl+ z1 z2))) + +(define-syntax-rule (unsafe-fl3- x1 y1 z1 x2 y2 z2) + (values (unsafe-fl- x1 x2) (unsafe-fl- y1 y2) (unsafe-fl- z1 z2))) + +(define-syntax unsafe-fl3* + (syntax-rules () + [(_ x y z c) (values (unsafe-fl* x c) (unsafe-fl* y c) (unsafe-fl* z c))] + [(_ x1 y1 z1 x2 y2 z2) (values (unsafe-fl* x1 x2) (unsafe-fl* y1 y2) (unsafe-fl* z1 z2))])) + +(define-syntax unsafe-fl3/ + (syntax-rules () + [(_ x y z c) (values (unsafe-fl/ x c) (unsafe-fl/ y c) (unsafe-fl/ z c))] + [(_ x1 y1 z1 x2 y2 z2) (values (unsafe-fl/ x1 x2) (unsafe-fl/ y1 y2) (unsafe-fl/ z1 z2))])) + +(define-syntax unsafe-fl3ma + (syntax-rules () + [(_ x y z dx dy dz t) + (values (unsafe-fl+ x (unsafe-fl* dx t)) + (unsafe-fl+ y (unsafe-fl* dy t)) + (unsafe-fl+ z (unsafe-fl* dz t)))] + [(_ x y z dx dy dz tx ty tz) + (values (unsafe-fl+ x (unsafe-fl* dx tx)) + (unsafe-fl+ y (unsafe-fl* dy ty)) + (unsafe-fl+ z (unsafe-fl* dz tz)))])) + +(define-syntax-rule (unsafe-fl3neg x y z) + (values (unsafe-flneg x) (unsafe-flneg y) (unsafe-flneg z))) + +(define-syntax-rule (unsafe-fl3dot x1 y1 z1 x2 y2 z2) + (unsafe-fl+ (unsafe-fl+ (unsafe-fl* x1 x2) (unsafe-fl* y1 y2)) + (unsafe-fl* z1 z2))) + +(define-syntax-rule (unsafe-fl3mag^2 dx dy dz) + (unsafe-fl3dot dx dy dz dx dy dz)) + +(define-syntax-rule (unsafe-fl3mag dx dy dz) + (unsafe-flsqrt (unsafe-fl3mag^2 dx dy dz))) + +(define-syntax-rule (unsafe-fl3dist x1 y1 z1 x2 y2 z2) + (unsafe-fl3mag (unsafe-fl- x1 x2) (unsafe-fl- y1 y2) (unsafe-fl- z1 z2))) + +(define-syntax-rule (unsafe-fl3normalize x1 y1 z1) + (let ([i1 x1] [j1 y1] [k1 z1]) + (define d (unsafe-fl3mag i1 j1 k1)) + (values (unsafe-fl/ i1 d) (unsafe-fl/ j1 d) (unsafe-fl/ k1 d)))) + +(define-syntax-rule (unsafe-fl3-half-norm x1 y1 z1 x2 y2 z2) + (unsafe-fl3normalize (unsafe-fl+ x1 x2) (unsafe-fl+ y1 y2) (unsafe-fl+ z1 z2))) + +(define-syntax-rule (unsafe-fl3-convex-combination x1 y1 z1 x2 y2 z2 α) + (let* ([a α] + [1-a (unsafe-fl- 1.0 a)]) + (values (unsafe-fl+ (unsafe-fl* 1-a x1) (unsafe-fl* a x2)) + (unsafe-fl+ (unsafe-fl* 1-a y1) (unsafe-fl* a y2)) + (unsafe-fl+ (unsafe-fl* 1-a z1) (unsafe-fl* a z2))))) diff --git a/collects/images/private/utils.rkt b/collects/images/private/utils.rkt new file mode 100644 index 0000000000..f73e0d2c74 --- /dev/null +++ b/collects/images/private/utils.rkt @@ -0,0 +1,59 @@ +#lang racket/base + +(require racket/draw racket/class racket/match racket/list) + +(provide (all-defined-out)) + +(define (draw-ellipse/smoothed dc x y w h) + (define pen (send dc get-pen)) + (define brush (send dc get-brush)) + (send dc set-pen "black" 1 'transparent) + (send dc draw-ellipse x y (- w 1) (- h 1)) + (send dc set-pen pen) + (send dc set-brush "black" 'transparent) + (send dc draw-ellipse x y w h) + (send dc set-brush brush)) + +(define (apply-path-commands p cmds) + (let loop ([x 0] [y 0] [cmds cmds]) + (cond + [(empty? cmds) (values x y)] + [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 ...) (send p move-to ax ay) + (loop ax ay (cons `(M ,@as) (rest cmds)))] + [`(L (,ax . ,ay) ,as ...) (send p line-to ax ay) + (loop ax ay (cons `(L ,@as) (rest cmds)))] + [`(C (,ax1 . ,ay1) (,ax2 . ,ay2) (,ax . ,ay) ,as ...) + (send p curve-to ax1 ay1 ax2 ay2 ax ay) + (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 ...) (send p move-to (+ x dx) (+ y dy)) + (loop (+ x dx) (+ y dy) (cons `(m ,@ds) (rest cmds)))] + [`(l (,dx . ,dy) ,ds ...) (send p line-to (+ x dx) (+ y dy)) + (loop (+ x dx) (+ y dy) (cons `(l ,@ds) (rest cmds)))] + [`(c (,dx1 . ,dy1) (,dx2 . ,dy2) (,dx . ,dy) ,ds ...) + (send p curve-to (+ dx1 x) (+ dy1 y) (+ dx2 x) (+ dy2 y) (+ dx x) (+ dy y)) + (loop (+ x dx) (+ y dy) (cons `(c ,@ds) (rest cmds)))] + [_ (error 'apply-path-commands "unknown path command ~e" cmd)])])) + (void)) + +(define (draw-path-commands dc x y cmds) + (define p (new dc-path%)) + (apply-path-commands p (cons `(M (,x . ,y)) cmds)) + (send dc draw-path p)) + +(define (get-text-size str font) + (define bm (make-bitmap 1 1)) + (define dc (make-object bitmap-dc% bm)) + (define-values (w h _1 _2) (send dc get-text-extent str font #t)) + (values (inexact->exact (ceiling w)) + (inexact->exact (ceiling h)))) diff --git a/collects/images/tests/icon-tests.rkt b/collects/images/tests/icon-tests.rkt new file mode 100644 index 0000000000..01572d9bf2 --- /dev/null +++ b/collects/images/tests/icon-tests.rkt @@ -0,0 +1,62 @@ +#lang racket + +(require racket/draw + images/icons/control + images/icons/arrow + images/icons/file + images/icons/misc + images/icons/tool + images/icons/style + images/private/renderfx) + +(default-icon-height 16) +;(default-icon-material glass-icon-material) +#;(default-icon-material + (deep-flomap-material-value 3.0 1.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0)) +;(default-icon-material diamond-material) + +(define icon-procss + (list (list reverse-icon continue-back-icon step-back-icon back-icon pause-icon + stop-icon record-icon play-icon step-icon continue-icon fast-forward-icon) + (list right-arrow-icon left-arrow-icon up-arrow-icon down-arrow-icon + right-over-arrow-icon left-over-arrow-icon right-under-arrow-icon left-under-arrow-icon) + (list floppy-disk-icon + (λ (color) (save-icon syntax-icon-color color)) + (λ (color) (load-icon syntax-icon-color color)) + (λ (color) (small-save-icon syntax-icon-color color)) + (λ (color) (small-load-icon syntax-icon-color color))) + (list x-icon check-icon octagon-icon stop-sign-icon stop-signs-icon + (λ (color) (magnifying-glass-icon metal-icon-color color)) + (λ (color) (left-magnifying-glass-icon metal-icon-color color)) + (λ (color) (bomb-icon metal-icon-color color)) + (λ (color) (left-bomb-icon metal-icon-color color))))) + +(define tool-icon-procs + (list check-syntax-icon small-check-syntax-icon + macro-stepper-icon small-macro-stepper-icon + debugger-icon small-debugger-icon)) + +(define (icons color) + (for/list ([fs icon-procss]) + (for/list ([f fs]) + (f color)))) + +(define (colored-icons-test) + (printf "~v~n" (for/list ([f tool-icon-procs]) + (define bm (f)) + (cons (send bm get-width) bm))) + (for ([color (list "red" "blue" "green" + "pink" "lightblue" "lightgreen" + "darkred" "darkgreen" "darkblue" + "white" "black" "tomato" + "orange" "cyan" "purple")]) + (define lst (time (icons color))) + (void) + (printf "~v~n" lst) + #;(printf "~v~n" (read-caches)) + )) + +(colored-icons-test) diff --git a/collects/images/tests/logo-tests.rkt b/collects/images/tests/logo-tests.rkt new file mode 100644 index 0000000000..fda2057ef8 --- /dev/null +++ b/collects/images/tests/logo-tests.rkt @@ -0,0 +1,5 @@ +#lang racket + +(require images/logos) + +(time (plt-logo 256)) diff --git a/collects/macro-debugger/tool.rkt b/collects/macro-debugger/tool.rkt index 3457301299..8b59fd6893 100644 --- a/collects/macro-debugger/tool.rkt +++ b/collects/macro-debugger/tool.rkt @@ -10,7 +10,7 @@ (only-in "view/view.rkt" macro-stepper-director%) "view/stepper.rkt" "view/prefs.rkt" - icons slideshow/pict + images/icons/tool ;; FIXME: drracket/private/syncheck/local-member-names) @@ -94,7 +94,7 @@ (new switchable-button% (label macro-stepper-button-label) (bitmap macro-debugger-bitmap) - (alternate-bitmap macro-debugger-up-bitmap) + (alternate-bitmap small-macro-debugger-bitmap) (parent parent) (callback (lambda (button) (send frame run-macro-stepper))))) 'macro-stepper) @@ -109,11 +109,8 @@ (define-local-member-name check-language) - (define macro-debugger-up-pict (step-icon-pict 'blue (toolbar-icon-height))) - (define macro-debugger-up-bitmap (pict->bitmap macro-debugger-up-pict)) - (define macro-debugger-bitmap - (pict->bitmap (ht-append (hash-quote-icon-pict (toolbar-icon-height)) - macro-debugger-up-pict))) + (define macro-debugger-bitmap (macro-stepper-icon)) + (define small-macro-debugger-bitmap (small-macro-stepper-icon)) (define (macro-debugger-unit-frame-mixin %) (class* % (frame/supports-macro-stepper<%>) @@ -135,7 +132,7 @@ (new switchable-button% (label macro-stepper-button-label) (bitmap macro-debugger-bitmap) - (alternate-bitmap macro-debugger-up-bitmap) + (alternate-bitmap small-macro-debugger-bitmap) (parent macro-debug-panel) (callback (lambda (button) (run-macro-stepper))))) (inherit register-toolbar-button) diff --git a/collects/slideshow/pict.rkt b/collects/slideshow/pict.rkt index aa29106944..934c147e4d 100644 --- a/collects/slideshow/pict.rkt +++ b/collects/slideshow/pict.rkt @@ -201,13 +201,13 @@ (standard-fish w h direction color eye-color open-mouth))]) standard-fish)) - (define (pict->bitmap p) + (define (pict->bitmap p [smoothing 'aligned]) (define w (pict-width p)) (define h (pict-height p)) (define bm (make-bitmap (max 1 (inexact->exact (ceiling w))) (max 1 (inexact->exact (ceiling h))))) (define dc (make-object bitmap-dc% bm)) - (send dc set-smoothing 'smoothed) + (send dc set-smoothing smoothing) (draw-pict p dc 0 0) bm) @@ -274,5 +274,6 @@ find-pen find-brush) (rename-out [fish standard-fish]) - (contract-out [pict->bitmap (pict? . -> . (is-a?/c bitmap%))]) + (contract-out [pict->bitmap ((pict?) ((one-of/c 'unsmoothed 'smoothed 'aligned)) + . ->* . (is-a?/c bitmap%))]) ))