Native canvas implementation