class Mittsu::ImageLoader

Attributes

manager[RW]

Public Class Methods

new(manager = DefaultLoadingManager) click to toggle source
# File lib/mittsu/loaders/image_loader.rb, line 13
def initialize(manager = DefaultLoadingManager)
  @manager = manager
end

Public Instance Methods

load(url, flip: false, flop: false) click to toggle source
# File lib/mittsu/loaders/image_loader.rb, line 17
def load(url, flip: false, flop: false)
  chache_url = "#{url}?flip=#{flip}&flop=#{flop}"
  cached = Cache.get(chache_url)
  return cached unless cached.nil?

  png_image = ChunkyPNG::Image.from_file(url)
  png_image.flip_horizontally! if flip
  png_image.flip_vertically! if flop
  rgba_data = png_image.to_rgba_stream

  image = Image.new(png_image.width, png_image.height, rgba_data)

  Cache.add(url, image)
  @manager.item_start(url)
  image
end