X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=tabakrolletjie%2Ftransforms.py;h=88f516169e02dfe46ff22523eb28a353ad421a75;hb=aeed77cd9edcf4a13c391a919a033862ff31cbdf;hp=c5eb05f64e7d85739910eb2f89e1e4f428095070;hpb=c30f1093315596a321a5abe26a9ecfd254d54c2a;p=tabakrolletjie.git diff --git a/tabakrolletjie/transforms.py b/tabakrolletjie/transforms.py index c5eb05f..88f5161 100644 --- a/tabakrolletjie/transforms.py +++ b/tabakrolletjie/transforms.py @@ -2,6 +2,8 @@ import pygame.surface +import pygame.locals as pgl + class Transform(object): @@ -49,3 +51,26 @@ class Overlay(Transform): over.fill(self.colour) surface.blit(over, (0, 0), None) return surface + + +class Multiply(Transform): + """ Apply a colour by multiplying. """ + + ARGS = ["colour"] + + def apply(self, surface): + mult = pygame.surface.Surface(surface.get_size()) + mult = mult.convert_alpha() + mult.fill(self.colour) + surface.blit(mult, (0, 0), None, pgl.BLEND_RGBA_MULT) + return surface + + +class Alpha(Transform): + """ Make translucent. """ + + ARGS = ["alpha"] + + def apply(self, surface): + surface.fill((255, 255, 255, self.alpha), None, pgl.BLEND_RGBA_MULT) + return surface