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: Event callback when a mouse button is released within the canvas.
  
  Parameters
  ----------
  e : tk.Event
      The passed in Event.
code: def _on_mouse_button_release(self, e):
      """Event callback when a mouse button is released within the canvas.
  
      Parameters
      ----------
      e : tk.Event
          The passed in Event.
      """
      if self._vispy_canvas is None:
          return
      # Ignore MouseWheel on linux
      if _tk_on_linux and e.num in (4, 5):
          return
      self._vispy_mouse_release(
          pos=(e.x, e.y),
          button=MOUSE_BUTTON_MAP.get(e.num, e.num),
          modifiers=self._parse_state(e),
      )
  
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 17 for calling the CanvasBackend obj's underlying member method code with example usage: obj._on_mouse_button_release(e) without return types