OpenGL rendering tweaks
parent
e6fbd4f84f
commit
3f85a4e727
|
@ -31,7 +31,7 @@ IN: opengl
|
||||||
over glEnableClientState dip glDisableClientState ; inline
|
over glEnableClientState dip glDisableClientState ; inline
|
||||||
|
|
||||||
: words>values ( word/value-seq -- value-seq )
|
: words>values ( word/value-seq -- value-seq )
|
||||||
[ dup word? [ execute ] [ ] if ] map ;
|
[ dup word? [ execute ] when ] map ;
|
||||||
|
|
||||||
: (all-enabled) ( seq quot -- )
|
: (all-enabled) ( seq quot -- )
|
||||||
over [ glEnable ] each dip [ glDisable ] each ; inline
|
over [ glEnable ] each dip [ glDisable ] each ; inline
|
||||||
|
@ -71,10 +71,10 @@ MACRO: all-enabled-client-state ( seq quot -- )
|
||||||
|
|
||||||
: (rect-vertices) ( dim -- vertices )
|
: (rect-vertices) ( dim -- vertices )
|
||||||
{
|
{
|
||||||
[ drop 0 1 ]
|
[ drop 0.5 0.5 ]
|
||||||
[ first 1- 1 ]
|
[ first 0.5 ]
|
||||||
[ [ first 1- ] [ second ] bi ]
|
[ [ first ] [ second ] bi ]
|
||||||
[ second 0 swap ]
|
[ second 0.5 swap ]
|
||||||
} cleave 8 narray >c-float-array ;
|
} cleave 8 narray >c-float-array ;
|
||||||
|
|
||||||
: rect-vertices ( dim -- )
|
: rect-vertices ( dim -- )
|
||||||
|
|
|
@ -196,7 +196,6 @@ M: freetype-renderer string-height ( open-font string -- h )
|
||||||
:: (draw-string) ( open-font sprites string loc -- )
|
:: (draw-string) ( open-font sprites string loc -- )
|
||||||
GL_TEXTURE_2D [
|
GL_TEXTURE_2D [
|
||||||
loc [
|
loc [
|
||||||
-0.5 0.5 0.0 glTranslated
|
|
||||||
string open-font string char-widths scan-sums [
|
string open-font string char-widths scan-sums [
|
||||||
[ open-font sprites ] 2dip draw-char
|
[ open-font sprites ] 2dip draw-char
|
||||||
] 2each
|
] 2each
|
||||||
|
|
|
@ -112,7 +112,7 @@ M: editor ungraft*
|
||||||
line-height * ;
|
line-height * ;
|
||||||
|
|
||||||
: caret-loc ( editor -- loc )
|
: caret-loc ( editor -- loc )
|
||||||
[ editor-caret* ] keep 2dup loc>x
|
[ editor-caret* ] keep 2dup loc>x 1+
|
||||||
rot first rot line>y 2array ;
|
rot first rot line>y 2array ;
|
||||||
|
|
||||||
: caret-dim ( editor -- dim )
|
: caret-dim ( editor -- dim )
|
||||||
|
@ -120,7 +120,7 @@ M: editor ungraft*
|
||||||
|
|
||||||
: scroll>caret ( editor -- )
|
: scroll>caret ( editor -- )
|
||||||
dup graft-state>> second [
|
dup graft-state>> second [
|
||||||
dup caret-loc over caret-dim { 1 0 } v+ <rect>
|
dup caret-loc over caret-dim <rect>
|
||||||
over scroll>rect
|
over scroll>rect
|
||||||
] when drop ;
|
] when drop ;
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ SYMBOL: viewport-translation
|
||||||
[ rect-intersect ] keep
|
[ rect-intersect ] keep
|
||||||
dim>> dup { 0 1 } v* viewport-translation set
|
dim>> dup { 0 1 } v* viewport-translation set
|
||||||
{ 0 0 } over gl-viewport
|
{ 0 0 } over gl-viewport
|
||||||
-0.5 swap first2 [ 0.5 - ] [ 0.5 + ] bi* 0.5 gluOrtho2D
|
0 swap first2 0 gluOrtho2D
|
||||||
clip set
|
clip set
|
||||||
do-clip ;
|
do-clip ;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue