canvas functions explanations of options