code: def on_timer(self, event):
      self.data["a_fg_color"][..., 3] -= 0.01
      self.data["a_size"] += 1.0
      self.vdata.set_data(self.data)
      self.update()
  
file_path: vispy/examples/demo/gloo/rain.py
imports: import numpy
  from vispy import gloo, app
  from vispy.gloo import Program, VertexBuffer
  from vispy.util.transforms import ortho
label_desc: Use image node_id 5 for calling the Canvas obj's underlying member method code with example usage: obj.on_timer(event) without return types