From 3f85a4e7273292cbe6c6bd82a0a609f387408635 Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Mon, 17 Nov 2008 05:16:34 -0600 Subject: [PATCH] OpenGL rendering tweaks --- basis/opengl/opengl.factor | 10 +++++----- basis/ui/freetype/freetype.factor | 1 - basis/ui/gadgets/editors/editors.factor | 4 ++-- basis/ui/render/render.factor | 2 +- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/basis/opengl/opengl.factor b/basis/opengl/opengl.factor index 64326f340e..8e9cd3a3b8 100644 --- a/basis/opengl/opengl.factor +++ b/basis/opengl/opengl.factor @@ -31,7 +31,7 @@ IN: opengl over glEnableClientState dip glDisableClientState ; inline : words>values ( word/value-seq -- value-seq ) - [ dup word? [ execute ] [ ] if ] map ; + [ dup word? [ execute ] when ] map ; : (all-enabled) ( seq quot -- ) over [ glEnable ] each dip [ glDisable ] each ; inline @@ -71,10 +71,10 @@ MACRO: all-enabled-client-state ( seq quot -- ) : (rect-vertices) ( dim -- vertices ) { - [ drop 0 1 ] - [ first 1- 1 ] - [ [ first 1- ] [ second ] bi ] - [ second 0 swap ] + [ drop 0.5 0.5 ] + [ first 0.5 ] + [ [ first ] [ second ] bi ] + [ second 0.5 swap ] } cleave 8 narray >c-float-array ; : rect-vertices ( dim -- ) diff --git a/basis/ui/freetype/freetype.factor b/basis/ui/freetype/freetype.factor index 5a6118fb00..d2dfe56ed4 100644 --- a/basis/ui/freetype/freetype.factor +++ b/basis/ui/freetype/freetype.factor @@ -196,7 +196,6 @@ M: freetype-renderer string-height ( open-font string -- h ) :: (draw-string) ( open-font sprites string loc -- ) GL_TEXTURE_2D [ loc [ - -0.5 0.5 0.0 glTranslated string open-font string char-widths scan-sums [ [ open-font sprites ] 2dip draw-char ] 2each diff --git a/basis/ui/gadgets/editors/editors.factor b/basis/ui/gadgets/editors/editors.factor index 0d0611f532..74647a6afb 100644 --- a/basis/ui/gadgets/editors/editors.factor +++ b/basis/ui/gadgets/editors/editors.factor @@ -112,7 +112,7 @@ M: editor ungraft* line-height * ; : caret-loc ( editor -- loc ) - [ editor-caret* ] keep 2dup loc>x + [ editor-caret* ] keep 2dup loc>x 1+ rot first rot line>y 2array ; : caret-dim ( editor -- dim ) @@ -120,7 +120,7 @@ M: editor ungraft* : scroll>caret ( editor -- ) dup graft-state>> second [ - dup caret-loc over caret-dim { 1 0 } v+ + dup caret-loc over caret-dim over scroll>rect ] when drop ; diff --git a/basis/ui/render/render.factor b/basis/ui/render/render.factor index 71304aca0b..1e4c9c34f1 100644 --- a/basis/ui/render/render.factor +++ b/basis/ui/render/render.factor @@ -23,7 +23,7 @@ SYMBOL: viewport-translation [ rect-intersect ] keep dim>> dup { 0 1 } v* viewport-translation set { 0 0 } over gl-viewport - -0.5 swap first2 [ 0.5 - ] [ 0.5 + ] bi* 0.5 gluOrtho2D + 0 swap first2 0 gluOrtho2D clip set do-clip ;