implementations for one single centered canvas with automatic scaling