class_docstr: A widget takes up a rectangular space, intended for use in
  a 2D pixel coordinate frame.
  
  The widget is positioned using the transform attribute (as any
  node), and its extent (size) is kept as a separate property.
  
  Parameters
  ----------
  pos : (x, y)
      A 2-element tuple to specify the top left corner of the widget.
  size : (w, h)
      A 2-element tuple to spicify the size of the widget.
  border_color : color
      The color of the border.
  border_width : float
      The width of the border line in pixels.
  bgcolor : color
      The background color.
  padding : int
      The amount of padding in the widget (i.e. the space reserved between
      the contents and the border).
  margin : int
      The margin to keep outside the widget's border.
class_docstr_tok: ["A","widget","takes","up","a","rectangular","space",",","intended","for","use","in","a","2D","pixel","coordinate","frame",".","The","widget","is","positioned","using","the","transform","attribute","(","as","any","node",")",",","and","its","extent","(","size",")","is","kept","as","a","separate","property",".","Parameters","--","--","--","--","--","pos",":","(","x",",","y",")","A","2-element","tuple","to","specify","the","top","left","corner","of","the","widget",".","size",":","(","w",",","h",")","A","2-element","tuple","to","spicify","the","size","of","the","widget",".","border_color",":","color","The","color","of","the","border",".","border_width",":","float","The","width","of","the","border","line","in","pixels",".","bgcolor",":","color","The","background","color",".","padding",":","int","The","amount","of","padding","in","the","widget","(","i.e",".","the","space","reserved","between","the","contents","and","the","border",")",".","margin",":","int","The","margin","to","keep","outside","the","widget","'s","border","."]
code: def _update_visibility(self):
      blank = self.border_color.is_blank and self.bgcolor.is_blank
      picking = self.picking
      self._picking_mesh.visible = picking and self.interactive
      self._mesh.visible = not picking and not blank
  
imports: from __future__ import division
  import numpy
  from ..visuals import Compound
  from ...visuals.mesh import MeshVisual
  from ...visuals.transforms import STTransform
  from ...visuals.filters import Clipper
  from ...util.event import Event
  from ...geometry import Rect
  from ...color import Color
label_desc: Use image node_id 35 for calling the Widget obj's underlying member method code with example usage: obj._update_visibility() without return types