From 2f26d5f3dafff63264d052bf4c8ca873feac4a46 Mon Sep 17 00:00:00 2001 From: Slava Pestov <slava@slava-pestovs-macbook-pro.local> Date: Tue, 10 Mar 2009 16:58:35 -0500 Subject: [PATCH] images.viewer can now display some un-normalized images --- basis/opengl/textures/textures.factor | 6 ++++-- extra/images/viewer/viewer.factor | 8 ++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/basis/opengl/textures/textures.factor b/basis/opengl/textures/textures.factor index 79af9be48b..48cdafb837 100644 --- a/basis/opengl/textures/textures.factor +++ b/basis/opengl/textures/textures.factor @@ -11,14 +11,16 @@ IN: opengl.textures TUPLE: texture loc dim texture-coords texture display-list disposed ; -<PRIVATE - GENERIC: component-order>format ( component-order -- format type ) +M: RGB component-order>format drop GL_RGB GL_UNSIGNED_BYTE ; +M: BGR component-order>format drop GL_BGR GL_UNSIGNED_BYTE ; M: RGBA component-order>format drop GL_RGBA GL_UNSIGNED_BYTE ; M: ARGB component-order>format drop GL_BGRA_EXT GL_UNSIGNED_INT_8_8_8_8_REV ; M: BGRA component-order>format drop GL_BGRA_EXT GL_UNSIGNED_BYTE ; +<PRIVATE + : repeat-last ( seq n -- seq' ) over peek pad-tail concat ; diff --git a/extra/images/viewer/viewer.factor b/extra/images/viewer/viewer.factor index b920b60430..4eaa984953 100644 --- a/extra/images/viewer/viewer.factor +++ b/extra/images/viewer/viewer.factor @@ -1,7 +1,7 @@ ! Copyright (C) 2007 Doug Coleman. ! See http://factorcode.org/license.txt for BSD license. -USING: accessors images images.loader io.pathnames kernel -namespaces opengl opengl.gl sequences strings ui ui.gadgets +USING: accessors images images.loader io.pathnames kernel namespaces +opengl opengl.gl opengl.textures sequences strings ui ui.gadgets ui.gadgets.panes ui.render ; IN: images.viewer @@ -12,8 +12,8 @@ M: image-gadget pref-dim* : draw-image ( image -- ) 0 0 glRasterPos2i 1.0 -1.0 glPixelZoom - [ dim>> first2 GL_RGBA GL_UNSIGNED_BYTE ] - [ bitmap>> ] bi glDrawPixels ; + [ dim>> first2 ] [ component-order>> component-order>format ] [ bitmap>> ] tri + glDrawPixels ; M: image-gadget draw-gadget* ( gadget -- ) image>> draw-image ;