from __future__ import nested_scopes import java import gzz from test.tools.gfx import * needGL() from gzz.gfx.gl import IrregularFrame class R(java.lang.Runnable): def __init__(self, f): self.f = f def run(self): self.f() def testBasic(): irr = IrregularFrame.create(0, 0, 1, 1, .05, 1) irr.getContent() vs = getvs() vs.map.put(gzz.vob.vobs.SolidBgVob(java.awt.Color.blue)) def dr(renderable): return R(lambda: vs.map.put(renderable, cs1, cs2)) cs1 = vs.coords.ortho(0, 0, 100, 100, 100, 100) cs2 = vs.coords.rotate(vs.coords.ortho(0, 0, .1, -.2, .5, .5), 45) cont = gzz.vob.vobs.FilledRectVob(java.awt.Color.red) cs_content = vs.coords.ortho(0, 0, -50,-50,500,500) gzz.gfx.gl.Stencil.drawStenciled(vs, dr(irr.getContent()), dr(irr.getBlank()), dr(irr.getFrame()), R(lambda: vs.map.put(cont, cs_content)), 0) render(vs) checkAvgColor(50, 50, 40, 40, (0, 0, 255), delta=0) checkAvgColor(150, 150, 40, 40, (0, 0, 255), delta=0) checkAvgColor(100, 100, 20, 20, (255, 0, 0), delta=0)