rendered paste bodylass Widget2(Widget):
def __init__(self,parent, x, y, w=0, h=0):
Widget.__init__(self)
parent.children.append(self)
self.x, self.y = x, y
self.width, self.height = w, h
self.make_image()
def make_image(self):
s = cairo.Surface(self.width, self.height)
cairo.set_line_width(s, 3.0)
cairo.set_line_join(s, cairo.LINE_JOIN_ROUND)
cairo.set_source_rgb(s, 1.0, 0.0, 0.0)
cairo.move_to(s, 3.0, 3.0)
cairo.rel_line_to(s, self.width - 6.0, 0)
cairo.rel_line_to(s, 0, self.height - 6.0)
cairo.rel_line_to(s, -self.width + 6.0, 0)
cairo.rel_line_to(s, 0, - self.height + 6.0)
cairo.stroke(s)
img = s.to_image()
image_utils.save(img, 'output/but.png')
texture = Texture(img)
self.material = SimpleTextureMaterial(texture)
def render(self, renderer):
self.material.activate(renderer)
glEnable(GL_BLEND)
glCheckError()
glBegin(GL_QUADS)
glTexCoord2f(0.0, 0.0)
glVertex2i(self.x, self.y)
glTexCoord2f(0.0, 1.0)
glVertex2i(self.x, self.y + self.height)
glTexCoord2f(1.0, 1.0)
glVertex2i(self.x + self.width, self.y + self.height)
glTexCoord2f(1.0, 0.0)
glVertex2i(self.x + self.width, self.y)
glEnd()
glDisable(GL_BLEND)