New canvas implementation.