code: def on_resize(self, event):
      self.generate_grid()
      self.rotate_arrows(np.array(self.last_mouse))
  
      vp = (0, 0, self.physical_size[0], self.physical_size[1])
      self.context.set_viewport(*vp)
      self.visual.transforms.configure(canvas=self, viewport=vp)
  
file_path: vispy/examples/basics/visuals/windbarb_quiver.py
imports: import itertools
  import numpy
  from vispy import app
  from vispy.visuals import WindbarbVisual
  from vispy.visuals.transforms import NullTransform
label_desc: Use image node_id 3 for calling the Canvas obj's underlying member method code with example usage: obj.on_resize(event) without return types