# File vtk/gtk/GtkVTKRenderWindow.rb, line 338
  def UpdateRenderer(x,y)
??
    windowX = self.get_window.width
    windowY = self.get_window.height

    renderers = @RenderWindow.GetRenderers
    numRenderers = renderers.GetNumberOfItems

    @CurrentRenderer = nil
    renderers.InitTraversal
    for i in 0...numRenderers
      renderer = renderers.GetNextItem
      vx,vy = [0,0]
      if (windowX > 1)
        vx = x.to_f/(windowX-1)
      end
      if (windowY > 1)
        vy = (windowY-y.to_f-1)/(windowY-1)
      end
      (vpxmin,vpymin,vpxmax,vpymax) = renderer.GetViewport

      if (vx >= vpxmin && vx <= vpxmax && vy >= vpymin && vy <= vpymax)
        @CurrentRenderer = renderer
        @ViewportCenterX = windowX.to_f*(vpxmax-vpxmin)/2.0 +vpxmin
        @ViewportCenterY = windowY.to_f*(vpymax-vpymin)/2.0 +vpymin
        @CurrentCamera = @CurrentRenderer.GetActiveCamera
        lights = @CurrentRenderer.GetLights
        lights.InitTraversal
        break if @CurrentLight = lights.GetNextItem
      end
    end

    @LastX = x
    @LastY = y
  end