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))
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)])