# File lib/rubygame/gfx.rb, line 488 def zoom( zoom, smooth=false ) smooth = smooth ? 1 : 0 surf = case zoom when Array zx, zy = zoom.collect { |n| n.to_f } SDL::Gfx.zoomSurface(@struct, zx, zy, smooth) when Numeric zoom = zoom.to_f SDL::Gfx.zoomSurface(@struct, zoom, zoom, smooth) else raise ArgumentError, "Invalid zoom factor: #{zoom.inspect}" end if( surf.pointer.null? ) raise( Rubygame::SDLError, "Zoom failed: " + SDL.GetError() ) end return self.class.new(surf) end