From what I remember about working with canvas you restore to your last saved state.
Whereas I think you’re trying to use restore
to reset the state to its original.
In your example you’re doing a transformation to the center, saving the state and then later restoring to that same state.
To adjust your code move c.save()
earlier in your execution (before you do the transform to the center)
c.save()
# transform to center
# do some drawing
c.restore() # restore to the state before transforming to center