layer1 = pyglet.graphics.OrderedGroup(0)
layer2 = pyglet.graphics.OrderedGroup(1)
layer3 = pyglet.graphics.OrderedGroup(2)
layer4 = pyglet.graphics.OrderedGroup(3)

batch1 = pyglet.graphics.Batch()
batch2 = pyglet.graphics.Batch()

# outline of box to be divided
batch1.add(4, GL_LINE_LOOP, layer1,
	( 'v2i', (left-1,bottom-1, left-1,top+1, right+1,top+1, right+1,bottom-1)),
	( 'c3B', (128,128,128, 128,128,128, 128,128,128, 128,128,128))
)

rectangles = []
utilities.recurse_into_rectangle(bottom,left,top,right,amount,min_length,rectangles)
for index, rect in enumerate(rectangles):
	r = 256
	g = 128
	layer = layer2
	batch = batch1
	if index%2:
		batch = batch2
		layer = layer3
	#	r = 128
	#	g = 256
	(sub_bottom, sub_left, sub_top, sub_right) = rect
	# sub rectangles
	batch.add(6, GL_LINE_LOOP, layer,
		( 'v2i', (sub_left,sub_bottom, sub_left,sub_bottom, sub_left,sub_top, sub_right,sub_top, sub_right,sub_bottom, sub_right,sub_bottom)),
		( 'c3B', (r,g,128, r,g,128, r,g,128, r,g,128, r,g,128, r,g,128))
Esempio n. 2
0
	def testRectangleDivisions(self):
		"Divisions of rectangles with known inputs should produce known results."
		rectangles = []
		utilities.recurse_into_rectangle(-10, -10, 10, 10, 1, 2, rectangles)
		self.assertEqual(rectangles, [(-10, -10, 10, 10)])