import pygame
from pygame.locals import *

#-----------------------------------------------------------------------

def alpha_corners(img):
  dest_r = img.get_rect()
  corner = pygame.image.load("alpha_corner.png")
  r = corner.get_rect()
  img.blit(corner, r, None, BLEND_RGBA_MULT)
  corner = pygame.transform.rotate(corner, 90)
  r.bottomleft = dest_r.bottomleft
  img.blit(corner, r, None, BLEND_RGBA_MULT)
  corner = pygame.transform.rotate(corner, 90)
  r.bottomright = dest_r.bottomright
  img.blit(corner, r, None, BLEND_RGBA_MULT)
  corner = pygame.transform.rotate(corner, 90)
  r.topright = dest_r.topright
  img.blit(corner, r, None, BLEND_RGBA_MULT)

#-----------------------------------------------------------------------

class AlphaTest(object):

  def __init__(self):
    pygame.init()
    self.screen = pygame.display.set_mode([640,480])
    self.screen_rect = self.screen.get_rect()
    pygame.display.set_caption('AlphaTest')
    self.clock = pygame.time.Clock()
    self.group = pygame.sprite.Group()
    img = pygame.image.load("kitten.jpg").convert_alpha()
    alpha_corners(img)
    r = img.get_rect()
    r.center = self.screen_rect.center
    spr = pygame.sprite.Sprite()
    spr.image = img
    spr.rect = r
    self.group.add(spr)

  def play(self):
    self.playing = True
    while self.playing:
      self.clock.tick(50)
      self.input()
      self.draw()

  def input(self):
    for event in pygame.event.get():
      if event.type == QUIT:
        self.playing = False
      elif event.type == KEYUP:
        self.playing = False

  def draw(self):
    self.screen.fill([255,255,255])
    self.group.draw(self.screen)
    pygame.display.update()

#-----------------------------------------------------------------------

if __name__ == "__main__":
  game = AlphaTest()
  game.play()

