# File lib/rubygame/screen.rb, line 264 def update( *args ) r = case args[0] when nil # Update the whole screen. Skip the stuff below. SDL.UpdateRect( @struct, 0, 0, 0, 0 ); return self when SDL::Rect Rubygame::Rect.new( args[0].to_ary ) when Array Rubygame::Rect.new( args[0] ) when Numeric Rubygame::Rect.new( args[0,4] ) else raise( ArgumentError, "Invalid args for #{self.class}#update: #{args.inspect}" ) end SDL.UpdateRect( @struct, *(r.clip!( self.make_rect ).to_sdl) ); return self end