import pygame, time, sys
from pygame.locals import *

pygame.init()
screen = pygame.display.set_mode ((256,96),0,32)
screen.fill ((255,255,255))
pygame.display.set_caption ('NeoPixel LED')

colorlist = (0,16,32,64,96,128,160,192,224,255)

class WS2812:
    def __init__(self,color,x,y,screen):
        self.c = color
        self.x = x
        self.y = y
        self.screen = screen
        self.draw()

    def draw(self):
        led = pygame.draw.rect (screen,self.c,(self.x,self.y,32,32))
        pygame.display.update ()

    def color(self,color):
        self.c = color
        self.draw ()

led = WS2812 ((0,0,0),104,32,screen)
time.sleep(1)

for r in colorlist:
    for g in colorlist:
        for b in colorlist:
            led.color ((r,g,b))
            time.sleep(.1)

            for event in pygame.event.get ():
                if event.type == QUIT or (event.type == KEYUP and event.key == K_ESCAPE):
                    pygame.quit ()
                    sys.exit ()
