So I've been fooling around and trying to produce a dynamic textbox. Essentially the size of the speech box changes with the message inside. I've manage to produce some results but I know there is a better, less jerky, way of doing it.

Can any of you fine gentleman take a look and suggest some improvement/changes?

Objects used: Control X, Text Blitter and Surface.