2009-06-02 21:39:51 -04:00
|
|
|
! Copyright (C) 2009 Doug Coleman, Daniel Ehrenberg.
|
2009-02-12 03:41:37 -05:00
|
|
|
! See http://factorcode.org/license.txt for BSD license.
|
|
|
|
USING: constructors kernel splitting unicode.case combinators
|
2009-06-02 21:39:51 -04:00
|
|
|
accessors images io.pathnames namespaces assocs ;
|
2009-02-12 03:41:37 -05:00
|
|
|
IN: images.loader
|
|
|
|
|
|
|
|
ERROR: unknown-image-extension extension ;
|
|
|
|
|
2009-06-02 21:39:51 -04:00
|
|
|
<PRIVATE
|
|
|
|
SYMBOL: types
|
|
|
|
types [ H{ } clone ] initialize
|
|
|
|
|
2009-02-12 03:41:37 -05:00
|
|
|
: image-class ( path -- class )
|
2009-06-02 21:39:51 -04:00
|
|
|
file-extension >lower types get ?at
|
|
|
|
[ unknown-image-extension ] unless ;
|
|
|
|
PRIVATE>
|
|
|
|
|
|
|
|
: register-image-class ( extension class -- )
|
|
|
|
swap types get set-at ;
|
2009-02-12 03:41:37 -05:00
|
|
|
|
|
|
|
: load-image ( path -- image )
|
2009-04-09 11:44:50 -04:00
|
|
|
dup image-class new load-image* ;
|