Canvas state

  • save(): Saves the entire state of the canvas.

  • restore(): Restores the most recently saved canvas state.

Canvas states are stored on a stack. Every time the save() method is called, the current drawing state is pushed onto the stack. A drawing state consists of:

  • The transformations that have been applied (i.e. translate, rotate and scale – see next section).

  • The current values of the following attributes: stroke_style, fill_style, global_alpha, line_width, line_cap, line_join, miter_limit, line_dash_offset, global_composite_operation, font, text_align, text_baseline, direction.

You can call the save() method as many times as you like. Each time the restore() method is called, the last saved state is popped off the stack and all saved settings are restored.