use ui.images drawing code in images.viewer

db4
Doug Coleman 2009-04-25 18:59:03 -05:00
parent 22d14b036a
commit 2330ec3042
1 changed files with 9 additions and 16 deletions

View File

@ -2,33 +2,26 @@
! See http://factorcode.org/license.txt for BSD license.
USING: accessors images images.loader io.pathnames kernel namespaces
opengl opengl.gl opengl.textures sequences strings ui ui.gadgets
ui.gadgets.panes ui.render ;
ui.gadgets.panes ui.render ui.images ;
IN: images.viewer
TUPLE: image-gadget < gadget { image image } ;
TUPLE: image-gadget < gadget image-name ;
M: image-gadget pref-dim*
image>> dim>> ;
: draw-image ( image -- )
0 0 glRasterPos2i 1.0 -1.0 glPixelZoom
[ dim>> first2 ] [ component-order>> component-order>format ] [ bitmap>> ] tri
glDrawPixels ;
image-name>> image-dim ;
M: image-gadget draw-gadget* ( gadget -- )
image>> draw-image ;
image-name>> draw-image ;
: <image-gadget> ( image -- gadget )
: <image-gadget> ( image-name -- gadget )
\ image-gadget new
swap >>image ;
swap >>image-name ;
: image-window ( path -- gadget )
[ load-image <image-gadget> dup ] [ open-window ] bi ;
[ <image-name> <image-gadget> dup ] [ open-window ] bi ;
GENERIC: image. ( object -- )
M: string image. ( image -- ) load-image image. ;
M: string image. ( image -- ) <image-name> <image-gadget> gadget. ;
M: pathname image. ( image -- ) load-image image. ;
M: image image. ( image -- ) <image-gadget> gadget. ;
M: pathname image. ( image -- ) <image-name> <image-gadget> gadget. ;