class_docstr: Tkinter backend for Canvas abstract class.
  Uses pyopengltk.OpenGLFrame as the internal tk.Frame instance that
  is able to receive OpenGL draw commands and display the results,
  while also being placeable in another Toplevel window.
class_docstr_tok: ["Tkinter","backend","for","Canvas","abstract","class",".","Uses","pyopengltk.OpenGLFrame","as","the","internal","tk.Frame","instance","that","is","able","to","receive","OpenGL","draw","commands","and","display","the","results",",","while","also","being","placeable","in","another","Toplevel","window","."]
docstr: Overridden from OpenGLFrame
  Gets called when the OpenGLFrame redraws itself.
  It will set the current buffer, call self.redraw() and
  swap buffers afterwards.
code: def redraw(self, *args):
      """Overridden from OpenGLFrame
      Gets called when the OpenGLFrame redraws itself.
      It will set the current buffer, call self.redraw() and
      swap buffers afterwards.
      """
      if self._vispy_canvas is None:
          return
      if not self._init:
          self._initialize()
      self._vispy_canvas.set_current()
      self._vispy_canvas.events.draw(region=None)
  
imports: from __future__ import division
  from time import sleep
  import warnings
  from ..base import BaseApplicationBackend, BaseCanvasBackend, BaseTimerBackend
  from ...util import keys
  from ...util.ptime import time
  from ...gloo import gl
label_desc: Use image node_id 3 for calling the CanvasBackend obj's underlying member method code with example usage: obj.redraw() without return types