You only need a canvas as big as what you can display at any one time. Use Scroll bars, and offset your drawing onto the canvas by the scollbars. Yes, somethings won't be drawn because they will run over the canvas, but they would be seen at that point anyway... *sigh*
It's as smiple as making 2 scrollbars. Make the value range for the scrollbars to their 'working size'-'canvas actual size'. Then, to all of your drawing commands, subtract the scrollbar's current value from it's draw position.
It's as smiple as making 2 scrollbars. Make the value range for the scrollbars to their 'working size'-'canvas actual size'. Then, to all of your drawing commands, subtract the scrollbar's current value from it's draw position.