# File vtk/tk/vtkTkRenderWidget.rb, line 51
  def initialize( master, kw={} )
??
    # load the necessary extensions into tk
    Vtk.LoadRubyTkWidgets

    _symbolkey2str(kw)

    if kw['rw']
      renderWindow = kw['rw']
    else
      renderWindow = Vtk::RenderWindow.new
    end

    if kw['stereo']
      renderWindow.StereoCapableWindowOn
      kw.delete('stereo')
    end

    # check if focus should follow mouse
    if kw['focus_on_enter']
      @FocusOnEnter = true
      kw.delete('focus_on_enter')
    else
      @FocusOnEnter = false
    end

    kw['rw'] = renderWindow.GetAddressAsString("vtkRenderWindow")
    kw['widgetname'] = 'vtkTkRenderWidget'
    super(master, kw)
    renderWindow.UnRegister(nil)

    @CurrentRenderer = nil
    @CurrentCamera = nil
    @CurrentZoom = 1.0
    @CurrentLight = nil

    @ViewportCenterX = 0
    @ViewportCenterY = 0

    @Picker = Vtk::CellPicker.new
    @PickedAssembly = nil
    @PickedProperty = Vtk::Property.new
    @PickedProperty.SetColor(1,0,0)
    @PrePickedProperty = nil

    @OldFocus = nil

    # used by the LOD actors
    @DesiredUpdateRate = 15
    @StillUpdateRate = 0.0001

    # these record the previous mouse position
    @LastX = 0
    @LastY = 0

    # private attributes
    @InExpose = false

    # create the Tk bindings
    self.BindTkRenderWidget
  end