# File lib/png.rb, line 451 def composite canvas, x, y, style = :overwrite canvas.each do |x1, y1, color| case style when :overwrite then self[x+x1, y+y1] = color when :add, :underlay then self[x+x1, y+y1] = self[x+x1, y+y1] | color when :overlay then self[x+x1, y+y1] = color | self[x+x1, y+y1] when :blend then self.point x+x1, y+y1, color else raise "unknown style for composite: #{style.inspect}" end end end