]> gitweb.factorcode.org Git - factor.git/blob - extra/images/viewer/viewer.factor
Merge branch 'emacs' of http://git.hacks-galore.org/jao/factor
[factor.git] / extra / images / viewer / viewer.factor
1 ! Copyright (C) 2007, 2009 Doug Coleman.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: accessors images images.loader io.pathnames kernel namespaces
4 opengl opengl.gl opengl.textures sequences strings ui ui.gadgets
5 ui.gadgets.panes ui.render ui.images ;
6 IN: images.viewer
7
8 TUPLE: image-gadget < gadget image-name ;
9
10 M: image-gadget pref-dim*
11     image-name>> image-dim ;
12
13 M: image-gadget draw-gadget* ( gadget -- )
14     image-name>> draw-image ;
15
16 : <image-gadget> ( image-name -- gadget )
17     \ image-gadget new
18         swap >>image-name ;
19
20 : image-window ( path -- gadget )
21     [ <image-name> <image-gadget> dup ] [ open-window ] bi ;
22
23 GENERIC: image. ( object -- )
24
25 M: string image. ( image -- ) <image-name> <image-gadget> gadget. ;
26
27 M: pathname image. ( image -- ) <image-name> <image-gadget> gadget. ;