code: def apply_zoom(self):
      gloo.set_viewport(
          0, 0, self.physical_size[0], self.physical_size[1]
      )
      self.projection = perspective(
          45.0, self.size[0] / float(self.size[1]), 2.0, 10.0
      )
      self.program["u_projection"] = self.projection
  
file_path: vispy/examples/demo/gloo/glsl_sandbox_cube.py
imports: import numpy
  from vispy import app, gloo
  from vispy.io import read_mesh, load_data_file, load_crate
  from vispy.util.transforms import perspective, translate, rotate
label_desc: Use image node_id 6 for calling the Canvas obj's underlying member method code with example usage: obj.apply_zoom() without return types