As a macro, it always refers to the global grd_curcanv. This interferes with converting canvas handling to be an argument. Expand GWIDTH so that uses of grd_curcanv can be changed individually.