]> gitweb.factorcode.org Git - factor.git/commitdiff
gopher: adding generic image support.
authorJohn Benediktsson <mrjbq7@gmail.com>
Wed, 26 Oct 2016 23:37:27 +0000 (16:37 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Wed, 26 Oct 2016 23:49:23 +0000 (16:49 -0700)
extra/gopher/gopher.factor

index c450e386763868e6e4a2acaa6172386a21856c8b..b2b65f86b6f0ed9ce71f7e64afe23689fa4527bb 100644 (file)
@@ -97,6 +97,9 @@ M: gopher-link >url
 : gopher-gif. ( object -- )
     "gif" (image-class) load-image* image. ;
 
+: gopher-image. ( path object -- path )
+    over image-class load-image* image. ;
+
 : gopher-menu. ( object -- )
     gopher-text [
         [ nl ] [ <gopher-link> gopher-link. ] if-empty
@@ -105,10 +108,12 @@ M: gopher-link >url
 PRIVATE>
 
 : gopher. ( url -- )
-    gopher swap {
+    dup url? [ >url ] unless
+    [ path>> ] [ gopher swap ] bi {
         { A_TEXT [ gopher-text. ] }
         { A_MENU [ gopher-menu. ] }
         { A_INDEX [ gopher-menu. ] }
         { A_GIF [ gopher-gif. ] }
+        { A_IMAGE [ gopher-image. ] }
         [ drop . ]
-    } case ;
+    } case drop ;