+def scaler(size):
+ return Mutator(scale, size)
+
+
+def scale_multiplier(image, factor):
+ size = image.get_width() * factor, image.get_height() * factor
+ return scale(image, size)
+
+
+def blend_add(image, colour, flags=pgl.BLEND_ADD):
+ """Overlay the image with the given colour using BLEND_ADD"""
+ blend = surface.Surface(image.get_size())
+ blend.fill(colour)
+ # We return a copy
+ blended_image = image.copy()
+ blended_image.blit(blend, (0, 0), special_flags=flags)
+ return blended_image
+
+
+def blender(colour, flags=pgl.BLEND_ADD):
+ return Mutator(blend_add, tuple(colour), flags)
+
+