import pygame
from pygame.locals import *
import sys, os
from VideoCapture import *
if sys.platform == 'win32' or sys.platform == 'win64':
    os.environ['SDL_VIDEO_CENTERED'] = '1'
pygame.init()

Camera = Device()

Screen = Camera.getBuffer()[1:]
icon = pygame.Surface((1,1)); icon.set_alpha(0); pygame.display.set_icon(icon)
pygame.display.set_caption("Webcam Test - Ian Mallett - v.1.0.0 - 2009")
Surface = pygame.display.set_mode(Screen)

def GetInput():
    global mode
    key = pygame.key.get_pressed()
    for event in pygame.event.get():
        if event.type == QUIT or key[K_ESCAPE]:
            pygame.quit(); sys.exit()
        if event.type == KEYDOWN:
            if event.key == K_2:
                mode = 2
            elif event.key == K_1:
                mode = 1
mode = 1
def Draw():
    Surface.blit(image,(0,0))
    pygame.display.flip()
def main():
    global image
    while True:
        GetInput()
        if mode == 1:
            im = Camera.getImage()
            image = pygame.image.frombuffer(im.tostring(), im.size, im.mode)
        elif mode == 2:
            data = Camera.getBuffer()
            image = pygame.image.frombuffer(data[0],(data[1],data[2]),"RGB")
        Draw()
if __name__ == '__main__': main()
