renamed onCanvasIndexChanged