import sys from math import * from pyglet.gl import * import random window = pyglet.window.Window() class Circle: def __init__(self,radius,r,g,b,x=0,y=0): self.r = r self.g = g self.b = b self.x = x self.y = y self.size = 1 verts = [0,0] for angle in range(0,370,10): x = radius * cos(radians(angle)) y = radius * sin(radians(angle)) verts = verts + [x,y] self.vlist = pyglet.graphics.vertex_list(len(verts)/2, ('v2f',verts)) def draw(self): glColor3f(self.r,self.g,self.b) glPushMatrix() glTranslatef(self.x, self.y ,0) glScalef(self.size, self.size, self.size) self.vlist.draw(GL_TRIANGLE_FAN) glPopMatrix() stuff = [] @window.event def on_draw(): global stuff glClear(GL_COLOR_BUFFER_BIT) for thing in stuff: thing.draw() r = 1 g = 0 b = 0 @window.event def on_mouse_drag(x,y,dx,dy,button,m): global stuff,r,g,b c = Circle(50,r,g,b,x,y) stuff.append(c) @window.event def on_key_press(key, mod): global r,g,b if key == pyglet.window.key.R: r,g,b = 1,0,0 elif key == pyglet.window.key.G: r,g,b = 0,1,0 elif key == pyglet.window.key.B: r,g,b = 0,0,1 pyglet.app.run()