cap: make sure to use GL context of world being screenshot.

factor-shell
John Benediktsson 2018-01-11 14:16:58 -08:00
parent bf5e51b5c3
commit b6f2f85643
1 changed files with 5 additions and 5 deletions

View File

@ -1,9 +1,8 @@
! Copyright (C) 2008 Doug Coleman, Joe Groff.
! See http://factorcode.org/license.txt for BSD license.
USING: accessors alien.syntax arrays byte-arrays fry images
images.normalization images.viewer kernel math math.vectors
models namespaces opengl opengl.gl sequences ui ui.gadgets
ui.gadgets.worlds ;
USING: accessors byte-arrays images images.normalization
images.viewer kernel math namespaces opengl opengl.gl sequences
ui ui.backend ui.gadgets.worlds ;
IN: cap
<PRIVATE
@ -13,6 +12,7 @@ IN: cap
[ gl-scale ] bi@ * >fixnum <byte-array> ;
: gl-screenshot ( gadget -- byte-array )
[ find-world handle>> select-gl-context ]
[
[
GL_BACK glReadBuffer
@ -22,7 +22,7 @@ IN: cap
dim>> first2 [ gl-scale >fixnum ] bi@
GL_RGBA GL_UNSIGNED_BYTE
]
[ screenshot-array ] bi
[ screenshot-array ] tri
[ glReadPixels ] keep ;
PRIVATE>