Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- import gtk
- import cairo
- import math
- class draw:
- def __init__(self):
- self.gladefile = "c1.glade"
- self.builder = gtk.Builder()
- self.builder.add_from_file(self.gladefile)
- self.builder.connect_signals(self)
- self.window = self.builder.get_object("window1")
- self.window.resize(400, 400)
- self.window.set_title("Simple drawing")
- self.window.set_position(gtk.WIN_POS_CENTER)
- self.draw_container = self.builder.get_object('hbox1')
- darea = gtk.DrawingArea()
- darea.connect("expose-event", self.expose)
- #self.window.add(darea)
- self.draw_container.add(darea)
- self.window.show_all()
- def expose(self, widget, event):
- cr = widget.window.cairo_create()
- cr.set_line_width(1)
- cr.save()
- cr.set_line_width(3)
- cr.set_source_rgb(0, 0, 0)
- cr.set_dash([],0)
- cr.save()
- cr.set_line_width(1)
- cr.set_source_rgb(255, 0, 0)
- cr.set_dash([10,20,5,10])
- cr.save()
- cr.translate(0, event.area.height/2)
- cr.scale(event.area.width/10, event.area.height/10)
- cr.move_to(event.area.x,0)
- cr.line_to(10.125,0)
- cr.restore()
- cr.stroke()
- cr.translate(0, event.area.height/2)
- cr.scale(event.area.width/10, event.area.height/10)
- cr.rectangle(0,-2.5,1,5)
- cr.restore()
- cr.stroke()
- cr.translate(0, event.area.height/2)
- cr.scale(event.area.width/10, event.area.height/10)
- cr.arc(7, 0, 1, math.radians(0), math.radians(90))
- cr.line_to(5, 1)
- cr.arc_negative(5, 2, 1, math.radians(270), math.radians(180))
- cr.restore()
- cr.stroke()
- """
- def on_gtk_quit_activate(self, menuitem, data=None):
- print "quit from menu"
- gtk.main_quit()
- """
- def on_window1_destroy(self, object, data=None):
- gtk.main_quit()
- if __name__ == "__main__":
- main = draw()
- gtk.main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement