def render(self,children=True): x,y,w,h = (self.x,self.y,self.w,self.h) h+=y w+=x tx = x+self.w/2-(self.size[0]/2) ty = h-self.size[1] #Render Panel glColor3f(1,1,1) glColor3fv(GLTHEME().dark) glBegin(GL_QUADS)#GL_LINE_LOOP) glVertex2f(x,y) glVertex2f(x,h) glVertex2f(w,h) glVertex2f(w,y) glEnd() #Render Header glColor3f(1,1,1) glColor3fv(GLTHEME().light) glBegin(GL_QUADS)#GL_LINE_LOOP) glVertex2f(x,ty+self.size[1]) glVertex2f(x,ty) glVertex2f(w,ty) glVertex2f(w,ty+self.size[1]) glEnd() #Render Text glText(self.text,(tx,ty),(1,1,1,1)) #Render GUI if children: for child in self.children: ox,oy = (child.x,child.y) child.x += self.x child.y += self.y child.render() child.x = ox child.y = oy