class_docstr: EGL backend for Canvas abstract class.
code: def _vispy_set_size(self, w, h):
      if self._surface is not None:
          self._destroy_surface()
      attrib_list = (egl.EGL_WIDTH, w, egl.EGL_HEIGHT, h)
      self._surface = egl.eglCreatePbufferSurface(
          _EGL_DISPLAY, self._native_config, attrib_list
      )
      if self._surface == egl.EGL_NO_SURFACE:
          raise RuntimeError("Could not create rendering surface")
      self._size = (w, h)
      self._vispy_update()
  
imports: from __future__ import division
  import atexit
  from time import sleep
  from ..base import BaseApplicationBackend, BaseCanvasBackend, BaseTimerBackend
  from ...util.ptime import time
  from ...None import config
label_desc: Use image node_id 3 for calling the CanvasBackend obj's underlying member method code with example usage: obj._vispy_set_size(w, h) without return types