What about our Graphics::Surface *scale(), is it good enough for this purpose?