require 'gosu' # Wrapper around Gosu 0.4-0.8 that provides the work-in-progress 0.9 interface module Gosu class Font alias :initialize_old :initialize def initialize *args if args.first.is_a? Gosu::Window then initialize_old *args else height = args[0] options = args[1] || {} name = options[:name] || Gosu::default_font_name initialize_old $window, name, height end end end class Window alias :initialize_old :initialize def initialize width, height, *args if args.empty? or args.first.is_a? Hash then options = args.first || {} fullscreen = !!options[:fullscreen] update_interval = options[:update_interval] || 16.66 else fullscreen, update_interval = *args end $window = initialize_old width, height, fullscreen, update_interval end end class Image alias :initialize_old :initialize def initialize *args if args.first.is_a? Gosu::Window then initialize_old *args else source = args[0] tileable = !args[1] || args[1][:tileable] rect = args[1] && args[1][:rect] if rect then initialize_old $window, source, !!tileable, *rect else initialize_old $window, source, !!tileable end end end class <