def rotation_example(): r1 = shapes.rectangle(100, 100) r2 = shapes.rectangle(200, 200) transforms.offset(r2, (400, 0)) r3 = shapes.rectangle(300, 300) transforms.offset(r3, (800, 0)) tl = TransformLock([r1, r2], ["rotate"]) start = Group([tl, r3]) transforms.offset(start, (500, 0)) mid = copy.deepcopy(start) end = copy.deepcopy(start) formatters.Pen(3)(start) formatters.Pen(2)(mid) formatters.Pen(1)(end) transforms.rotate(mid, math.pi / 6, (0, 0)) transforms.rotate(end, math.pi / 3, (0, 0)) o = shapes.circle(100) return Group([start, mid, end, o])
def test_transformlock_02(): '''A TransformLock can have no tranformations to lock.''' r = shapes.rectangle(100, 100) t = TransformLock([r], []) assert t.lock_transforms == set() assert t._shapes == [r]
def _transformlock_rectangle_pair(trans_locks): r1 = shapes.rectangle(100, 100) r2 = copy.deepcopy(r1) transforms.offset(r2, (200, 0)) return TransformLock([r1, r2], trans_locks)